Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

An important requirements for Synapse Discussion Forum is notifying users being notified when important events happen. For example, a moderator receives notifications when someone posted a question on his/ her forum. An author receives notifications when someone answered to his/ her question.

In early discussion about notifications for Discussion Forum, we recognize that this kind of notifications is different from the Synapse Email Services that we have. In this case, users may want to subscribe to a topic or an object in Synapse and received notifications when something changed within this topic/ object. When receiving notifications about the events, user may or may not want to take any action. Users should also be able to choose the type of notifications they would like to receive, and be able to unsubscribe to a topic/ object and still receive notifications about events that happen around another topic/ object.

Mockups

User has not subscribe/ watch this thread and this forum.

Image Added


User who subscribed/ watching this thread and this forum.

Image Added


User logged in to unsubscribe/ stop watching this thread.

Image Added


Models

Image Added

API


ActionIntended UserURIMethodRequest ParamsRequest BodyResponse Body
1subscribe to a topicSynapse users who has READ permission on the object/subscriptionPOST
TopicSubscription
2retrieve subscriptions a user has for a given list of topicsSynapse users/subscription/listPOST
SubscriptionRequestSubscriptionPagedResults
3unsubscribe to a topicSynapse users who created this subscription/subscription/{subscriptionId}DELETE


4retrieve all subscriptions for a userSynapse users/subscription/allGETlimit, offset, objectType (optional)
SubscriptionPagedResults
5retrieve a subscriptionSynapse users who created this subscription/subscription/{subscriptionId}GET

Subscription
6retrieve subscribers for a topicSynapse users/subscription/subscribersPOSTnextPageTokenTopicSubscriberPagedResults
7retrieve number of subscribers for a topicSynapse users/subscription/subscribers/countPOST
TopicSubscriberCount
8subscribe to all topics with the same SubscriptionObjectTypeSynapse users/subscription/allPOSTobjectType
Subscription


SubscriberPagedResults
String nextPageToken
List<String> subscribers


SubscriberCount
long count