Building on the user profile
This is the last article in a three-part series that discusses social networking with SharePoint Server 2010. In “SharePoint 2010 Goes Social, Part 1” and “SharePoint 2010 Goes Social, Part 2”, I described the importance of the user profile and how to synchronize it with Active Directory (AD). In this article, I describe the major features that build on the user profile to leverage an often forgotten information source—its people. Note that the social networking features described in this series are available only with a SharePoint Server 2010 installation. They aren’t available in a SharePoint Foundation 2010–only deployment.
As mentioned in the previous articles, it’s crucial to have a rich user profile, which means that everyone needs to be willing to enter details about themselves and the projects they’re working on so that other people can discover this information and build linkages out of it. Some of this information can be imported from other information sources (such as synchronizing the user profile with AD), but generally it’s the users themselves who know what skills they have and what they’re working on.
The SharePoint designers know that most people generally won’t go out of their way to provide such information. And if they do provide it, they tend to be fairly lethargic in keeping the information up-to-date. This is why SharePoint provides tools that are geared toward automatically keeping certain information up-to-date and presenting the user with opportunities to update other pertinent information in a seamless and simple fashion. I’ll now describe the major tools that can help people discover “who knows who,” “who knows what,” and “who is doing what,” which results in a vibrant and therefore worthwhile social network.
My Site at the Center
Assuming your organization wants to fully leverage SharePoint’s social networking features, every user will have what is known as a My Site. There are three feature areas that are delivered through My Site, and there are permissions that control the availability of these features. By default, these permissions are enabled for all authenticated users. You can customize these permissions by using the Manage User Permissions option in the User Profile Service application, which you can access through the SharePoint Central Administration site.
The permissions are as follows:
- Use Personal Features. This permission gives users the ability to advertise details about themselves to others through their public profile pages. Users can also maintain some of the details that are displayed (such as the About Me information) and control certain aspects of the details (such as who is allowed to view them). Users can access this feature set from the My Profile tab in their personal home pages.
- Create Personal Site. This permission gives users the ability to create a standard team site for their own personal use. In this site, users can store personal documents and documents that they want to share with others. Users can access this feature set from the My Content tab in their personal home pages.
- Use Social Features. This permission gives users the ability to use social features (e.g., social tagging, colleagues) and have an activity feed that shows their colleagues’ recent activities. Users can access these features from many places, including the My Newsfeed tab in their personal home pages.
Users can quickly access their personal home pages on My Site by clicking their names in the top right corner of most SharePoint pages. This reveals a drop-down list that includes links to their personal home page and public profile. As users navigate in particular areas of SharePoint, many of the links that they’ll encounter will take them to the public profile of other users. For example, if a search result relates to a person, the search results will link to that person’s profile page.
My Profile Page
The page that renders the profile page is named person.aspx, and it resides in a site collection known as the My Site Host. Each User Profile Service application is associated with one My Site Host. You can control the My Site Host with the Setup My Sites option in the Settings page of the User Profile Service application. If you want to change the default location for the My Site Host, you need to use the My Site Host site template or a blank template to create the site collection where the My Site Host will reside. You also need to make sure that the site actually exists at the top level of the Web Application that’s used for the My Site Host. Otherwise, people won’t be indexed by the search engine.
Person.aspx is a multi-tabbed page. The details it displays depends on who the requesting user is and the query strings that are passed to the page. If person.aspx is called with no query strings, the profile of the current user is displayed. However, the page is also used to show the public profile of users to other users. In this case, the details that are displayed depend on the relationship that exists between the two users. For example, Figure 1 shows the result of the user named Kevin Laahs viewing the profile of the user named Jenny Lies. In this case, the person.aspx page was called as follows:
http://<My Site Host>/person.aspx?AccountName=laahs\jenny
The profile’s Overview tab displays things that the two users have in common, such as the colleagues they both know and interests they both enjoy, in the “In Common With You” section.
Each user can control what information other people can see. For this to work, the relationship between the calling user and target user is determined; that determination places the calling user into one of the following groups:
- My Manager. The calling user is listed as the manager in the target user’s profile.
- My Team. The calling user is listed in the target user’s colleague list, and the My Team column is set to Yes.
- My Colleague. The calling user is listed in the target user’s colleague list, and the My Team column is set to No.
- Everyone. None of the above conditions are true.
In the user profile, each property has a default value and a privacy setting that defines the group that’s allowed to see it. If users are allowed to change the property’s privacy setting, they can do so by editing their profile and changing the group that’s allowed to view the property. In addition, users can toggle the view of their own profile to see what it will look like from the perspective of someone else. This is done using the View my profile as seen by option at the top of the profile page.
This privacy feature extends to more than just user profile properties. Users can also control who can see their site and group memberships and who can see their colleagues. Policies are used to control the objects subject to privacy settings and whether default settings can be overridden by users. Administrators can manage these policies using the Manage Policies option in the Settings page of the User Profile Service application.
By maintaining their profiles and keeping properties such as Interests and Skills up-to-date, users make a crucial contribution to the overall intellectual wealth of the organization. That’s because these properties enable users to find expertise quickly and build the linkages that make up the social network within an organization.
Six Tabs Over My Site
As you can see in Figure 1, there are six tabs on the profile page. Some of the highlights of these tabs are as follows.
Overview tab. In addition to the “In Common With You” section I mentioned previously, the Overview tab shows the user’s position in the organizational hierarchy, recent activities, skills, and interests. The latter gives visiting users the ability to quickly ask the user about such interests. This action writes a note on the user’s note board, which subsequently finds its way into the user’s newsfeed. Every user has a note board that functions in much the same way as a Facebook wall.
Organization tab. On this tab, visiting users can explore in more detail the user's position in the organizational hierarchy. If the browser has Microsoft Silverlight support enabled, visiting users can take advantage of the visual interface shown in Figure 2 to hone in on individuals to see the organizational hierarchy from their perspective.
Figure 2: Exploring a user’s position in the organizational hierarchy
Content tab. This tab shows recent content that has been authored by the user. The content includes blog entries and documents the user has authored across the SharePoint farm. The Content tab also lets visiting users quickly hone in on collateral from a specific SharePoint site because it lists each site that contains content authored by the user.
Tags and Notes tab. SharePoint lets users tag web pages with keywords and add notes and ratings. This tab shows the user’s tag clouds and recent notes and activities. By clicking a tag term, the note and activities with which that tag were associated are displayed. This facilitates the “wisdom of the crowd” since popular items rise to the surface.
Memberships tab. This tab shows details of the groups that the user is a member of. For example, it shows the SharePoint sites and AD Distribution Groups (DGs) that the user is a member of. Note that this only shows those SharePoint sites where the user is explicitly added to the SharePoint group that represents the site members. This is an important point to note because a user can be a member of a SharePoint site through many other routes, such as being an Owner or being a member of an AD Security Group that has been added to the Members group of a site. The sites that a user is a member of are updated by a background job called User Profile Service Application - User Profile to SharePoint Full Synchronization, which runs hourly by default. You can force this job to run as needed in Central Administration.
Colleagues tab. In this tab, users can manage their colleagues list.
Colleagues—They Are So Important!
Many of SharePoint’s social features rely heavily on knowing who a user considers a colleague. Armed with this knowledge, SharePoint can establish relationships between two people, such as the social distance between them. This can help build stronger social networks. For example, you might not know a particular person but you can be informed if one of your colleagues (or one of your colleagues’ colleagues) knows that person. This would allow you to ask your colleague for an introduction to said person.
Each user has a list of colleagues that’s maintained automatically and manually. By default, users who have the same manager listed in their user profiles are automatically added as colleagues and marked as being a member of “My Team.” This is one example of how the colleague list is automatically maintained.
Suggested colleagues are also automatically generated if you install the Microsoft SharePoint Server Colleague Import Add-In for Outlook 2010. Suggested colleagues are derived from users’ messaging habits in terms of who they have been sending email to and receiving email from. The add-in scans each user’s Sent Items folder to look for names (colleagues) and keywords (expertise) along with the frequency of those names and keywords.
The results of these scans are used to update a file named spscoll.dat in each user’s Windows profile. This file contains a list of email addresses and a ranking to determine how much the user has been communicating with other people. This list of suggested colleagues is imported to SharePoint, where it will be displayed the next time users visit the Colleagues tab on their personal home pages.
Although the suggestions are imported, users have to decide which colleagues they want to add to their colleagues list and which keywords they want to add to their list of expertise areas. Therefore, this is an opt-in feature, which is sensible from a security and privacy perspective. Note that the email addresses contained in the suggested colleagues list must also already exist in the SharePoint user profile for users to be able to add them as colleagues. Microsoft Office Communicator also contributes to the suggested colleagues list by analyzing IM practices.
SharePoint makes it easy for users to manually add colleagues by providing one-click links in appropriate places, such as search results that contain people. Another place is through the Outlook Social Connector. This Outlook 2010 feature lets users hook up to external social networks (e.g., Facebook, LinkedIn) and display information from those social networks directly in Outlook. My Site is the only out-of-the-box connector. After it’s configured, users can simply add colleagues from the social connector pane at the bottom of each Outlook message window. This pane also shows information from the social network, as can be seen in Figure 3. In this case, the sender’s activity is being displayed.
Figure 3: Using the Outlook Social Connector to display information from social networks
What Are People Up To?
The My Newsfeed page (which is accessed from the horizontal menu at the top of the profile page) is where users can keep up with what others have been doing, as Figure 4 shows. The idea here is that if your colleagues are showing interest in something, there’s a high likelihood that you’ll benefit from knowing this. For example, if a colleague tags some content with a tag that relates to your interests, you’ll want to go and investigate that content. You are, therefore, leveraging the activities of your colleagues to keep yourself informed of important information. This is clearly leveraging the community, which is a core tenet of social networking.
Figure 4: Using the My Newsfeed page to keep up with what others have been doing
Implicit and explicit activities relating to your colleagues are listed in the My Newsfeed page. Implicit activities are actions that users didn’t perform themselves but have affected them. For example, a user might have been added as a member to a new SharePoint site or a user’s reporting relationship might have changed, resulting in new peers being created. Explicit activities are actions that users have performed directly, such as commenting on someone’s note board or updating their interests and expertise areas.
Users control what activities they want displayed in their My Newsfeed page by editing their own profile and selecting the activities to monitor. There are sixteen activities that users can choose to monitor, including tagging of content by a colleague, one of their interests being used as a tag, colleagues authoring new blog content, new colleagues, manager changes, and upcoming birthdays.
Each user’s newsfeed is updated by a background job called User Profile Service Application - Activity Feed Job, which runs daily by default. You may want to increase the frequency of this job if you want to capture activities in a timelier fashion. This can be done using the Check job status option in Central Administration.
Newsfeeds add value only if everyone participates in keeping their profile information up-to-date. Otherwise, newsfeeds become stale and add no value to the overall intellectual wealth of the organization. Every month, SharePoint sends emails to users, reminding them to keep their profile vibrant and up-to-date. (This is a scheduled job that you can disable in Central Administration if you don’t want to send out these emails.) There are seldom good technical solutions to increase participation, so it’s in your best interest to lead by example and constantly encourage people to keep their profiles up-to-date.
Searching for People
Out of the box, SharePoint Server 2010 provides a search landing page that’s tailored to show pertinent information about people. For example, it might display the interests that are most common among the people displayed in a search’s results. This page’s filename is peopleresults.aspx and it’s the landing page associated with the People tab on the default search results page, as shown in Figure 5.
Figure 5: Using the People Search Results page to see pertinent information about people
Two interesting Web Parts in peopleresults.aspx are the People Search Core Results Web Part and People Refinement Panel Web Part. The People Search Core Results Web Part uses the Local People Search Results search location. You can modify the Web Part to override the default properties that are returned for this location or modify the Extensible Style Language (XSL) so that the results are displayed in a different way. This Web Part supports the following interesting features:
- Social distance. The results show the social distance between the user performing the search and the users returned in the result set by displaying the relationship underneath their pictures. For example, as Figure 5 shows, the relationship might be listed as “My Colleague” or “My Colleague's Colleague.” The latter can help users get an introduction to someone through one of their colleagues.
- Vanity search. A vanity search is when the user performing the search shows up in the search results. This usually occurs when users deliberately search for themselves. Vanity search results show users how many times other people are clicking through to their names and what keywords are being used to find them. This information appears at the bottom of the search results, as Figure 5 shows. If users see that they’re not being clicked much, it might encourage them to keep their profiles up-to-date and contribute more to the organization. In line with the design goal of making it easy for users to keep their information up-to-date, there’s one-click access to take users to their profiles.
The People Refinement Panel Web Part displays suitable refiners based on the search results. Unlike the refinement Web Part for the normal search results page, you can’t modify the refiners that are ultimately displayed in the people results page. But with that said, SharePoint does a pretty good job of showing you the most relevant refiners based on the result set, as can be seen in the left navigation pane in Figure 5 and Figure 6.
Figure 6: Discovering mutual interests in the People Search Results page
Figure 5 returned more users that had less in common with each other than Figure 6, so the refiners were Job Title, Schools, and Favorite Musical Instruments. In Figure 6, the two users returned had some mutual interests, so these were displayed as refiners. Clicking one of the interests would then find all the people in the organization who shared that interest. This key feature lets users find expertise quickly and, as I’ve mentioned previously, works only if people keep their profiles up-to-date.
SharePoint does do social. However, if you want to do it well, you must embrace and promote a culture where people willingly and regularly update their user profiles with rich and relevant information.