Skip to content

Rhaptos Software Development

Personal tools
You are here: Home » Development » Ongoing Development » RhaptosSubscriptionTool » Proposal

Proposal

Document Actions
Description of the RhaptosSubscriptionTool project

Motivation

Several community features (RhaptosCommunity, CMFBoardTab) have been in beta testing for the past 6 months or so, and the one major feature that has been requested by several users is the ability to recieve email notifications when someone posts to the forums.  Everyone doesn't want to get spammed by emails when the forums update, though, so users need a way to subscribe and unsubscribe from each item. 

This will probably only be used for forums at this point, but it should be made extensible enough that it can be used for other types of content in the future.

Assumptions

  • Users should be able to subscribe to any content that they can view, and not to content that they cannot view
  • Users should be able to unsubscribe to anything they are subscribed to
  • Users can only subscribe/unsubscribe if they are logged in

New Functionality

  • Content items that can be subscribed to will now have a link, button, portlet, or some other way of subscribing to it from its view page
  • Users that are subscribed to an object will get an email when it is updated
  • Users will have a page to manage their subscriptions and unsubscribe to them from that page
  • Content items that have already been subscribed to by a logged in user will have a link, botton, portlet, or some other way of unsubscribing to it from its view page

Components

  • A new Plone/Rhaptos Tool that manages all subscriptions for the whole Plone/Rhaptos Site.  It will keep track which objects any user has subscribed to and which users are subscribed to a specific object.  It will also send out the email notifications when an object is updated.  The notification system will have to be triggered by the object itself; the subscription tool will not automatically know when an object is updated.
  • A new widget of some sort (link, button, portlet, etc) will be available for content items to display on their view pages and allow subscribing and unsubscribing from the view page.
  • A new management page will be availble in the user preferences to manage subscriptions and cancel them if the user chooses to do so.

Workflows

  • To subscribe to an object:
    • Log in
    • Browse to the object you want to subscribe to
    • Click on the "Subscribe" link, portlet, or button
    • You will be returned to the samge page.  It won't interfere with any other tasks you are trying to perform by  taking you to another page
  • To unsubscribe to an object (Option 1):
    • Log in
    • Browse to the object you want to unsubscribe to
    • Click on the "Unsubscribe" link, portlet, or button
    • You will be returned to the same page.  It won't interfere with any other tasks you are trying to perform by taking you to another page
  • To unsubscribe to an object (Option 2):
    • Log in
    • Click on the "My account" link in the tool bar.  This will take  you to the options for your account.
    • Click on the link to the subscription management page.  This will show a lising of all objects you are subscribed to
    • Check the box for the object that you want to unsubscribe to.
    • Click on the Unsubscribe button
  • To cancel all subscriptions:
    • Log in
    • Click on the "My account" link in the tool bar.  This will take  you to the options for your account.
    • Click on the link to the subscription management page.  This will show a lising of all objects you are subscribed to
    • Check the select all box.
    • Click on the Unsubscribe button

Risks

  • We risk alienating users that become subscribed to an object (on purpose or on accident) and get tired of too much spam as the object gets updated.  This can be mostly avoided by making sure that the subscription links are clear and users know what they are getting into when they click it and by making sure that it is clear and easy to unsubscribe to content.

Future Work

This tool will start small, allowing some basic functionality targeted at use for forums, and will be expanded in the future to allow for more flexibility
  • Generalize the tool more so that more objects can use the subscription tool (If neccesary, hopefully it won't be)
  • Allow users the option to control how frequently they get notified.  This will help cut down on frustration due to spam.

Questions

  • Will the "Manage subscriptions" page be available even if you don't have any subscriptions?
  • What will the "Subscribe"/"Unsubscribe" widgets look like?
  • What will control which objects have the option to subscribe?  The objects themselves (change the view page to include the subscribe/unsubscribe widget), Permissions (have a permission for objects that will limit which objects allow subscriptions),  the Subscription Tool (it could keep track of all the types that allow subscriptions), the object's parent (include a portlet on the parent), or some combination of all?


Last modified 2006-07-27 11:52