Pictures, Pictures Everywhere

As I’ve been demo’ing SharePoint 2010, Outlook 2010, and Exchange 2010 a few recurring questions have come up related to pictures and the new social aspects of Outlook and SharePoint.

The first is how do the pictures in SharePoint and Outlooktie together?

The second is where are these pictures stored?

And the third is how do we reconcile the typical high-res digital images users might add to their My Site with the pictures thumbnails you see in Outlook?

I just got a few of these same questions again when I spoke at the 2010 launch event in Detroit a few weeks ago so I decided to take some time to dig in and understand how things are working from the backend. This post focuses on describing how this works together at a high-level and in turn answering the questions above.

Backend Architecture

The first is to understand what is really happening on the backend. What products are involved? And how do they talk to each other? To boil it down, there are really three server products involved in enabling pictures across e-mail, unified communications/IM/presence, and SharePoint. The three products are:

  1. Active Directory (Windows Server)
  2. Exchange
  3. SharePoint Server 2010

Let’s break these out into two groups. First let’s look at AD and Exchange. Exchange and OCS fully rely on AD as the data source, so that’s the first place to look. In AD, there is a property called Picture (ldapDisplayName is thumbnailPhoto). This is used by Exchange 2010 (and from a client side Outlook 2010) to show pictures to users. This attribute is limited to 10K, or about a 96x96 photo. If a user has this attribute populated, then the picture will show up in Outlook 2010.

Here is a great post by the Exchange team that goes into more details with pictures. Incredibly helpful: https://msexchangeteam.com/archive/2010/03/10/454223.aspx

There are several options for populating the attribute. The post above has one option with PowerShell. Here’s another great post with a similar approach: https://blogs.technet.com/b/ilvancri/archive/2009/11/17/upload-picture-in-outlook-2010-using-the-exchange-management-shell-exchange-2010.aspx   There are tools for sale, such as this AD Photos (I haven’t used this, just for the record). The best option to use depends on the organization and the set of technologies they have in place (keep reading).

OK, what about SharePoint 2010? Well, photos aren’t a new thing with SharePoint 2010. It’s been a part of My Sites since 2003. The common scenario with SharePoint is that a user updates his profile and uploads a new photo. This could be high-res picture from a digital camera. SharePoint 2010 will actually take the uploaded photo and resize into three different sizes: 144x144, 96x96, and 32x32. Here is a great post on this process.

https://www.learninggateway.net/blogs/ajp/archive/2010/03/25/sharepoint-2010-where-do-my-user-profile-photos-go.aspx

So when I uploaded a photo of myself in my test environment (50 KB) SharePoint created three separate images – 4K, 3K, and 1K in size.

image

View of the user photos picture library, with picture size and file size:

clip_image002

OK, so now that we understand how it works in AD/Exchange/Outlook and SharePoint, how do we tie these together? Obviously organizations could have Exchange/AD/Outlook without SharePoint and vice versa. And this works just fine. But if you have both, then you are almost certainly going to want to integrate the two. And since Outlook/Exchange does not have an easy way to allow users to update their picture and SharePoint does, the common scenario that most customers want is to allow users to update their picture in SharePoint (like they have done since SPS 2003) and have the change update thumbnailPhoto in AD. This is now possible with SharePoint Server 2010.

There are a number of considerations but in summary, you can now configure SharePoint Server 2010 to export the Picture property to thumbnailPhoto in AD. And the 96x96 photo is used in AD – which is typically well within the 10K. The following two links were extremely helpful in understanding this process:

https://blogs.msdn.com/b/russmax/archive/2010/02/27/sharepoint-2010-profile-picture-property-101.aspx

https://technet.microsoft.com/en-us/library/ff182925.aspx

Answers

So getting back to the questions above.

The first is how do the pictures in SharePoint and Outlook tie together?   Just answered above – new capability in SharePoint 2010

The second is where are these pictures stored?  The AD thumbnailPhoto attribute for Exchange/Outlook; special picture library for SharePoint

And the third is how do we reconcile the typical high-res digital images users might add to their My Site with the pictures thumbnails you see in Outlook? Based on the reference links, we saw above that AD limits to 10K or less for the thumbnailPhoto (96x96) so it isn’t even possible to put an entire high-res photo into AD. And SharePoint generates a 96x96 (or smaller) image for every profile picture so the export will work just fine.

Just to repeat from above – these four links go into much more detail and together (along with some testing) they were the key for me to understanding the overall process.

Exchange/AD: https://msexchangeteam.com/archive/2010/03/10/454223.aspx

SharePoint Pictures: https://www.learninggateway.net/blogs/ajp/archive/2010/03/25/sharepoint-2010-where-do-my-user-profile-photos-go.aspx

Sync Process: https://blogs.msdn.com/b/russmax/archive/2010/02/27/sharepoint-2010-profile-picture-property-101.aspx

TechNet User Profile Sync: https://technet.microsoft.com/en-us/library/ff182925.aspx

Hopefully this clarifies the overall process and how things work from the backend. There are obviously several other considerations including BCS data, AD attribute extensions, etc. My advice: understand how out-of-the-box works first. Then determine if you can go this route versus a completely custom solution.

Good luck!