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