While investigating status updates from within the Activity Feed it was necessary to understand the native social status update logic. The aim was to allow commenting a-la Facebook against any of the activity feed events in the feed. This article presents the information learnt about the native status update logic.
An example Facebook comment:
Fundamentally this could be achieved by adding a new ‘Social Comment’ against that item, I suspect there will be some challenges with this approach like the fact it would generate ‘Note Board’ activity events by default. Before diving into that I thought it would be a sound idea to understand more about where the data comes from for each activity type. This article covers the Profile Status.
In my previous post about the Activity Templates you can find the template specific for the ‘Status update’
Keyname:
"ActivityFeed_Status_Message_SV_Template"
Template:
{Publisher} says "{Value}".
"ActivityFeed_Status_Message_SV_Template"
Template:
{Publisher} says "{Value}".
This is used to display the Status update to your colleagues.
So first up I wanted to understand what happens when you type a new status.
The control which is used is the ‘Microsoft.SharePoint.Portal.WebControls.StatusNotesControl’. This control renders the required input box and references for the client side script to make this pretty seamless for the end user. Under the bonnet it sets a property called ‘SPS-StatusNotes’ against the current user’s profile.
Looking at the profile property several take-away information nuggets are worth noting.
- The default max length for a status update is 512 characters
- The privacy setting is ‘Everyone’
- The ‘show in the profile properties section of the users profile page’ is unchecked. (If checked the value would have appeared below ‘Development’ in the screenshot above)
- The property is not configured to be indexed by Search. This could be useful to enable if you wanted to show this value within the results page or build a component to return these results using search.
Once committed the ‘People’ search incremental crawl captures this change marker and the next time the Activity Feed timer job executes it will generate the status update event.