Index: openacs-4/packages/rss-support/www/doc/index.html =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/rss-support/www/doc/index.html,v diff -u -r1.2 -r1.3 --- openacs-4/packages/rss-support/www/doc/index.html 5 Nov 2001 02:53:33 -0000 1.2 +++ openacs-4/packages/rss-support/www/doc/index.html 5 Nov 2001 04:13:17 -0000 1.3 @@ -45,12 +45,12 @@
  • Publisher wishes to syndicate the Bar Forum in the Foo Bboard package instance. -
  • Luckily, the bboard package implements the summary service contract for - context type bboard:forum of which the Bar Forum is an example. +
  • Luckily, the bboard package implements the summary service + contract for individual forums.
  • Programmer registers the context identifier for the Bar Forum with -summary service, indicating that the summary should be built no more -than once per hour. +the summary service, indicating that the summary should be built no +more than once per hour.
  • Summary is available at /some/url/specific/to/bar/forum/summary.xml @@ -66,13 +66,13 @@ The feed generation service contract is called RssGenerationSubscriber and consists of two operations.
      -
    1. Datasource(context_identifier) returns a data +
    2. Datasource(summary_context_id) returns a data structure that contains all required metadata fields plus configuration information such as the RSS version to be used (0.91 or 1.00 are supported at present). This data structure contains everything needed to run rss_gen. -
    3. LastUpdated(context_identifier) returns a timestamp +
    4. LastUpdated(summary_context_id) returns a timestamp that is used to determine if the live summary is out of date.
    @@ -82,35 +82,46 @@

    -Implementation suggestions: +RSS files.All summaries are static files. They are served +from a static directory under the webroot specific by the +RssGenOutputDirectory, which defaults to rss. The full +path to an RSS file is given by +

    +/${RssGenOutputDirectory}/${ImplementationName}/${summary_context_id}/rss.xml
    +
    -
      -
    1. All summaries are static files. We will devise an appropriate file-naming scheme. +Note: we assume that ${ImplementationName} and +${summary_context_id} contain OS- and URL-friendly +characters. -
    2. A programmer registers a context with the summary service through API functions - (we can make it possible through web UI as well if that makes sense). +

      -

    3. A summary context is a content-containing domain which implements - the summary service contract. A summary context is not identical - to a package instance. For example, a single bboard package - instance might contain 3 summary contexts, one for each of the - forums in the instance. +Subscription. A programmer registers a context with the +summary service through API functions (we can make it possible through +web UI as well if that makes sense). -
    4. A scheduled proc runs through all registered contexts, checking to see if the - live summary is stale and also if the minimum "quiet time" has elapsed. +

      -

    5. If the conditions for rebuild are met for a context, the scheduled - proc pulls out the context's summary data via - Datasource and uses the information to build a new - summary page. This generic and simple scheme can be used to - dispatch different versions of the summary builder as well as to - support extensibility via modules. Warning: - This design expects the output of Datasource to be - reasonably small, as we will have to parse this list-of-lists to - generate a summary. +Summary context. A summary context is a content-containing +domain which implements the summary service contract. A summary +context is not identical to a package instance. For example, a single +bboard package instance might contain 3 summary contexts, one for each +of the forums in the instance. -
    +

    +Service. A scheduled proc runs through all subscribed +contexts, checking to see if the live summary is stale and also if the +minimum "quiet time" has elapsed. If the conditions for rebuild are +met for a context, the scheduled proc pulls out the context's summary +data via Datasource and uses the information to build a +new summary page. This generic and simple scheme can be used to +dispatch different versions of the summary builder as well as to +support extensibility via modules. Warning: +This design expects the output of Datasource to be +reasonably small, as we will have to parse this list-of-lists to +generate a summary. +

    2. Feed Parsing

    (aeg's vague ideas: needs can vary. I can imagine slurping the content into