Changes between Version 25 and Version 26 of Notifications


Ignore:
Timestamp:
Nov 3, 2009, 12:50:02 PM (15 years ago)
Author:
romw
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Notifications

    v25 v26  
    1313
    1414The rest of this document will describe how the notification system will work.
     15
     16== Notification Flag Supported ==
     17Clients that support the BOINC Notification System should include the following flag in the scheduler request:
     18{{{
     19<notifications_supported />
     20}}}
     21
     22When the BOINC Server scheduler sees this flag it’ll include extra information in the scheduler reply that is to be included in the BOINC Client Feed stream.
     23
     24== BOINC Client Feed Stream ==
     25The BOINC Client feed stream is a special in memory RSS feed the BOINC Client software maintains for various user interface components.
     26
     27BOINC Server scheduler replies can add items to the feed stream as well as the client itself.
    1528
    1629== Feed ==
     
    2639 * A whole forum to answer questions or to deal with problems as they arise.
    2740
     41=== Request ===
     42
    2843Example:
    2944{{{
     
    3651|| auth || <null> || Authenticator of the volunteer requesting the feed data. NOTE: For private feeds no information should be provided without the full authenticator. Weak authenticators should be treated as though no authenticator has been provided.||
    3752|| last_guid || <null> || The last guid received by the client.||
     53
     54=== Response ===
     55
     56Example:
     57{{{
     58<channel>
     59    <item>
     60        <description>I need more disk space</description>
     61        <pubDate>Mon, 30 Sep 2002 01:56:02 GMT</pubDate>
     62        <guid>http://www.example.com/1</guid>
     63    </item>
     64    <item>
     65        <description>I need more memory ({1})</description>
     66        <pubDate>Sun, 29 Sep 2002 19:59:01 GMT</pubDate>
     67        <guid>http://www.example.com/2</guid>
     68        <param_1>64</param_1>
     69    </item>
     70</channel>
     71}}}
     72
     73Property table:
     74|| Attribute || Default value || Meaning ||
     75|| description || <null> || An xml encoded message that the volunteer needs to act on ||
     76|| pubDate || <scheduler reply time> || RFC 822 representation of the scheduler reply time ||
     77|| guid || <null> || Unique message ID prefixed with the master URL of the project ||
     78|| param_1 || <null> || Optional parameter for the item description ||
     79|| param_2 || <null> || Optional parameter for the item description ||
     80|| param_3 || <null> || Optional parameter for the item description ||
     81|| param_4 || <null> || Optional parameter for the item description ||
     82|| param_5 || <null> || Optional parameter for the item description ||
     83
     84'''NOTE''': While on face value the inclusion of the GUID to the client software might seem overkill, it serves two important purposes.
     85 * It can be used to prevent duplication messages from the same project from appearing in the user interface across multiple scheduler requests.
     86 * Provides a mechanism to display localizable server messages within the user interface.
    3887
    3988== Feed List ==
     
    70119|| application_only || false || Feed is used by an application and should not be shown in BOINC Manager or the BOINC Screen saver. ||
    71120
    72 == Notification Flag Supported ==
    73 Clients that support the BOINC Notification System should include the following flag:
    74 {{{
    75 <notifications_supported />
    76 }}}
    77 
    78 When the BOINC Server scheduler sees this flag it’ll include extra information in the scheduler reply that is to be included in the BOINC Client Feed stream.
    79 
    80 == BOINC Client Feed Stream ==
    81 The BOINC Client feed stream is a special in memory RSS feed the BOINC Client software maintains for various user interface components.
    82 
    83 BOINC Server scheduler replies can add items to the feed stream as well as the client itself.
    84 
    85121== Server Scheduler ==
    86122The 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.
     
    100136Where possible, notification messages should contain information on how to correct the problem.
    101137
    102 Channel items:
    103 {{{
    104 <channel>
    105     <item>
    106         <description>I need more disk space</description>
    107         <pubDate>Mon, 30 Sep 2002 01:56:02 GMT</pubDate>
    108         <guid>http://www.example.com/1</guid>
    109     </item>
    110     <item>
    111         <description>I need more memory ({1})</description>
    112         <pubDate>Sun, 29 Sep 2002 19:59:01 GMT</pubDate>
    113         <guid>http://www.example.com/2</guid>
    114         <param_1>64</param_1>
    115     </item>
    116 </channel>
    117 
    118 }}}
    119 
    120 Property table:
    121 || Attribute || Default value || Meaning ||
    122 || description || <null> || An xml encoded message that the volunteer needs to act on ||
    123 || pubDate || <scheduler reply time> || RFC 822 representation of the scheduler reply time ||
    124 || guid || <null> || Unique message ID prefixed with the master URL of the project ||
    125 || param_1 || <null> || Optional parameter for the item description ||
    126 || param_2 || <null> || Optional parameter for the item description ||
    127 || param_3 || <null> || Optional parameter for the item description ||
    128 || param_4 || <null> || Optional parameter for the item description ||
    129 || param_5 || <null> || Optional parameter for the item description ||
    130 
    131 '''NOTE''': While on face value the inclusion of the GUID to the BOINC client stream might seem overkill, it serves two important purposes.
    132  * It can be used to prevent duplication messages from the same project from appearing in the project list across multiple scheduler requests.
    133  * Provides a mechanism to display localizable server messages within the client software.
     138Example:
     139{{{
     140<scheduler_reply>
     141    <notification_feeds>
     142        ...
     143    </notification_feeds>
     144    <channel>
     145        ...
     146    <channel>
     147</scheduler_reply>
     148}}}
    134149
    135150=== Localizing Server Messages ===