SPC’09: My Site and Social – Architecture & Planning

Disclaimer: This post is based on notes taken while watching a conference session. For that reason, it may contain incorrect information or data that I might have misunderstood. Also, the product it refers to was not available yet at the time of the writing, thus, not allowing me to validate the present information.

This was the fourth session I attended on the second day of the SharePoint Conference 2009, and it was given by Venky Veeraraghavan from Microsoft.

Venky started by pointing us to the twitter account of the SharePoint Social team (@SPSocial). Follow it to get updated information on this, or mention it to get their attention.

My Site Personal Portal

For SharePoint 2010, Microsoft has made a few changes to the components of the My Site, namely to the page structure of the portal. Now, a newly created My Site has three pages:

  • My Network (the homepage, shows the Activity Feed for all users in your network)
  • My Profile (shows the profile data)
  • My Content (the entry page for the personal site). Additionally, you can create any pages you want on your personal site.

The My Profile page has a new layout and includes areas like:

  • Overview (shows the activity feed in Published mode)
  • Organization (shows the new Silverlight-based Organizational Chart which allows you to navigate in the organizational structure)
  • Content (shows the latest content created by the user)
  • Tags and Notes (shows tags used and notes written by the user)
  • Colleagues (shows and manages the list of colleagues the user follows)
  • Memberships (shows and manages the list of site memberships)

As in the previous version, these pages are located in two different places:

  • My Network and My Profile pages are shared by all users and, for that reason, are located in the My Site Host site collection.
  • My Content and any custom pages you create will be placed on your personal site collection.

Also, as seen in SharePoint 2007, both the My Site Host site collection and the users’ personal site collections belong to the same Web Application. This Web Application is associated with three Service Applications:

  • Enterprise Managed Metadata Service Application
  • User Profile Application
  • Search Service Application

The New Activity Feed

One of the greatest additions to the My Site is the new Activity Feed. The Activity Feed is an extensible component which exposes tracked data through a Web Part and an Atom 2.0 feed. The Activity Feed has two modes:

  • Consolidated – Lists the activities of everything a user tracks. This mode is used on the My Network page.
  • Published – Lists my activities. This mode is used on the My Profile Page.

The architecture that supports the Activity Feed can be briefly described as:

  1. Everything starts with a Gatherer Timer Job which periodically analyzes the Social Database (which stores all the tagging, rating and comment data) and the change log of the User Profile Database.
  2. Using a new API called Injection Object Model, the gatherer injects the relevant information into the Activity Feed structure in the User Profile Database.
  3. This data is then exposed via a Web Part, the Object Model or the Atom feed.

The main extensibility point is the possibility to create Custom Gatherers, which collect information from other data sources and inject them in the feed using the Injection Object Model.

Regarding the consumption of the Atom 2.0 feed, the URLs for:

  • Consolidated Feed:
    http://<mysitehost>/_layouts/activityfeed.aspx?consolidated=true
  • Published Feed:
    http://<mysitehost>/_layouts/activityfeed.aspx?publisher=<accountname>

Since consuming a feed is a very common and easy way to retrieve live information, it’s expected that SharePoint will have to handle a large number of requests. Currently, at it’s beta version, SharePoint 2010 can handle 500-700 requests per second (RPS) with full activity detail, or 2100 RPS without it. However, the RTM is aiming at 2000 RPS.

Profile Pictures

The way profile pictures are stored has also been changed. Instead of storing the profile picture inside each user’s personal site, SharePoint 2010 will store all profile pictures in a central picture library which will be accessed through the URL:

  • http://<mysitehost>/UserPhotos

When a picture is uploaded, SharePoint will automatically create the resized versions of it:

  • 32×32 (for general use in SharePoint)
  • 48×48 (for AD and client applications)
  • 96×96 (for the Profile Page)

The Picture Picker control used by SharePoint can be customized and even replaced to support any policies and picture stores.

The profile pictures will be synchronized with Active Directory, allowing the profiles to be bootstrapped if the pictures are already in Active Directory when the profiles are created, or writing back to Active Directory, if SharePoint is configured to do so. Client applications such as Outlook and OCS can use pictures stored in AD.

Microsoft also thought about the upgrading process from SharePoint 2007 to SharePoint 2010, and there is a PowerShell cmdlet (Upgrade-SPProfilePhotoStore) that migrates all profile pictures from the previous structure to the new store.

Social Feedback

Another of the biggest additions is the Social Feedback mechanism which is everywhere in SharePoint 2010. It’s a new mechanism that allows users to tag, rate and comment on any URL, either inside or outside of SharePoint (through bookmarklets). Feedback is the primary mechanism for promoting documents and web pages to the newsfeed and it also helps categorize, annotate, promote and in the retrieval of relevant links.

The user doesn’t need write permissions on a specific item to be able to give feedback on it(read permissions are obviously required), since this data is stored on a separate database. At a very basic level, each feedback item is has only three fields: Person, URI and Feedback.

Tags

  • Also known as keyword bookmarking
  • There is no web part for tagging
  • Can be applied to web pages, list items and documents
  • Can be used to sort and filter lists and document libraries, but only by document authors and requires the enterprise keywords field
  • Tags are indexed by search
  • Can be applied to external or non-SharePoint pages via bookmarklets
  • Can be used with Enterprise taxonomy management
  • Can be used in Office 2010 Client (but only document authors and requires enterprise keywords field) and Office Web Apps

Notes

  • Short comments (less than 3000 characters)
  • There is a specific web part for comments
  • Can be applied to web pages, list items and documents
  • Cannot be used for sorting and filtering in lists
  • Notes are not indexed by search
  • Can be applied to external or non-SharePoint pages via bookmarklets
  • Can be used in Office 2010 Client and Office Web Apps

Ratings

  • 5-star ratings
  • There is a specific web part for ratings
  • Can be applied to web pages, list items and documents
  • Can be used for sorting and filtering in lists and document libraries
  • Ratings are indexed by search
  • Cannot be applied to external or non-SharePoint pages
  • Cannot be used in Office 2010 Client nor Office Web Apps

The concept of My Links from SharePoint 2007 will be replaced by social tags, and there will be a mechanism to migrate each user’s links to tags.

The social feedback mechanism is supported on three services:

  • Search Service, which indexes tags and ratings and performs all the security trimming
  • User Profiles and Synchronization
  • Enterprise Metadata Management, for tagging and profile properties

The use of social feedback mechanisms will bring a new set of challenges to the organizations. Planning will be a key step to make it work, and it has to occur at various levels:

  • Planning for scale – social feedback generates very large amounts of data.
  • Planning for privacy – organizations have to make decisions about who can give feedback and how security trimming is applied to this feedback.
  • Planning for adoption – organizations have to start with a small number of committed users and gather support from all departments for this to succeed.

Expertise Search

The last of the additions I’ll be pointing out is the Expertise Search mechanism which allows:

  • Users to search for other users by their expertise tags
  • SharePoint 2010 to suggest expertise tags for each user

While the first is pretty straightforward, the second is much more interesting. So, how does SharePoint 2010 know what expertise tags to suggest?

Well, Outlook 2010 can analyze your e-mail (your sent items, in particular) looking for the people to whom you send e-mails the most and also extracting the most common keywords. This information is then sent to SharePoint to be included in the user’s profile, if he agrees to it, where it can be indexed and searched normally.

Don’t worry, the analysis can be configured to be:

  • Turned off. No analysis will be done on your e-mail.
  • Analyze and upload automatically to the profile (user consent at the client).
  • Analyze but only suggest when editing the profile (user consent on the server).