[Cmf3k] Notes harvested from memory

Tres Seaver tseaver at palladion.com
Fri Aug 21 17:53:59 EDT 2009


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

The following notes are reconstructed from memory of the Boston.com and
other related deployments.




Asset Repositories
==================


Repository Overview
- -------------------

- - Each repository manages assets which are related (e.g., same source,
  same types, etc.)

- - Each repository imposes a given retention / archiving policy for the
  assets it stores.

- - Each repository exposes content to the rest of Plight via a set
  of RESTy views.


Repository Subsets
- ------------------

- - The ``subsets`` view on the repository returns an XML document
  describing the subsets available at the top level.

- - The same view can be used on an individual subset to query any
  additional narrowing / subsetting options.

- - Subsets may be based on any reasonably coherent property of the content.
  URLs for a subset MUST use path elements (perhaps with parameters),
  rather than the query string.

    o source (e.g, ``/source/reuters``)

    o type (e.g., ``/type/wirestory``, ``type/stockphoto``)

    o author (e.g., ``/author/jbloggs``)

    o column (e.g., ``/column/punditry``)

    o year, year + month, year + month + date (e.g., ``/year/2008``,
      ``/month/2008-10``, ``/date/2008-10-24``)

    o subject / keywords / taxonomy / tags (e.g., ``/subject/fishing``,
      ``/tag/brook_trout``)

    o ticker symbols (e.g., ``/ticker/NYSE-IBM``)

  etc.


Searching the Repository
- ------------------------

- - The default view on the repository returns an XML document describing
  the assets matching a given query, as expressed in the QUERY_STRING.

- - If the client does not specify sorting or limiting parameters in the
  query, the repository may impose default values (e.g., sort on the
  publication date, descending, with a limit of 50 assets).

- - Invoking the default view with a special query string
  (``?introspect=1``) returns an XML document describing the kinds of
  values which can be queried.

- - For values representing controlled vocabularies, these results may
  include URLs for additional queries which can be made to fetch the
  allowed terms.

- - The default view on a subset returns and XML document describing only
  the assets matching the subset, filtered further by the QUERY_STRING.

- - A default view on an asset returns an XML document describing only
  that asset.

- - The document returned by the default view will include a set of standard
  metadata for each asset.  This metadata set isbased on the Dublin Core
  and related specifications, as well as additional Plight-specific
  properties.

- - The document returned by the default view will include one or more links
  which can be used to return the asset's data.  The repository may be
  responsible for serving these resources directly, but they could point
  into another server, even one not maintained within Plight at all.

- - These links MUST be annotated with appropriate attributes (e.g.,
  ``type="<MIME type>"``, etc.) to permit the consuming application to
  handle them appropriately.

- - The repository SHOULD set the correct HTTP headers (``Expires``,
  ``Cache-control``, etc.) on every default view request, in order to
  permit appropriate caching of the results by client applications, or
  by an accelerator or reverse proxy.


Subscriptions
- -------------

- - Clients can subscribe to receive notification of updates to the any
  content in the repository.

- - Clients can subscribe similarly to receive notification of updates
  to a given subset within the repository, or to a given asset.

- - Clients create such subscriptions by posting a "callback URL" to the
  ``subscribe`` view of the desired resource (the repository, subset,
  or asset). the repository then posts a request to the registered URL
  whenever the indicate content changes, with a payload indicating the
  URI of the affected assets, as well as the type of the change.


Store-and-Forward
- -----------------

- - Rather than registering directly with the repository, clients can
  establish their subscriptions with a "forwarding" server, which
  functions as a "drop box" for updates from the repository.

- - The forwarding server maintains the corresponding subscription with
  the repository on behalf of the client.

- - The forwarding server maintains a queue per subscription, tracking
  adds / changes / removals which have not been pushed to / polled by
  the client.

- - Clients may register the subscripion in "push mode" by supplying a
  "callback URL", as well as indicating the frequency at which to
  receive updates.

- - Subscriptions whid do not have a "callback URL" operate in "pull mode":
  the client poll the subscription periodically for changes.




- --
===================================================================
Tres Seaver          +1 540-429-0999          tseaver at palladion.com
Palladion Software   "Excellence by Design"    http://palladion.com
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org

iD8DBQFKjxd3+gerLs4ltQ4RAm2HAKC9xbde6Ht+Cun45OQ6YL+OxWRXsQCfTgtu
WujHtbmOTJuyivikdVBqRyg=
=xNcT
-----END PGP SIGNATURE-----


More information about the Cmf3k mailing list