[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