Changes between Initial Version and Version 1 of Notifications


Ignore:
Timestamp:
Oct 20, 2009, 6:32:19 PM (15 years ago)
Author:
romw
Comment:

Initial dump

Legend:

Unmodified
Added
Removed
Modified
  • Notifications

    v1 v1  
     1= BOINC Notification System =
     2
     3As the number of projects increase it becomes increasingly difficult for volunteers to keep track of any relevant news a project publishes.  Volunteers may only check project websites once in a blue moon.  A system is needed to keep the volunteers engaged with a project.
     4
     5When we talk about volunteers in regards to this feature we are actually talking about three different types of volunteers:
     6 * A volunteer who attaches to a project but doesn’t participate in the forums.
     7 * A volunteer who attaches to a project and participates in the forums.
     8 * A volunteer who attaches to a project and becomes involved enough with the project that they begin to help the project with support issues.
     9
     10The volunteer should be in control of how much information is going to be exposed to them by way of the notification system.
     11
     12The rest of this document will describe how the notification system will work.
     13
     14== Feed ==
     15
     16When a volunteer attaches to a project, one or more notification feeds become available to them.  These feeds are published using the RSS 0.92 specification ([http://www.rssboard.org/rss-0-9-2 http://www.rssboard.org/rss-0-9-2]).
     17
     18Example feeds a project may wish to expose are:
     19 * Project news (http://<project_url>/rss_main.php)
     20 * Scientist blogs
     21 * Administrator blogs
     22 * Private Messages
     23 * Forum threads that a volunteer is monitoring
     24 * A whole forum to answer questions or to deal with problems as they arise.
     25
     26For private feeds no information should be provided without the full authenticator. Weak authenticators should be treated as though no authenticator has been provided.
     27
     28Example:
     29{{{
     30http://www.example.com/rss_main.php
     31http://www.example.com/forum_pm_rss.php?auth=4ebd3e5fd8a88f48ed708f04f81fefb7
     32}}}
     33
     34== Feed List ==
     35
     36The feed list is published to the client software as part of the client parse-able project preferences.
     37
     38When the client software connects to the server scheduler it’ll receive an updated list of feeds the client should download as well as any special properties about the feed(private feed for example).
     39
     40Example:
     41{{{
     42<notification_feeds>
     43    <feed>
     44        <url>http://www.example.com/rss_main.php</url>
     45        <name>Project News</name>
     46        <update >86400</update>
     47    </feed>
     48    <feed>
     49        <url>http://www.example.com/ forum_pm_rss.php</url>
     50        <name>Private Messages</name>
     51        <update >86400</update>
     52        <private />
     53    </feed>
     54</notification_feeds>
     55}}}
     56
     57Property table:
     58|| Attribute || Default Value || Meaning ||
     59|| url || <null> || The URL to access the feed ||
     60|| name || <null> || Volunteer friendly name for the feed ||
     61|| update || 86400 || Number of seconds in between updates ||
     62|| private || false || Should the authenticator be provided to the feed ||
     63|| disabled || false || feed is disabled and the client should not request updates ||
     64|| disabled_date || <null> || the epoch time in which the feed was disabled.  A month passed the date and both the server and client software should delete any relevant information about the feed. ||
     65
     66== Server Scheduler ==
     67The server scheduler is responsible for aggregating the various pieces of information about feeds and pushes the result to the client as part of the scheduler reply.  A similar process is used for the GUI URLs.
     68
     69General workflow:
     70 * Issue query to determine of the volunteer has customized their feeds.
     71 * Read feeds.xml for feed baseline.
     72 * Merge the results of feeds.xml and the results of the query, with preference given to the volunteer’s selections.
     73
     74If an empty result set is returned by the database, then pass the contents of feeds.xml unmodified.
     75
     76== Core Client ==
     77
     78== Client Manager ==
     79
     80== Screen Saver ==