Subscribe to news items comments: Implement ICommentNotificationsStrategy interface

You need to implement the ICommentNotificationsStrategy interface with a new CustomCommentNotificationsStrategy class that inherits from the  Telerik.Sitefinity.Services.Comments.Impl.Notifications.CommentNotificationsStrategy. To do this:

  1. In Visual Studio, open your Sitefinity CMS project.
  2. In the context menu of the project, click Add » Class...
  3. Name the class CustomCommentNotificationsStrategy.
    The new class must inherit the CommentNotificationStrategy class.
  4. Override the ShouldNotify method.
    The ShouldNotify method discriminates notifications based on the current comment event. By default, this method specifies that only published comments should raise notifications. Therefore, you need to override this method to return true without checking the comment status.
  5. Provide custom subscription keys.
    Sitefinity CMS uses different patterns for constructing the subscription keys for the different types of subscription. That is, the structure of the subscription key used for notification by thread differs from the structure of the subscription key used for notification by thread type. The unique structure of the subscription keys enables you to get the subscription list that is associated with certain event.

    You need to provide a unique pattern for constructing the subscription keys associated with the custom notification strategy and to integrate them with the existing notification type

  6. Notify the subscribers that have subscribed for this specific comment status.
    By default, when a comment event occurs Sitefinity CMS notifies all subscribers that have subscribed for the respective thread key or type.  

Use the following code sample:

Create a new class and name it CustomSubscriptionData.
The methods of the ICommentNotificationsStrategy interface for subscriptions expect a SubscriptionData object as a parameter. You can extend the SubscriptionData class to provide any additional information that you might need to use - in this case the comment status:

Use the following code sample:

Was this article helpful?