Andrew Connell [MVP MOSS]
1543 Posts |  42 Articles |  4748 Comments
.NET  |  MCMS  |  SharePoint  |  Office System
SharePoint Quick Links
Article Categories
Archives
Post Categories


Add to Technorati Favorites

SharePoint, OOTB, provides some very nice Active Directory integration in terms of acquiring a user’s login, display name (usually “Last, First”), and email address.  While this is all fine and good in a very standard environment, some organisations just don’t have the ideal setup for SharePoint’s integration.  What if your user information isn’t all in AD?  What if it’s in a 3rd party LDAP solution… or something like PeopleSoft or other HR tools?  Well, then you have an issue.

This issue recently came up and caused me to do some investigation.  What I found wasn’t documented in the sources I checked, so I’m posting it (1) for my own reference in the future and (2) as a service to those who may come across the same missing knowledge.

WSS sites (including those within the sites collection of a portal) have something called a User Information list that keeps a limited amount of info about it’s users (login name, email, display name).  When a user is granted access to a site, their info is put in a User Information list.  When a user creates/edits an item in a list SharePoint creates a link to the user’s record in the User Information list so when the user is shown in “Created By” and “Modified By” indicators, the Display Name from the User Information list is shown

SharePoint Portal Server has something called a Profile Database.  When you first visit a portal, SPS checks to see if it has a profile for you and if not, it creates one on the fly with your info from AD.  You can also configure SPS to automatically populate the Profile Database with a full import, an incremental update, and optionally set it to pull objects with a custom LDAP query.  Some downsides to the incremental approach is that objects no longer in AD are not removed from the Profile Database.  Profile information is displayed on a user’s My Site and all alerts within the portal use the email address stored in the profile.  But what about the “Created By” and “Modified By” indicators in lists?  Let me digress for a second…

SharePoint Portal Server requires Windows SharePoint Services.  Why?  Because SPS is based off WSS.  So much so, that the root of a portal is effectively the root of a special WSS site collection.  Each area & subarea within the portal is another WSS site (makes sense why you can inherit the parent’s or have unique permissions in areas just like WSS site collections).  In addition, the entire portal also has it’s own User Information list.  “But the email is being pulled from the portal’s profile database… why does it need a User Information list?”  For the “Created By” and “Modified By” indicators!  When you edit an item, it’s pulled from the User Information list.

What does this mean?  Let’s take the case of Jane Smith (jane.smith@foo.com).  When she’s granted access to a WSS site, she has a record created with that info in the site’s User Information list.  When she hits a portal for the first time, a record is created in the portal’s profile database and portal’s User Information list.  Now, let’s say she changes her name after marrying John Doe… we now have Jane Doe (jane.doe@foo.com).

In the WSS site, all you’d have to do is go update her info in the User Information list and all “Created By” & “Modified By” indicators will be updated, and all alerts will be sent to the new email.

In a SPS portal, you update her info in the profile database.  However, this only updates her alerts and her information on her My Site.  You’d ALSO have to go into the portal’s User Information list and update her Display Name to update the indicators.

Don’t forget, as I mentioned above, the sites in the sites directory within a portal are not related to the portal in this context… they are treated as atomic site collections with their own User Information lists.

Now, why the profile database changes don’t propagate down to the portal’s User Information list I don’t know… I think it should, but it doesn’t, so it’s just something we have to address.

posted on Thursday, August 18, 2005 3:38 PM

Feedback

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 9/14/2006 8:43 AM ShareSide
Gravatar I realised the same problem at work and had to write a separate synchronisation tool to update the User info list with the User Profile info. I also had to reiterate through and update all the WSS sites hosted by the portal.

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 10/18/2006 9:01 AM JB
Gravatar Interresting. I have also come across the following issue with the Profile database. It does not automatically update the profile information from the AD if the user has manually typed in new information. We had our users able to update certain fields in the profile database for personal information. We started populating this in the AD and decided that we would pull this from the AD into the profile. Since the user had entered the data in the profile database, it would not update the imported data from the AD. So John could say that his job title was CEO, when he really was a sales mgr.

If you have any ways around this or know where to look, I would like to know.

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 10/18/2006 11:42 PM AC [MVP MCMS]
Gravatar JB - Unfortunately I never saw away around this. We were building something to manage the import for us, but it was never finished... :(

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 11/13/2006 4:43 AM alpesh
Gravatar hello,

Can u tell about all the default inbuilt tables that are included in the default database of sharepoint portal ?

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 11/13/2006 3:41 PM AC [MVP MCMS]
Gravatar Alpesh - Suffice to say, stay out of the SharePoint database. :)

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 1/12/2007 7:36 AM Martin Hatch
Gravatar Got a better one than that ...

If you have a User Group added to "Manage Users" in SPS 2003, and you want to add a user to a list as a "User Information" lookup BEFORE the user has logged in ...

You can do it from code (C# Sharepoint Object Model) by accessing the SPSite.OpenWeb("").AllUsers["login name"] object.

Weird thing is .. after this the user will appear in the list. But they STILL won't be in the "User Information List" .. so if you try to edit the list item through the interface the drop-down list for that field will show "None" .. and you can't select that user either!

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 4/17/2007 1:13 PM TDC
Gravatar This seems to be fixed in MOSS 2007, though I have not figured out the schedule.

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 6/5/2007 4:30 PM s.alakhras
Gravatar Could any one tell me how can i enable the manager field to be showin in the user information list? please i need some help...

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 7/16/2007 8:52 AM RJ
Gravatar Can anyone tell me if it is possible to import a list of "Display Names" from Excel into a SharePoint list, and then convert these "Display Names" to "User Information" objects?

In other words, I have on Excel:
Smith, John
Jones, Jill

If I import this into a SP list, I get a text-only column with the Display Names.
Can I then add a column to my list (lookup, User Information) and have this new column automatically populated with the User Information for John Smith and Jill Jones (both are SP users)?
Thanks.


# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 7/18/2007 10:56 AM RJS
Gravatar Hello,
Does anyone know if it is possible to join two lists in SharePoint, just as one can join two tables in a database.

I have Emp list with columns: Employee, Supervisor

I have a project list with columns: ProjectName, Employee.

I have populated the Emp list with the names of employees and supervisors.
I have populated the Project list with various projects and the employees assigned to the projects (one row for each project/employee pair).

Question:
If I add a Supervisor column to the Project table, can I automatically populate it from Emp.Supervisor by creating the equivalent of a JOIN OPERATION?

Thanks,
RJ

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 7/18/2007 3:08 PM AC [MVP MOSS]
Gravatar RJ
This functionality is not included in WSS v3. I have been able to achieve it though using one or a combination of the following: custom field controls, event receivers, lookup fields.

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 7/18/2007 4:21 PM RJ
Gravatar AC,
I have experimented using lookup fields, but all I get is a drop down list that gives me the choice to MANUALLY select Supervisor.
I have quite long lists and would like to let this happen automatically. Can this be done using lookup fields?

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 7/19/2007 6:35 AM AC [MVP MOSS]
Gravatar RJ-
Nope... sorry this isn't possible via lookup fields. You'll need to look into a custom field control or event receiver.

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 7/19/2007 9:00 AM RJ
Gravatar AC, Thanks for the reply. I am reading up on Custom Field Controls and Content Query Web Part.

One last question: My sysadmin is not very helpful... do you know where I can download a Content Query Web Part from?


# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 7/19/2007 11:47 PM AC [MVP MOSS]
Gravatar RJ-
The CQWP is included with the MOSS install and is available to sites using the Publishing feautres only. It is not available for download.

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 1/30/2008 10:39 AM Irina Alexandris
Gravatar I'm looking to migrate to a MOSS 2007 implementation. It's hard to copy my list data over when the "assigned to" and other user reference fields don't have all the users populated because nobody's logged into the new site yet...

Are you familiar with a process to proactively populate a site collection's userinfo table with all the existing users from a WSS v2 installation? Of key importance is keeping the userid refernces consistent so the imported list data still matches the proper users properly


# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 3/13/2008 2:36 AM Prem kumar
Gravatar I am using site user webpart in Moss for displaying Users in a particular group. When we add the users in user group, we know its pulled from Active directory. If we delete any user from Active directory, its still showing the user in the Site User web part. how to remove that particular User automatically when we delete from Active Directory.

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 3/13/2008 9:39 PM AC [MVP MOSS]
Gravatar Prem-
The user's info is cached in a local list in each site, the User Info list. That Web Part is pulling from that list. The person's details are left there because if it was removed, any information referring ot that person in that site would not point to an individual that could be tracked.

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 3/24/2008 10:44 AM Yuros
Gravatar Could someone please tell me how to add a new parameter to the user information screen in SP?
For example, clicking a user name in share point brings up the User Information screen with the following default properties:
Name
E-Mail
About Me
Picture
Department
Job Title
SIP Address

How do I go about adding new fields such as Phone Number, Extention, Emergency Contact, etc?

I've spent a couple of days trying to figure this out and would greatly appreciate any help.
Thanks.

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 3/26/2008 1:06 PM Clint Holliday
Gravatar You can add and delete columns in the User Information List only if you are a Site Collection Administrator. The list settings function will not appear if you are not a Site Collection Administrator.

# Create Custom aspx to edit user profile 5/8/2008 3:38 AM Muneyi
Gravatar I would like to create a custom aspx that uses elevation to allow end users to maintain their own user profile . My client does not want to activate my sites , becuase only one group wants to make these edits . How does one go about creating this.

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 5/8/2008 8:40 AM MBJ
Gravatar Can i get custom columns from the SPUser object? If not how can i get my customs columns the best way?

# How to access SPS 2003 Area "User Information list"? 5/20/2008 3:27 PM whall
Gravatar This article clears up some things for me, but I'm still trying to figure out how to access the User Information List for a specific AREA.

I can get to a site's UIL by going to the Site Settings and manage users. I know this gets populated with people either manually by me adding them, or automatically by the user accessing them. Yes, I find it annoying that this UIL is different and separate from the SPS Profile. We're moving to MOSS 2007 soon and hope to have some, if not total, relief.

We have a number of departed employees, and when you create a list that has a "lookup" column for users in the site, the dropdown list still contains those employees. Also, there are some users that are listed multiple times. I want to clean them up but can't find how to get to the AREA UIL.

Suggestions?

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 6/24/2008 5:36 PM brad overton
Gravatar Which table is responsible for the display name on workflow tasks? I have a workflow that the assigned to is blank for someone who has never visited the site. What can I do to populate? And is it never visited the Site or the Root Site Collection?

Thanks,
Brad

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 6/28/2008 9:43 AM AC [MVP MOSS]
Gravatar Brad-
No comment... you should NEVER be going into the SharePiont DB. All this data resides in the User Info list in each SharePoint site.

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 7/29/2008 12:35 PM maddy
Gravatar I am facinng the foll prob..
i need to update the user profile property using custom coding .
Its giving me an error that it is editable only by the admin. Thogh the entire code is under RunWithElevatedPermissions. Have been wracking my brains on it but havent found anything ....

# re: Interesting nuances about SharePoint's (SPS-WSS) User Information list & (SPS) Profile Database 7/29/2008 2:38 PM Gavin McGibbon
Gravatar I've done some research into joining two sharepoint lists and actually found some hidden properties. These are

List={Name of SP List to join}
JoinColName={Name of column in 2nd list to join on}
JoinType={INNER|OUTER}
FieldRef={Field in current list to join on (primary key)}

Of course you'd have to add the field definition to the SCHEMA.XML file and you'd need admin priveleges to access the file system.

Thanks,
Gavin

Comments have been closed on this topic.

Copyright © 2003 - 2010 Andrew Connell
Creative Commons License 
This work is licensed under a Creative Commons License
Site design by Heather Solomon.

 
 
MOSS WCM Training
Looking for MOSS 2007 WCM developer training? Look no further! I teach my 5-day hands-on and online WCM classes for developers I offer through my company: Critical Path Training.

Get more information on the WCM courses!