Activity feed architecture

The new activity feed in SharePoint 2013 is built using a couple of building blocks.

Data Storage

All data is stored in the Microfeed and Social lists; these are traditional SharePoint lists. The Microfeed list will exist on any site that has the site feed feature activated.

Presentation

There are three web parts for presenting information from the activity feeds.

  • Microsoft.SharePoint.Portal.WebControls.MicroFeedWebPart
    • This is used to present your activity feed on your personal page
  • Microsoft.SharePoint.Portal.WebControls.PublishedFeedWebPart
    • This is used to present your activity feed on your public profile page.
  • Microsoft.SharePoint.Portal.WebControls.SiteFeedWebPart
    • This is used to present the site activity feed

All web parts inherit from Microsoft.SharePoint.Portal.WebControls.FeedWebPartbase. The web parts themselves don’t do very much, they mostly add information to the HTML markup that can be picked up by JavaScript for asynchronous retrieval. JavaScript is heavily used in the activity feed.

API’s

The Activity feed (or MicroFeed in the API’s) have a new namespace; Microsoft.Office.Server.Microfeed (found in Microsoft.Office.Server.UserProfiles.dll)

In these API’s you may need to specify a DefinitionName. i.e. SPMicrofeedPostOptions.DefinitionName. The list over available alternatives seems to be available in the user profile database; in the MicrofeedPostsDefinitions table. The available options as of 2013 Beta is listed at the end.

One thing to be aware of when using the API’s is that they may cross post into multiple sites. If you try to post something to a site feed, a copy of the information is automatically added to the personal feed. Since the target lists are in different site collections and potentially different content databases and web applications, you may encounter permissions issues.

Microfeed definition types

Microsoft.SharePoint.Microfeed.UserPost
Microsoft.SharePoint.Microfeed.ReferenceReplyPost
Microsoft.SharePoint.Microfeed.ReferenceLikePost
Microsoft.SharePoint.Microfeed.ReferenceMentionPost
Microsoft.SharePoint.Microfeed.ContentModifiedPost
Microsoft.SharePoint.Microfeed.SharedDocumentFollowerPost
Microsoft.SharePoint.Microfeed.O14ActivityFeedEvent
Microsoft.SharePoint.Microfeed.ColleagueFollowing
Microsoft.SharePoint.Microfeed.ContentFollowingPost
Microsoft.SharePoint.Microfeed.NewBlogPost
Microsoft.SharePoint.Microfeed.NewDiscussionPost
Microsoft.SharePoint.Microfeed.CommunityBestReply
Microsoft.SharePoint.Microfeed.CommunityLevelChange
Microsoft.SharePoint.Microfeed.CommunityNewMember
Microsoft.SharePoint.Microfeed.ListItemLike
Microsoft.SharePoint.Microfeed.ListItemRate
Microsoft.SharePoint.Microfeed.ItemTaggedPost
Microsoft.SharePoint.Microfeed.BirthdayPost
Microsoft.SharePoint.Microfeed.TagFollowingPost
Microsoft.SharePoint.Microfeed.JobTitleChangePost
Microsoft.SharePoint.Microfeed.WorkplaceAnniversaryPost
Microsoft.SharePoint.Microfeed.AskMeAboutPost
Microsoft.SharePoint.Microfeed.NoteBoardPost
Microsoft.SharePoint.Microfeed.ContentRatingPost
Microsoft.SharePoint.Microfeed.SiteFollowingPost
Microsoft.SharePoint.Microfeed.ReferenceTagPost
Microsoft.SharePoint.Microfeed.InternalReferencePost
Microsoft.Office.Education.AnnouncementPost
Microsoft.Office.Education.AssignmentPost
Microsoft.Office.Education.AssignmentDueDataChangePost
Microsoft.Office.Education.AssignmentCancelledPost
Microsoft.Office.Education.AssignmentGradesPublishedPost
Microsoft.Office.Education.AssignmentGradeChangedPost
Microsoft.Office.Education.AssignmentContentChangedPost
Microsoft.Office.Education.ClassEnrollmentPost
Microsoft.Office.Education.ClassRemovedPost
Microsoft.Office.Education.ClassGradePublishedPost
Microsoft.Office.Education.ClassTitleCompletePost
Microsoft.Sharepoint.Portal.NewsFeedNewAssignment
Microsoft.Sharepoint.Portal.NewsFeedNewAssignmentFromSync

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: