Social Computing: Part 4 : Colleagues, Membership and more…..
There are three different ways to get colleagues added into your profile.
1. AD profile import, from Organization tab
2. Users can manually add colleagues
3. Outlook Social Connector will send colleague suggestions based on communication history.
Colleague information get stored in [Profile DB].dbo.UserColleagues table
Timer Jobs:
User Profile Change Job
Activity Feed Job
My Site Suggestions Email Job
Colleague compilation is dependent on “User Profile Change Job”
- If there is any update in Organization tab for a user in AD, during the AD profile import the ‘UserProfileEventLog’ table will get a changelog entry. The User Profile Change Job will pick the change and change type from ‘UserProfileEventLog’ table and update the ‘UserColleagues’ table, until then newly added colleague is not visible under Colleague section.
- If we add colleague thru SharePoint UI, then there will be an entry created in both table instantly, the newly added colleague will be visible immediately.
The ‘Activity Feed Job’ will update the ActivityEventsPublsihed and ActivityEventsConsolidated table with the recent updates from ‘UserProfileEventLog’ table to display the colleague added event in ‘Recent Activities’ and other users who tracks the same event in ‘My Newsfeed’.
My Site Suggestions Email Job - Sends out emails with colleague and keyword suggestions to people who don’t update their profiles often, prompting them to update their profiles, scheduled for every 15th of the month.
View Suggestions
Colleagues tab in profile page will display ‘Add’ and ‘View Suggestions’ link to add more colleagues.
- The View suggestions link will disappear once you have clicked and choose one or more suggested colleagues. It will come back after 15 days or 500 emails exchanged which ever earlier.
- Suggestion information stored in [Profile DB].dbo.UserSuggestions
- The dismissed users will not be suggested once again, as it is getting stored in the UserSuggestions table with ‘Status=2’
- The unselected suggestion and new suggestion will reappear after 14 days.
- Colleagues are also suggested by SharePoint site membership.
Stored procedures:
exec membership_getColleagueSuggestions
exec profile_suggestions_get
Outlook Social Connector
- The Outlook Social Connector allows us to mine user e-mail for keyword and colleague suggestions.
- Every 15 days mining was done via Timer Schedules on the client side and stored in a .dat file
C:\Users\<loginname>\AppData\Local\Microsoft\Outlook\spscoll.dat
- In SharePoint 2010, the keywords and suggestions are pushed to SharePoint via a Web Service on the client side (UserProfileService.asmx).
- The stipulation for making suggestions is to mine the e-mail information 15 days, or 500 e-mails, whichever interval comes first. From there, keyword suggestions are made via most commonly used words.
Microsoft SharePoint server colleague import Add-in
This Add-in allows Microsoft SharePoint server to import colleague suggestions based on your outlook content.
Troubleshooting Tips:
Common Issue
Users are unable to add their colleagues.
Error Message
User ‘Eleven’ name is resolved and he has permission to browse the SharePoint root site.
How it works
When you try to add colleague, first it executes a stored procedure against MySite Content DB to get user information from tables like UserInfo and Groups.
These tables are getting updated when user creates his mysite or accessing his profile page for the first time.
If there is NO information about a user then it initiates next Stored Procedure in "Profile DB", this SP gathers required input parameters from multiple tables like DNContactLookup, UserProfile_Full ... Table for execution ….
If there is NO information about the user in “Profile DB” as well, then it returns error message.
Required:
So basically either one of the following must be done by the user …
- User must have created his Mysite once (updates Mysite content database)
- User must have accessed his own profile page once (updates Mysite content database)
- User information might have imported from AD thru UPA (updates Profile DB)
If the below Query returns any result, adding colleague would be successful for the user ‘eleven’
use [MySite_Content_8080]
select * from UserInfo nolock where tp_Login like '%eleven%'
use [Profile DB]
select * from DNContactLookup nolock
select * from UserProfileValue nolock where PropertyVal='eleven'
select * from UserProfile_Full nolock where NTName = 'four\eleven'
Membership
Memberships haven’t changed significantly since MOSS 2007.
The process is relatively straightforward:
· Users are added to the SharePoint site in the default Members Group.
· This action updates the EventCache for the Content Database.
· The SiteSynch table (Profile DB) holds the Change token for this action.
· The User Profile to SharePoint Full Synchronization polls the SiteSynch table for the ChangeLog token.
· The Content database’s EventCache table is read (looking for user changes).
· Users are updated (deleted or added) to the UserMembership table.
Timer Job
User Profile to SharePoint Full Synchronization
Synchronizes user information from the user profile application to SharePoint user and synchronizes site memberships from SharePoint to the user profile application, hourly by default.
Micro-Blogs and Status
Micro-blogs (also known as Status Messages) are tied to Activity Feeds.
The message is easy to set, and is a quick update from the owner.
It reflected to the browser and in colleague newsfeeds.
This data will be directly updated into ‘UserProfileEventLog’ table, it will be reflected immediately in profile page.
Recent Activities and Newsfeed will get updated after the ‘Activity Feed Job’ ran.
Timer Job
No timer job required to reflect the data in profile page.
‘Activity feed job’ need to run to reflect the status change event update in Acvities.
Emails
Emails will be sent whenever colleagues are added, and Note board updates are made to track a colleague. These emails are immediate.
Timer Job
My Site Suggestions Email Job
It sends out emails with colleague and keyword suggestions to people who don’t update their profiles often, prompting them to update their profiles, runs monthly on the 15th.
This email contains, full text of the Note board message, link to a user profile, unsubscribe link …
Organizations
Organizations are hierarchical structures native to a corporation.
SharePoint is capable of understanding and working with the Organization data in Active Directory.
There is a feature called ‘Organizational profile’ which will help to you create a hierarchical structure manually.
Basically the user’s manager and direct report information used to build basic Organization hierarchy.
Interest
Interests are another feature monitored and updated by the Activity Feed.
They are exposed in the GUI in the Newsfeed section where the My Interests link appears.
Interest is an ‘Open Vocabulary’, that is, it doesn’t restrict users to select an existing value. If the value exits, the user can select it, and if not, add it. This addition updates the Term Store (see below):
Timer Job
Activity Feed Job: updates the My Newsfeed section when there is new interest added
In the database, Interests are listed in the Profile DB in the UserInterests Table. But are also stored in the UserProfileValue table with the rest of the User Profile Properties.
Comments
Anonymous
May 12, 2011
Extremely helpful information in this post and the others like it. Wondering what happens in the Colleagues list if a profile is deleted. E.g. User A has User B as a colleague. User B leaves the company and their profile has been removed. Will User A's colleague list get updated to remove User B at any point?Anonymous
June 03, 2011
As you have asked user A will not get any notification. Instead when User B got deleted thru User Profile Application, it will be reflected all links, I mean User B won't dispalyed in any other user's profile.Anonymous
July 06, 2011
What is the criteria for "people who don't update their profile often"?Anonymous
November 07, 2012
Excellent info. We're getting a delivery failure report when we added a colleague in My Site.Expected for that colleague to received an email notification but instead we get a "Delivery Failure Report" Your message: <name> has added you as a colleague was not delivered to: <colleague's email address> because: 550 5.7.0 Sender Policy Violation Any idea?