<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>IActivityStoryType Plugin Type</title><link>https://community.telligent.com/community/11/w/api-documentation/64289/iactivitystorytype-plugin-type</link><description /><dc:language>en-US</dc:language><generator>14.0.0.586 14</generator><item><title>IActivityStoryType Plugin Type</title><link>https://community.telligent.com/community/11/w/api-documentation/64289/iactivitystorytype-plugin-type</link><pubDate>Tue, 19 Nov 2019 19:35:25 GMT</pubDate><guid isPermaLink="false">1549863b-6530-4520-895d-684a6e63f843</guid><dc:creator>Ben Tiedt</dc:creator><comments>https://community.telligent.com/community/11/w/api-documentation/64289/iactivitystorytype-plugin-type#comments</comments><description>Current Revision posted to API Documentation by Ben Tiedt on 11/19/2019 19:35:25&lt;br /&gt;
&lt;hr class="generated-documentation-start" style="border-width:0;" /&gt;&lt;div class="documentation"&gt;&lt;p&gt;The base interface allowing content, applications, and containers to interact with activity stories.  Each type has a sub interface that also defines how to get the item.&lt;/p&gt;&lt;p&gt;&lt;code&gt;IActivityStoryType&lt;/code&gt; is defined in the &lt;code&gt;Telligent.Evolution.Extensibility.Content.Version1&lt;/code&gt; namespace of Telligent.Evolution.Platform.dll&lt;/p&gt;&lt;div class="documentation-stub"&gt;&lt;h2&gt;&lt;a id="Definition" name="Definition"&gt;&lt;/a&gt;Definition&lt;/h2&gt;&lt;pre&gt;interface IActivityStoryType : [[IPlugin Plugin Type|IPlugin]]
{
	Guid[] ContentTypeIds { get;  }
	bool IsCacheable { get;  }
	string StoryTypeDescription { get;  }
	Guid StoryTypeId { get;  }
	string StoryTypeName { get;  }
	bool VaryCacheByUser { get;  }
	bool CanDeleteStory(Guid storyId, int userId);
	string GetPreviewHtml([[IActivityStory Plugin Supplementary Type|IActivityStory]] story, [[Target Plugin Supplementary Type|Target]] target);
	int? GetPrimaryUser([[IActivityStory Plugin Supplementary Type|IActivityStory]] story);
	string GetViewHtml([[IActivityStory Plugin Supplementary Type|IActivityStory]] story, [[Target Plugin Supplementary Type|Target]] target);
	void SetController([[IActivityStoryController Plugin Supplementary Type|IActivityStoryController]] controller);
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="documentation-members properties"&gt;&lt;h2&gt;&lt;a id="Properties" name="Properties"&gt;&lt;/a&gt;Properties&lt;/h2&gt;&lt;table cellspacing="0" cellpadding="2" width="99%" class="WikiTable"&gt;&lt;thead&gt;&lt;tr class="WikiTableBgBlue"&gt;&lt;th&gt;Name&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Default&lt;/th&gt;&lt;th&gt;Options&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;ContentTypeIds&lt;/td&gt;&lt;td&gt;&lt;code&gt;Guid[]&lt;/code&gt;&lt;/td&gt;&lt;td&gt;An array of the content types supported by the activity story type.  This will usually only be the type implementing the interface.&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;IsCacheable&lt;/td&gt;&lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;&lt;td&gt;A flag to allow caching of the output of GetPreviewHtml() and GetViewHtml().&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;StoryTypeDescription&lt;/td&gt;&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;&lt;td&gt;A description of the activity story type.&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;StoryTypeId&lt;/td&gt;&lt;td&gt;&lt;code&gt;Guid&lt;/code&gt;&lt;/td&gt;&lt;td&gt;A Guid uniquely identifying the activity story type.&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;StoryTypeName&lt;/td&gt;&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;&lt;td&gt;A readable name for the type of activity story created for this item.  For example, blog posts use “Blog Post Activity”.&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;VaryCacheByUser&lt;/td&gt;&lt;td&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/td&gt;&lt;td&gt;A flag to cache on a per user basis, particularly useful for security reasons.&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="documentation-members methods"&gt;&lt;h2&gt;&lt;a id="Methods" name="Methods"&gt;&lt;/a&gt;Methods&lt;/h2&gt;&lt;h3&gt;	bool CanDeleteStory(Guid storyId, int userId);
&lt;/h3&gt;&lt;p&gt;Used to check whether a user can delete an activity story.&lt;/p&gt;&lt;h4&gt;&lt;a id="Parameters" name="Parameters"&gt;&lt;/a&gt;Parameters&lt;/h4&gt;&lt;table cellspacing="0" cellpadding="2" width="99%" class="WikiTable"&gt;&lt;thead&gt;&lt;tr class="WikiTableBgBlue"&gt;&lt;th&gt;Name&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Required&lt;/th&gt;&lt;th&gt;Default&lt;/th&gt;&lt;th&gt;Options&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;storyId&lt;/td&gt;&lt;td&gt;&lt;code&gt;Guid&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Story Id&lt;/td&gt;&lt;td&gt;Required&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;userId&lt;/td&gt;&lt;td&gt;&lt;code&gt;int&lt;/code&gt;&lt;/td&gt;&lt;td&gt;User Id&lt;/td&gt;&lt;td&gt;Required&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;&lt;a id="Return_Type" name="Return_Type"&gt;&lt;/a&gt;Return Type&lt;/h4&gt;&lt;p&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/p&gt;&lt;h3&gt;	string GetPreviewHtml(IActivityStory story, Target target);
&lt;/h3&gt;&lt;p&gt;This should return a short summary of the activity story, usually a single sentence.&lt;/p&gt;&lt;h4&gt;&lt;a id="Parameters" name="Parameters"&gt;&lt;/a&gt;Parameters&lt;/h4&gt;&lt;table cellspacing="0" cellpadding="2" width="99%" class="WikiTable"&gt;&lt;thead&gt;&lt;tr class="WikiTableBgBlue"&gt;&lt;th&gt;Name&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Required&lt;/th&gt;&lt;th&gt;Default&lt;/th&gt;&lt;th&gt;Options&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;story&lt;/td&gt;&lt;td&gt;&lt;code&gt;[[IActivityStory Plugin Supplementary Type|IActivityStory]]&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Story&lt;/td&gt;&lt;td&gt;Required&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;target&lt;/td&gt;&lt;td&gt;&lt;code&gt;[[Target Plugin Supplementary Type|Target]]&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Target&lt;/td&gt;&lt;td&gt;Required&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;&lt;a id="Return_Type" name="Return_Type"&gt;&lt;/a&gt;Return Type&lt;/h4&gt;&lt;p&gt;&lt;code&gt;string&lt;/code&gt;&lt;/p&gt;&lt;h3&gt;	int? GetPrimaryUser(IActivityStory story);
&lt;/h3&gt;&lt;p&gt;Returns the primary actor’s UserId for the given activity story.  This is usually the creator of the item or originator of the event.&lt;/p&gt;&lt;h4&gt;&lt;a id="Parameters" name="Parameters"&gt;&lt;/a&gt;Parameters&lt;/h4&gt;&lt;table cellspacing="0" cellpadding="2" width="99%" class="WikiTable"&gt;&lt;thead&gt;&lt;tr class="WikiTableBgBlue"&gt;&lt;th&gt;Name&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Required&lt;/th&gt;&lt;th&gt;Default&lt;/th&gt;&lt;th&gt;Options&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;story&lt;/td&gt;&lt;td&gt;&lt;code&gt;[[IActivityStory Plugin Supplementary Type|IActivityStory]]&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Story&lt;/td&gt;&lt;td&gt;Required&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;&lt;a id="Return_Type" name="Return_Type"&gt;&lt;/a&gt;Return Type&lt;/h4&gt;&lt;p&gt;&lt;code&gt;int?&lt;/code&gt;&lt;/p&gt;&lt;h3&gt;	string GetViewHtml(IActivityStory story, Target target);
&lt;/h3&gt;&lt;p&gt;This returns the full view of the activity story that will primarily be shown in the activity stream.&lt;/p&gt;&lt;h4&gt;&lt;a id="Parameters" name="Parameters"&gt;&lt;/a&gt;Parameters&lt;/h4&gt;&lt;table cellspacing="0" cellpadding="2" width="99%" class="WikiTable"&gt;&lt;thead&gt;&lt;tr class="WikiTableBgBlue"&gt;&lt;th&gt;Name&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Required&lt;/th&gt;&lt;th&gt;Default&lt;/th&gt;&lt;th&gt;Options&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;story&lt;/td&gt;&lt;td&gt;&lt;code&gt;[[IActivityStory Plugin Supplementary Type|IActivityStory]]&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Story&lt;/td&gt;&lt;td&gt;Required&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;target&lt;/td&gt;&lt;td&gt;&lt;code&gt;[[Target Plugin Supplementary Type|Target]]&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Target&lt;/td&gt;&lt;td&gt;Required&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;&lt;a id="Return_Type" name="Return_Type"&gt;&lt;/a&gt;Return Type&lt;/h4&gt;&lt;p&gt;&lt;code&gt;string&lt;/code&gt;&lt;/p&gt;&lt;h3&gt;	void SetController(IActivityStoryController controller);
&lt;/h3&gt;&lt;p&gt;This method is called each time the plugin is loaded.  The controller gives privileged access to the plugin not available via the API.  Whenever content is created, updated, or deleted, the controller should be used to notify Telligent Evolution of the event so the activity service can run any necessary updates.&lt;/p&gt;&lt;h4&gt;&lt;a id="Parameters" name="Parameters"&gt;&lt;/a&gt;Parameters&lt;/h4&gt;&lt;table cellspacing="0" cellpadding="2" width="99%" class="WikiTable"&gt;&lt;thead&gt;&lt;tr class="WikiTableBgBlue"&gt;&lt;th&gt;Name&lt;/th&gt;&lt;th&gt;Type&lt;/th&gt;&lt;th&gt;Description&lt;/th&gt;&lt;th&gt;Required&lt;/th&gt;&lt;th&gt;Default&lt;/th&gt;&lt;th&gt;Options&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;controller&lt;/td&gt;&lt;td&gt;&lt;code&gt;[[IActivityStoryController Plugin Supplementary Type|IActivityStoryController]]&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Controller&lt;/td&gt;&lt;td&gt;Required&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div class="documentation-extensions"&gt;&lt;h2&gt;&lt;a id="Extensions" name="Extensions"&gt;&lt;/a&gt;Extensions&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;[[IActivityStoryContentType Plugin Type|IActivityStoryContentType]]&lt;/li&gt;&lt;li&gt;[[ISecuredViewActivityStoryType Plugin Type|ISecuredViewActivityStoryType]]&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;/div&gt;&lt;hr class="generated-documentation-end" style="border-width:0;" /&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;
</description></item></channel></rss>