An IActivityStoryType allows the user to push story items to the activity stream in a group or main page.
Sample
using System; using System.Linq; using Telligent.Evolution.Extensibility.Api.Version1; using Telligent.Evolution.Extensibility.Content.Version1; namespace MyActivityStory { public class MyActivityStory : IActivityStoryType { public string Name { get { return "My Activity Story Plugin"; } } public string Description { get { return "This plugin will demo how the IActivityStoryType works"; } } public void Initialize() { //No initialization required for IActivityStoryType } public Guid StoryTypeId { get { return new Guid("247A9821-75F0-4E57-81E2-15B9D0578491"); } } public string StoryTypeName { get { return "My Activity Stories"; } } public bool CanDeleteStory(Guid storyId, int userId) { // unregistered users cannot delete stories var user = PublicApi.Users.Get(new UsersGetOptions { Id = userId }); var userIsRegistered = user != null && !user.IsSystemAccount.GetValueOrDefault(false); if (!userIsRegistered) { return false; } // actors can delete var story = PublicApi.ActivityStories.Get(storyId); return story != null && story.Actors != null && story.Actors.ToList().Exists(actor => actor.UserId == userId); } public Guid[] ContentTypeIds { get { return new[] { Telligent.Evolution.Api.Content.ContentTypes.GenericContent }; } } public string GetPreviewHtml(IActivityStory story, Target target) { var content = PublicApi.Content.Get(story.ContentId.GetValueOrDefault(), story.ContentTypeId.GetValueOrDefault()); if (content == null) return null; return string.Format("<h3>{0}</h3>", content.HtmlName("Web")); } public int? GetPrimaryUser(IActivityStory story) { if (story == null || story.Actors == null || story.Actors.Count == 0) { return null; } return story.Actors.Last().UserId; } public string GetViewHtml(IActivityStory story, Target target) { var content = PublicApi.Content.Get(story.ContentId.GetValueOrDefault(), story.ContentTypeId.GetValueOrDefault()); if (content == null) return null; return string.Format("<h3>{0}</h3><p>{1}</p>", content.HtmlName("Web"), content.HtmlDescription("Web")); } private IActivityStoryController _storyController; public void SetController(IActivityStoryController controller) { _storyController = controller; } public string StoryTypeDescription { get { return "Controls activity stories for My Activity Stories."; } } public bool IsCacheable { get { return true; } } public bool VaryCacheByUser { get { return true; } } } }