2.1.3.4 User Profile Service

SharePoint Products and Technologies implements a User Profile Service that stores information about a user population. This information might include names, e-mail addresses, and telephone numbers. The User Profile Service aggregates information from multiple data sources and provides a uniform interface to this information at both the user level and the programming level. The User Profile Service exposes a number of capabilities including consistent ways to query across the user data, categorize users into groups (1), create indexes of user data for full-text searches, access a consistent change log of all the modified user data, and synchronize the user data with multiple SharePoint sites in a farm.

The User Profile Service is implemented as a service application, as described in section 2.1.1.2.2. Multiple site collections can thus refer to one central User Profile Service for information about users.

A profile is intended to be a description of a person. In common usage scenarios, each profile represents one person. In some situations, it represents one identity (for example, a user account). The profile consists of a set of identifiers (for example, a user name, an e-mail address, and an alias) and a list (1) of values for additional properties. SharePoint Products and Technologies also implements support for properties that contain multiple values, such as a property that contains a list (1) of skills for a person, and for properties that are linked to specific, restricted lists (1) of allowed values. Access to properties can be restricted so that only a specific group (1) of related users can see a particular value. The User Profile Service in SharePoint Products and Technologies aggregates the information from multiple data sources, within SharePoint Products and Technologies sites and externally as described and [MS-UPIEWS], into a single repository, and provides a uniform user experience for this data. In addition, the User Profile Service provides programmatic access to this data as described in [MS-UPSCWS].

In addition to the core concept of a profile, SharePoint Products and Technologies implements support for grouping profiles together. One mechanism for doing so is to import key grouping information from other sources, such as e-mail distribution lists or site memberships. SharePoint Products and Technologies also allow the calculation of collections of user profiles based on profile metadata information. Such a collection is called an audience. For example, all the managers of a company can comprise an audience. Web pages or client applications can then target information to this audience.

The User Profile Service also implements support for adding social data to any Uniform Resource Identifier (URI) and for retrieving social activity events (1) information, such as service anniversaries, distribution list memberships, and social data activity on a URI. The URI can point to a resource or to content inside or outside of SharePoint Products and Technologies. Social data can be in the form of numerical ratings, a note that is represented by lines of text, and keywords or terms. Keywords or terms are managed by the Content Management Service as described in section 2.1.3.7. Common usage scenarios for this metadata include rating a document, tagging content with something familiar to the user (for example, "social computing" for a document that is related to social computing), and writing a descriptive line of text as a note about some content.

The following figure shows a high-level view of the User Profile Service protocol architecture.

High-level view of the User Profile Service protocol architecture

Figure 6: High-level view of the User Profile Service protocol architecture