I recently had a couple of questions around the (oob) profile picture property and thought it would be good to share a couple of things I discovered with it. As you may already know, a User Profile Service Application contains a manage user properties page in which you can map properties to/from Active Directory or other external directory server.
I’ll use Active Directory since it will be the most common type of server used. What is the benefit of storing pictures in Active Directory? Well, the new Outlook social connector will pull from what is stored in the thumbnailPhoto attribute so a picture of a sender is visible in email. SharePoint 2010 will sync users pictures directly to the thumbnailPhoto attribute.
The flow looks like this:
1.) User, Jon, logs into their SharePoint 2010 profile page and uploads a picture
2.) SharePoint administrator creates a mapping within the picture property which exports photo to AD
· Where exactly? Central Administrator\Manage Service Applications\User Profile Service Application\Manage User Properties page
3.) SharePoint administrator kicks off an incremental sync
4.) Jon launches Outlook and sends an email to Colin
5.) Colin opens Jon’s email and Jon’s picture is present
I already store pictures in Active Directory via the thumbnailphoto attribute. I would rather set my mapping to import and sync pictures from AD to SharePoint.
The direction must be set to Export when syncing against the thumbnailphoto attribute. It’s possible to set a mapping as import but this particular mapping will not work against this attribute.
From the following:
“In order to synchronize user profile pictures between Microsoft SharePoint Server, AD DS, and Outlook 2010 by using the Microsoft Outlook Social Connector, you must set the Data Source Connection for the Picture property mapping to Export. “
Why is import available has an option when creating a mapping of the picture property?
I believe the import direction has some benefit. I haven’t tested this but the rule of thumb is the attributes you map to should be the same type. With that said, the picture property is of type URL so I “think” you should be able to create an import mapping as long as the attribute is of type URL. I don’t see any benefit doing it this way if your syncing against Active Directory. I believe this approach will probably be more adopted when your directory server is 3rd party. If anyone has it working this way, please post comment to this blog because I’m curious how it worked for you..