[This documentation is preliminary and is subject to change.]
This topic lists the new areas of programmability for User Profiles and Social Data in Microsoft SharePoint Server 2010.
The two most significant additions to the SharePoint Server 2010 object model are in the new Microsoft.Office.Server.ActivityFeed and Microsoft.Office.Server.SocialData namespaces. For guidance about getting started with development in these namespaces, see User Profiles and Social Data: Setting Up Your Development Environment.
The Microsoft.Office.Server.ActivityFeed namespace contains the public API for extending and programmatically using new functionality in SharePoint Server 2010 that publishes and gathers the activities (particularly social networking activities) of site users.
See Microsoft.Office.Server.ActivityFeed for documentation of the public classes, methods, and properties in this namespace.
See Microsoft SharePoint Server 2010: Activity Feeds Console Application for a code sample that demonstrates how to perform fundamental tasks with this namespace.
The Microsoft.Office.Server.SocialData namespace contains the public API for extending and programmatically using social networking functionality in SharePoint Server 2010. SharePoint Server 2010 provides new functionality for programmatically creating and aggregating social tags, ratings, and comments.
See Microsoft.Office.Server.SocialData for documentation of the public classes, methods, and properties in this namespace.
See Microsoft SharePoint Server 2010: Social Data Statistics Web Part for a code sample that demonstrates how to perform fundamental tasks with this namespace.
The Microsoft.Office.Server.UserProfiles namespace contains two new types and classes for creating and managing them. The OrganizationProfile class is equivalent to UserProfile. This class enables you to group and distinguish users by membership in organizations that have properties equivalent to those that a UserProfile object would have. You manage this class by using the OrganizationProfileManager class.
Another new class, ProfileSubtype, enables you to create role-specific properties for any type of profile. For example, this class can distinguish users who are customers from those who are employees, or between employees who perform different functions in an organization. Use the ProfileSubtypeManager class to manage ProfileSubtypes, and the ProfileSubtypePropertyManager class to manage properties for ProfileSubtypes.
Although the Property class is still available for backward compatibility, you can now set profile properties by using the more granular CoreProperty, ProfileTypeProperty, and ProfileSubtypeProperty classes.
Concepts