[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Meta-service doc/collection




For Connections 2.0, we're enabling the management of blog instances using atompub. In our service document, there will be a separate workspace with a single collection, each member entry represents a blog owned by the authenticated user.

for instance,
  <entry>
    <id>...</id>
    <title>blog title</title>
    <content>blog description</content>
    <updated>...</updated>
    <author><name>james</name></author>
  </entry>

In the initial post, the id, updated and author elements are ignored. We replace those values with server generated values.

The title and content elements provide the name and short text description of the blog.

Once created, a new workspace is added to the service document. each workspace represents one blog. Each workspace/blog exposes several collections (entries, media, comments, etc).

There are a few additional things we do to manage access control and advanced blog settings but those aren't really important here.

- James

Tim Bray wrote:

I'm turning back to mod_atom after ignoring it for a couple of months. One of the problems is that you create a blog by adding a line to the Apache config file. One config-file line, one publication, nice and simple. This doesn't scale if you want to create/destroy pubs much at all. So I've been wondering how you'd go about allowing people to create publications without screwing with config files. The answer is obvious: you have one service doc and collection, where the entries represent the publications, with links to the service docs. Then you can create and delete publications and update their metadata via the Atom Protocol with POST/PUT/DELETE to the "meta-service" doc and the links in the "meta-collection" doc.

Interesting question: to create a new publication, do you need to post an Entry with <content type="application/atomsvc+xml">? I don't think so...

Anyhow... is that all one needs to say? Or are there some other things to be worked out that might benefit from standardization? I'll have a more informed opinion after I finish implementing.

It occurs to me that having a <link rel="meta-service" href="URI of meta-service doc" /> might be nice. But I don't need one so maybe YAGNI.

  -Tim