Tim Bray wrote:
Back in January, I posted about the idea of a "meta-publication",
something you can do CRUD on publications or collections.
Just to share how we manage this:
- Clients can create Atompub services by posting a request to a well
known endpoint, the content of the POST is an atom service document.
The request can include a Slug header for the client to suggest how
they'd like the service named. Clients can PUT and DELETE to the URI
of the created service document to update/delete the service.
- We avoid the problem of linking collections to workspaces by only
allowing one workspace per service (yeah that is a cop-out)
- Clients can create Atompub collections in a given service by
POSTing a request to the URI of the service document. The content of
this request is an Atom Feed document, and can contain any collection
or feed level metadata (or any other markup, foreign or not). Again
you can provide a Slug to suggest the name of the collection. You can
PUT and DELETE on the collection URI as you would expect. The service
document is modified to embed a collection declaration for the new
collection (just as a newly POSTed entry is added to the collection
feed).
Colm