Reference threads and digest threads in SharePoint social feeds

Learn about reference threads and digest threads, which are thread types that may be included in the collection of threads that make up a social feed in SharePoint. When you retrieve a social feed, SharePoint returns a SocialFeed object that contains the collection of SocialThread objects that make up the feed. These threads can represent conversations, single microblog posts, and notifications, which include events and reference threads. Threads that represent conversations may be returned by the server as digest threads.

Note: The API referenced in this article is from the .NET client object model. However, corresponding objects in other APIs might be different. See Additional resources for links to other related APIs.

What are reference threads in SharePoint social feeds?

When a user likes a post, mentions someone in a post, replies to a post, or includes a tag in a post, SharePoint generates a reference thread. Reference threads have two properties that you use to get information about the referenced thread or post: ThreadType and PostReference .

You can identify a reference thread by its ThreadType property, which can return one of the values shown in Table 1.

Table 1. Types of reference thread

Reference type Description
LikeReference ****
A reference to a post that a user likes.
MentionReference
A reference to a post that mentions a user.
ReplyReference
A reference to a reply.
TagReference
A reference to a post that contains a tag.
Normal
Not a reference thread.

The PostReference property returns a SocialPostReference object that contains information about the thread that triggered the event. At a minimum, it contains the ID of the source thread, which you can then use with the SocialFeedManager.GetFullThread method to retrieve the thread if it still exists.

SocialPostReference might also contain a copy of the source post or thread. This availability depends on the feed type, thread type, and security trimming. If the reference does contain a post or thread, these objects represent snapshots of the post or thread at the time the event occurred.

Not all feed-related activities are posted to the feed as reference threads. For example, Following notifications (such as when someone starts following a site) are not reference threads.

Note: SharePoint automatically security trims for content in autogenerated posts and for site access in all posts that are directed to a site feed. However, you can use the SecurityUris attribute to security trim any post by specifying a URL. Users who do not have access to the URL do not receive the post.

Reply, like, and mention references are stored indefinitely in the user's personal feed. Tag references are stored in the Distributed Cache, so they are stored temporarily. For more information about caching, see Overview of microblog features, feeds, and the Distributed Cache service in SharePoint.

What are digest threads in SharePoint social feeds?

A digest thread represents a compact version of a conversation—it contains the thread's root post and two most recent replies. You can identify a digest thread by checking whether the thread has the IsDigest attribute applied in its Attributes property. To see whether a thread has more than two threads, check the TotalReplyCount property.

To optimize performance, when a thread contains more than two replies, the server returns a digest thread. If you want to get all the replies for a thread, call the SocialFeedManager.GetFullThread method and pass in the thread ID.

Additional resources