Module Installation and Access Permissions
This step follows Michelle’s writeup very closely.
- Download, install (and enable) all of the above modules. I recommend installing them in sites/all/modules. If you do not have the modules/ directory inside sites/all path, create one. This is the recommended path for drupal module installation starting the 5.x version. Larger modules like CCK are actually broken out into various smaller modules and grouped together. Make sure to expand the group, if not expanded and enable the individual modules.
- Configure the user module permissions and give “access user profiles” permissions to your target audience (anonymous/authenticated user/other roles if you have them configured)
- Go to Administer->Content Types-> Usernode. Set the usernodes to not be promoted to front page. Optionally, if you do not want people leaving comments on your profile pages, adjust the default comment settings as well. We have completely disabled it for our environment.
Tip:
If you have a javascript editor enabled (like fckeditor), then turn it off while going through the steps of this article as it will interfere with several of these steps and its encoding.
Create a new content type ‘uprofile’
This step too, is almost identical to Michelle’s writeup.
- Go to Administer -> Content Management -> Content Types -> [Add Content Type] (?q=admin/content/types/add)
- Expand “Automatic title generation”. Check the box and put in [author-name]. [DIY: You can choose another token or add text if you prefer a different title for profiles.]
- Name: User Profile
- Type: uprofile
- Description: Whatever you want
- Title field label: Leave as title as the user won’t see it (unless you’ve elected to not use auto nodetitles)
- Body field label: We do not want a text area called body for this content type, so delete the default value and make the value empty. That will delete it.
- Default options: Uncheck promoted to front page
- Maximum population: 1
- Check “Use this content type as a nodeprofile for users”
- Comments / attachments / pms: Disable all of these
- Save content type
You now have a content type called “User Profile” of type “uprofile”. Each user will be able to create exactly 1 node of this type. The next step is to add the various fields to this node type that form the user’s profile. You can either manually create the fields and the groups/fieldsets or start by importing a sample profile as I have it set up and edit as you go.
In order to import the profile fields, first download the sample profile fields exported to a text file. Then go to Administer -> Content Management -> Content Types -> Import. Select User Profile from the pull down menu and paste all of the text from the downloaded file. Make sure to turn off any javascript WYSIWYG editors such as Fckeditor prior to pasting the text file into the Import data textarea. Hit Submit to import the fields into the content type.
Weights and Displays
Finalizing the setup of our new content type includes fixing the display of the fields that constitute the user profile content type. Unfortunately, the import functionality does not preserve the relative weights and the display settings, forcing us to thus do this manually.
- Edit the content type “User Profile”
- Click on “Manage Fields”
- In this page, you can setup the relative weights of the groups. Unless you have multiple fields in a single group, the weight of the individual field in a group does not really matter and can be left alone. Also note that the account_url field does not belong in any group. It will also be hidden from the display (its usefulness is explained later on). In the profile as I have setup, the group weights are assigned as follows:
- About Me – 0
- Education – 1
- Research Experience – 2
- Research Interests – 3
- Research Publications – 4
- Click “Update”
- Click on “Display Fields”
- Set the Label of all Fields to “<Hidden>“, Teaser and Full to “Default“, with the exception of the field “account_url”. Set its Teaser and Full values to “<Hidden>“
- Set the Label of all Group items to Above
- Set the Teaser and Full of the first group to fieldset – collapsible
- Set the Teaser of all the other groups to fieldset – collapsed and Full to fieldset – collapsible
- Click Submit to save the modifications.
Node Profile Options
- Click on “Node Profile”
- Uncheck (if checked) “Integrate this node profile with user categories.”
- Check “Show this node profile during user registration.”
- User page display style: Display it as full node view
- Uncheck “Include an edit link to the display”
- Weight: 10 (this makes it come under username/email on the registration page but is unneeded otherwise)
- Click Submit to save your modifications
Permissions
- Set the permissions of “Create uprofile content” and “edit own uprofile content” according to your site requirements.












Great tutorial! Thanks for sharing. I was able to successfully duplicate your implementation for my needs with a few exceptions:
1) when creating the AD block view, I do not have an option to add the user ID field from the users as shown in your view. I do have, however, a user ID field from the usernode table.
2) I cannot seem to get the block to display as yours does, which might be due to the above.
Would you happen to know how I can fix these two issues?
Thanks again!!
Oh … and … where does the account_url come into play? I just noticed that if I try to edit a profile of a user when logged in as admin, it saves the node as admin profile (I assume because of the authoring info).
Nikkol
The account_url is used to provide links in the Searchable list of user profiles (Employee Directory).
Nikkol
Regarding your question about the AD block view, can you specify which step you are having this problem ? Did you try to import the code for the AD Block ?
[...] read more | digg story [...]
Thanks for the tutorial. I’m a little confused – is the data in active directory supposed to show up in the Employee Directory view automatically, or would each user have to create a uprofile first? I’m trying to display a phone book populated by AD info. Any advice appreciated. Thanks!
The AD data should show up as soon as the profile page is created. It pulls it automatically from Active Directory.
[...] Drupal Profiles with Active Directory Integration · Rajeev Karamchedu [...]
Can this be updated for Drupal 6?
Unfortunately, no. I do not have access to Drupal (nor Active Directory, for that matter).