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.4 -r1.5 --- openacs-4/packages/rss-support/www/doc/index.html 11 Nov 2001 02:01:39 -0000 1.4 +++ openacs-4/packages/rss-support/www/doc/index.html 11 Nov 2001 05:35:21 -0000 1.5 @@ -9,128 +9,22 @@ Dave Bauer
-

- -From the specification, - -

-RDF Site Summary (RSS) is a lightweight multipurpose extensible -metadata description and syndication format. RSS is an XML -application, conforms to the W3C's RDF Specification and is extensible -via XML-namespace and/or RDF based modularization. -
- -This service package provides low-level support for generating and parsing RSS feeds. - -

1. Feed generation

- -Feed generation is the process of summarizing local content as RSS -xml. To generate a feed we need to know - -The last item is included with an eye toward performance. In the -event that a particular summary is expensive to produce, we may opt -to rebuild at most every N minutes (or hours, or days). - +
  • Design Notes +
  • Bboard Sample Implementation

    - -Usage scenarios - -

    -

    -Service contract -

    -The feed generation service contract is called RssGenerationSubscriber and consists of two operations. - -

      -
    1. 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. - -
    2. LastUpdated(summary_context_id) returns a timestamp -that is used to determine if the live summary is out of date. The -timestamp is given as the number of seconds since midnight on January -1, 1970, i.e. Unix time. -
    - -

    - -Under the hood - -

    - -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
    -
    - -Note: we assume that ${ImplementationName} and -${summary_context_id} contain OS- and URL-friendly -characters. - -

    - -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). - -

    - -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 -the db or converting to includable ADPs using XSLT. Service contract -operations are used to generate mappings to RDBMS tables or stylesheets. - -
    aegrumet@alum.mit.edu,