1

Our organization maintains Sharepoint lists of our people. Person names come from Person columns. Our Person columns validate against Active Directory (AD).

The trouble is that as a matter of security we are obligated (and I believe Microsoft recommends) to delete AD accounts when an individual leaves. As a result the Person column is ultimately nulled out leaving us with records with no displayable person name. We indefinitely maintain our person records in our lists (even after people leave us) since other records point to these records. It's the standard philosophy of not deleting records on which others depend.

When you bear in mind the recommendation that organizations should be purging their old AD accounts, Person columns seem problematic and impractical. If you use them for displaying names you'll eventually have to deal with lists of people some of which have lost their names. And having to add a separate text-based name column in addition to a Person column seems counter-intuitive.

Should I be adding text-based name columns and not using Person columns? Has someone found a more elegant way to address this?

migrated from stackoverflow.com Jun 24 '14 at 1:21

This question came from our site for professional and enthusiast programmers.

3

It sounds like you may have been misled on how the user objects work in SharePoint. Through a variety of methods (explicitly giving a user permissions to any object, selecting then in any People Picker, them browsing to any portion of a Site Collection) a user record is added to the User Information List (UIL) for whatever Site Collection the event happened in. Each Site Collection in a SharePoint web application has its own UIL, which is different than the User Profile Service (if you have that available & enabled).

The key with the UIL - by design - is that users are not automatically deleted from the UIL when their corresponding AD account is disabled or deleted (side note - your IMS for SharePoint doesn't need to be AD; especially with the advent of Claims Auth in SP2010, it can be any number of IMS solutions). The reason for this is the exact shortcoming it would cause; deleting a user from the system that users are authenticated against would cause issues with existing data elements - imagine the issues it would cause if suddenly the Created By or Last Modified By of SharePoint items were blanked out because the underlying user was deleted from the underlying authentication provider.

In short, you can safely disable or delete users from AD and don't need to worry about losing any data value in SharePoint that corresponded to that user - because SharePoint tracks & maintains it's own record of who the user was.

References:

  • Whether or not the UIL continues keep a person who was deleted from AD, the people picker will not validate that person. As a result one cannot maintain a list record whose people picker points to a deleted AD user. This renders the people picker useless. – Mario Jun 17 '14 at 19:40
  • 1
    Appears to just be a mis-comm on your reqs - my answer addressed the fact that users are not automatically removed from the UIL and existing data elements that name that user are not automatically affected/lost. In your new question though, you describe a specific use case of editing a Person field that has a deleted user named within. As a different, more specific question, the answer you received there is both correct & expectedly different than this one. – Stevangelista Jun 17 '14 at 20:14
  • I'll accept fault. Sorry for the miscommunication. I've learned enough in researching the issue to better formulate the question. – Mario Jun 17 '14 at 20:27
  • 1
    No fault at all @Mario - yours here was still a good question. I'm just making sure fly-by users don't assume the info I posted was incorrect; it's accurate, just not exactly what you needed. – Stevangelista Jun 17 '14 at 20:29

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.