<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/"><channel><title>INotificationType Plugin Type</title><link>https://community.telligent.com/community/13/w/api-documentation/72204/inotificationtype-plugin-type</link><description>&lt;p&gt;&lt;span&gt;Developing on Verint Community? Use the API documentation as a reference for all supported interactions with Verint Community.&lt;/span&gt;&lt;/p&gt;</description><dc:language>en-US</dc:language><generator>14.0.0.586 14</generator><item><title>INotificationType Plugin Type</title><link>https://community.telligent.com/community/13/w/api-documentation/72204/inotificationtype-plugin-type</link><pubDate>Fri, 08 Mar 2024 17:11:29 GMT</pubDate><guid isPermaLink="false">152e70cd-2a1e-4e77-8115-d0902e14131f</guid><dc:creator>Ben Tiedt</dc:creator><comments>https://community.telligent.com/community/13/w/api-documentation/72204/inotificationtype-plugin-type#comments</comments><description>Current Revision posted to API Documentation by Ben Tiedt on 03/08/2024 17:11:29&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 notifications.  Each type has a sub interface that also defines how to get the item.&lt;/p&gt;&lt;p&gt;&lt;code&gt;INotificationType&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;Definition&lt;/h2&gt;&lt;pre&gt;interface INotificationType : [[IPlugin Plugin Type|IPlugin]]
{
	bool IsCacheable { get;  }
	string NotificationTypeCategory { get;  }
	string NotificationTypeDescription { get;  }
	Guid NotificationTypeId { get;  }
	string NotificationTypeName { get;  }
	bool VaryCacheByUser { get;  }
	bool CanDeleteNotification(Guid notificationId, int userId);
	string GetMessage(Guid notificationId, string target);
	string GetTargetUrl(Guid notificationId);
	void SetController([[INotificationController Plugin Supplementary Type|INotificationController]] controller);
}
&lt;/pre&gt;&lt;/div&gt;&lt;div class="documentation-members properties"&gt;&lt;h2&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;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 GetMessage().&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;NotificationTypeCategory&lt;/td&gt;&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;&lt;td&gt;The category to group the notification type into.&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;NotificationTypeDescription&lt;/td&gt;&lt;td&gt;&lt;code&gt;string&lt;/code&gt;&lt;/td&gt;&lt;td&gt;A description of the notification 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;NotificationTypeId&lt;/td&gt;&lt;td&gt;&lt;code&gt;Guid&lt;/code&gt;&lt;/td&gt;&lt;td&gt;A Guid uniquely identifying the notification 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;NotificationTypeName&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 notification created for this item.  For example, blog posts use “Blog Post Notification”.&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;Methods&lt;/h2&gt;&lt;h3&gt;	bool CanDeleteNotification(Guid notificationId, int userId);
&lt;/h3&gt;&lt;p&gt;Used to check whether a user can delete a notification.&lt;/p&gt;&lt;h4&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;notificationId&lt;/td&gt;&lt;td&gt;&lt;code&gt;Guid&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Notification 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;Return Type&lt;/h4&gt;&lt;p&gt;&lt;code&gt;bool&lt;/code&gt;&lt;/p&gt;&lt;h3&gt;	string GetMessage(Guid notificationId, string target);
&lt;/h3&gt;&lt;p&gt;Returns the view of the notification for a given target (Html, Text, ShortText).&lt;/p&gt;&lt;h4&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;notificationId&lt;/td&gt;&lt;td&gt;&lt;code&gt;Guid&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Notification 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;target&lt;/td&gt;&lt;td&gt;&lt;code&gt;string&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;Html, ShortText, Text&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;h4&gt;Return Type&lt;/h4&gt;&lt;p&gt;&lt;code&gt;string&lt;/code&gt;&lt;/p&gt;&lt;h3&gt;	string GetTargetUrl(Guid notificationId);
&lt;/h3&gt;&lt;p&gt;Returns a target URL related to the notification&lt;/p&gt;&lt;h4&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;notificationId&lt;/td&gt;&lt;td&gt;&lt;code&gt;Guid&lt;/code&gt;&lt;/td&gt;&lt;td&gt;Notification 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;Return Type&lt;/h4&gt;&lt;p&gt;&lt;code&gt;string&lt;/code&gt;&lt;/p&gt;&lt;h3&gt;	void SetController(INotificationController 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 notification service can perform any necessary updates.&lt;/p&gt;&lt;h4&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;[[INotificationController Plugin Supplementary Type|INotificationController]]&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;Extensions&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;[[IDelayableNotificationType Plugin Type|IDelayableNotificationType]]&lt;/li&gt;&lt;li&gt;[[IDisabledContentNotificationType Plugin Type|IDisabledContentNotificationType]]&lt;/li&gt;&lt;li&gt;[[IEmailAttachmentNotificationType (v2) Plugin Type|IEmailAttachmentNotificationType]]&lt;/li&gt;&lt;li&gt;[[IEmailAttachmentNotificationType Plugin Type|IEmailAttachmentNotificationType]]&lt;/li&gt;&lt;li&gt;[[IEmailFromNotificationType Plugin Type|IEmailFromNotificationType]]&lt;/li&gt;&lt;li&gt;[[IEmailHeaderNotificationType Plugin Type|IEmailHeaderNotificationType]]&lt;/li&gt;&lt;li&gt;[[IEmailNotificationType Plugin Type|IEmailNotificationType]]&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>