User Profiles and User Information List Synchronization

 

    Lately I have been getting a lot of questions about where user data is stored and how it is synchronized within SharePoint 2007. This inspired me to write this blog post about User Profiles and the User Information List or UserInfo table. I will also do a future post on what happens when a user profile is deleted from MOSS 2007.

     

    User Profiles

    The user profile store in MOSS 2007 contains information about users. User profiles can be created by importing users from a user account directory, or they can be created manually. In most environments Active Directory will be used as the source for creating user profiles. In the MOSS 2007 Shared Service Provider an LDAP import query can be configured that will create user profiles for accounts that are returned from Active Directory by the LDAP query. The user profile imports can be scheduled to  run on a regular basis and they can be either  incremental or full.

    Once a user profile is created additional information about the user can be added to the user profile properties by the user itself, an administrator, a Business Data Catalog data source or an LDAP directory.

    By default data from user profiles is shown in the People Search results, on the My Site and in the User Information list of MOSS and WSS sites.

     

    User Information List

    All MOSS 2007 and WSS 3.0 sites have a user information list. The information in the user information list is stored in the UserInfo table in the content database of the site. A user gets added to the user information list  when he or she has accesses the site for the first time. In the user information list a user's email address, login name and name are stored. MOSS will make sure that user profile property information for those fields for users that are added to the user information list is sent to the user

    information list.  The image below shows an overview of the user profile architecture in MOSS 2007.

     

     User Profile Architecture

     

    Synchronizing user profile data to the user information list

    Keeping the information in the user information lists up to data is a task that is handled by the Profile Synchronization and the Quick Profile Synchronization timer jobs. By default the first job runs once every hour, the second one runs every couple of minutes and is incremental. The first time user data is replicated from the user profile to the user information list of a site a full update is needed. So the Profile Synchronization job needs to run in order to get the data replicated to the site and this may take up to an hour. If information about a user is already stored in the user information list and the information changes in the user profile it will be synchronized with the data in the site collection by the  Quick Profile Synchronization job.

     

    Profile Sync Jobs

     

    You can also kick off the profile synchronization jobs by running the stsadm sync command.

     

     stsadm -o sync

     

    If you believe that information is not synced between the user profiles and the user information lists in one or more sites you can request a list of content databases that have not been synchronized for x number of days by using the following stsadm sync command.

     

    stsadm -o sync -listolddatabases <x number of days>

     

    If one or more content databases show up in this list you can clean up the sync list so they can be added to the list again.

     

    stsadm -o sync -deleteolddatabases <x number of days>

     

    You can also use the sync command to change the schedule for the synchronization job.

    For more information on the stsadm sync command have a look here http://technet.microsoft.com/en-us/library/cc263196.aspx.

Print | posted @ Wednesday, June 17, 2009 9:44 AM

Comments on this entry:

Gravatar # re: User Profiles and User Information List Synchronization
by Peter at 6/17/2009 11:36 AM

Hi,
Nice post. Maybe it's good to also tell about the differences between the 2 user profiles (the WSS Profile and Moss Profile) and the way you can access them from User -> my settings page and Moss through the People Search or Mysite. In my experience a lot of customers get confused between the differences and why they are not the same and can vary with different information... Always difficult to explain is my experience :-)
  
Gravatar # re: User Profiles and User Information List Synchronization
by Mirjam at 6/17/2009 1:20 PM

Hi Peter,

The WSS Profile which you refer to is actually the information from the User Information List displayed in an application page (_layouts/userdisp.aspx). It shows you the information that is stored for you in the user information list on the site where you are at the moment you click the My Settings link.
  
Gravatar # re: User Profiles and User Information List Synchronization
by moffitar at 6/17/2009 2:48 PM

Thanks for this, Mirjam. I get asked about this a lot, so it's nice to have a plain-English explanation. Cool graphic, too!
  
Gravatar # re: User Profiles and User Information List Synchronization
by Kaj Bonfils at 6/17/2009 8:46 PM

Hi. I have been working with this during the last week and I have made a discovery that I haven't been able to read find anywhere or google. In our setup we had set the content databases to Offline to prevent having more sitecollections in them. But when a site content db is offline, it will not have the userinfo synchronized.

- Kaj Bonfils / eqa
  
Gravatar # re: User Profiles and User Information List Synchronization
by Mirjam at 6/17/2009 9:12 PM

Hi Kaj,

You are right. If you take a content database offline you are basically pausing it. So SharePoint can't use the content database when it's offline. This doesn't only mean that no new sites can be created in that content database, it also means that SharePoint can't use the database for synchronizing user data.

Regards,
Mirjam
  
Gravatar # re: User Profiles and User Information List Synchronization
by Mirjam at 6/29/2009 8:47 AM

Hi Bart,

The _catalog/users list is displaying the user information list. The people.aspx page is used for setting permissions, this page always has an appendix behind the aspx? (like membership=5) and as far as I know never displays the complete user information list. However I do think that the information displayed there is obtained from the user information list.

Cheers,
Mirjam
  
Gravatar # re: User Profiles and User Information List Synchronization
by Tobiasz at 6/30/2009 7:13 AM

Hi Mirjam,

Thak's for this fantastic post. In my opinion it's very helpfull for our "Worldwide SharePoint Community". Some times somebedy (as me) have problems with synchronisation mosss platforms users and for example AD and managers want synchronization. Especialy (in my cases) with temporary workers stored in AD. Thank's again.

PS. Beautiful name
  
Gravatar # re: User Profiles and User Information List Synchronization
by Mehul P at 10/9/2009 5:05 PM

I do import userprofiles from an AD using an LDAP connection.
I added LDAP connection and Memebership providers to all required config files (Extranet, Central Admin, SSP). When I login into my site using windows authentication and go to Mysettings, I could see the all the atrributes values (say Department = IT, phone = 1234567890). Now when I login into my application using FBA, go to Mysetting .. could not see the attribute values (Department,Phone..) I could just see username and Account... Also when I go to SSP--> View user Profile --> I see the imported data there ... I tried doing sync etc etc
I appreciate if someone can help me here...
  
Gravatar # re: User Profiles and User Information List Synchronization
by mirjam at 10/12/2009 3:57 PM

Hi Mehul P,

A user profile is connected to a user account. Since your forms based account is a different account than your AD account (even if the username is the same!) that account will have it's own user profile.
So...if you have an AD account and a forms based account you have 2 user profiles.

Hope this helps.

Mirjam
  
Gravatar # re: User Profiles and User Information List Synchronization
by Shekhar at 1/11/2010 12:31 PM

HI,

This is really very nice post.

I have one problem. In my case title in User Information List is mapped to User Emp ID in User Profile. I want to change that mapping so that Title should map to Job Title in User Profile. Is it possible to do like this? Can you please help?
  
Gravatar # re: User Profiles and User Information List Synchronization
by Joseph Darazi at 3/5/2010 10:58 PM

Hello,
I am trying to map a user pofile property to a user information site.
How can i do that.Thx for replying.
  
Gravatar # re: User Profiles and User Information List Synchronization
by mirjam at 3/31/2010 10:54 PM

Hi Joseph,

If you want a user profile property to show up in the user information lists of site collection you can enable replication for this property in the user profile property management page in the Shared Service Provider.

Mirjam
  
Gravatar # re: User Profiles and User Information List Synchronization
by mirjam at 3/31/2010 10:57 PM

Hi Shekhar,

The behaviour you're describing is probably caused by a property mapping. If you go into the Search Administration from the Shared Service Provider site you can select Managed Properties. Look for the Title property and see what Crawled properties are mapped to it. You will probably find the Emp ID property in here. Remove this. Add the Job Title property to the mappings. That should fix your problem.

Hope this helps.

Mirjam
  
Gravatar # re: User Profiles and User Information List Synchronization
by saumil at 4/14/2010 12:14 PM

hi
with stsadm command is it possible to migrate 'user database' from FBA in WSS to Active Directory in MOSS??
Do you have any article which lists the things i have to take care of or issues which I may face.

and are there any free tool available to migrate the user database from wss to moss?

thx
saumil
india
  
Gravatar # re: User Profiles and User Information List Synchronization
by mirjam at 4/15/2010 2:04 PM

Hi Saumil,

There is no simple solution or STSADM command to migrate users from FBA to Active Directory. The best way to do this is probably be starting with an export of users from FBA to, for instance, an XML document. Next you can use PowerShell to create all FBA users in AD. You could use the Quest PowerShell AD tools to help you with that.
If your FBA web application isn't already extended to a web application that uses Windows Authentication you will have to extend it to do so.
After that you will have to recreate the permissions the FBA users had for the AD users. There is no quick or easy way to do this. I'm afraid you will have to write a custom script to do this.

The upgrade from WSS to MOSS has nothing to do with this. You can do that separately. I would strongly advice to do one step at a time. And not upgrade the environment and migrate the users at the same time.

Hope this helps.
  
Gravatar # re: User Profiles and User Information List Synchronization
by shuyi at 6/16/2010 5:09 AM

Hi,

It's a great explanation. However, I still couldn't resolve my problem although I had tried out what you had described to run command stsadm -o sync to sync user profiles from AD to MOSS. I couldn't search the user profiles which existed in my SSP from my site when I tried to add the user into my Peoples & Groups. Do you have any idea how to resolve it?

Thanks & regards,
shuyi
  

Your comment:

Title:
Name:
Email:
Website:
 
Italic Underline Blockquote Hyperlink
 
 
Please add 7 and 2 and type the answer here: