|
Re: Last whack at the issues: msg#00132network.syndication.atom.protocol
<co-chair-mode> I know it's a bit late and you're all looking to wrap this spec up pretty soon, but I have some questions and observations to make, which I have been saving up until I knew more about the way you work and the history of APP. I'm both a relative newbie to APP and a latecomer to the discussion, so I don't expect my comments to be wholeheartedly embraced. :-) Also, I'm sure much of what I say below has been argued to death in the dense threads of the list, so I apologise in advance where this is true. I tried tracking down discussion on a couple of my points, but failed to navigate the thick undergrowth of APP history... So, please perhaps treat my comments as advance warning of the kinds of reactions you may expect to get once you finalise and publish this protocol to a wider, non-list-contributing audience. If you could see it this way, and not flame me, I would of course be most grateful! :-) I know everyone here wants to produce a protocol they're proud to hold up as a great example of good engineering. I personally want to be able to hold up the APP as a great example of how to do a REST protocol. I don't want to have to qualify my enthusiasm... So, here goes... [All comments WRT draft 09] Differentiating APP from 'Web' Service models --------------------------------------------- When I first came across the APP, I was disappointed that it had concepts such as introspection, discovery and service - all rather non-REST, Servicey concepts - around the Introspection Document. There is a danger of not differentiating the APP's REST approach from the Service-Oriented world view that I and many others are trying to distance ourselves from. In fact, we'd like to use the Atom Publishing Protocol as an example of how to do it better, without causing confusion by using Servicey terms. The motivations of the list are perhaps not the same as mine..! Collections ----------- Why invent new term 'member', for entry and 'collection' for feed? Alternatively, if collection/member really is a different thing from a feed - it really is a kind of elemental structural data type - then why not use it for Introspection Documents: why not just have collections of collections? Here, a feed would just be a 'subclass', usage or specialisation of the 'collection' type. This Introspection Document could be a collection (site) of collections (workspaces) of collections (feeds). Then one could have a few or as many nested collections as one wished. There are just too many concepts in the Introspection Document, which jars against the preference towards simplicity we all like as REST practitioners and protocol designers. It's also very specific to the blog-site use-case. I know that's the whole point - and what the WG is tasked with - but this restriction is actually unnecessary even in that context. Collections, Feeds and Entries ------------------------------ Is there one 'collection' Atom Feed for APP use, and one normal Atom Feed for subscribers? In other words, is the collection URI also the Atom Feed URI? If not, it would be nice to say so and to say why not. I don't see any reason for two URIs but would like to see arguments for it if so. Atom Feed Document: is it optional whether this is just a list of links to entries versus a normal Atom 1.0 feed with content included alongside these links? Could we have an example of a full Atom Feed Document/Collection, with URIs, if so? The example URI for getting an entries Collection 'http://example.org/entries/go' is imperative in style (action on the URL). It may be better to use the more declarative form 'http://example.org/entries/' (or 'http://example.org/entries/head' if you really want something to indicate headness..). Presumably the visibility of draft Entries is determined by the auth on the Feed/Collection? Or is this the (single?) case which justifies a separate Collection (editable) URI to the Atom Feed (public, read-only) URI? Why does the Introspection Document declare the 'accept' mime type, not the collection itself? In REST, I understood that the sense of what you could do comes from the thing on which you intend act (e.g. a form inside a page), not from a separate resource that points to it. Again, if the nested collection approach were used, this would be where 'accept' would go - in the relevant collection itself (in case there wasn't an enclosing collection to declare it). Entry Editing: Separate URIs ---------------------------- Why do we need the word 'edit' in the URI? What is the point of the <link rel='edit'..> and <link rel='edit-media'..>? What's different about an Entry with 'edit' in it compared to one without? What's the point of having a separate 'edit' URI? 'Clients MUST NOT assume that the URI provided by the Location header can be used to edit the created entry' - why not? Isn't that the REST way? Shouldn't then the Location: URI differ from this 'edit' URI, if you need it? What if you GET the 'edit' URI? '.. SHOULD perform a GET on the member resource before editing' - on which URI? the 'edit' one? Thanks for listening - I hope what I'm asking makes sense, and someone kind will reply in an informative, flame-free way!! Cheers! _____________________________________ Duncan Cragg http://duncan-cragg.org/blog/ |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Last whack at the issues: 00132, James M Snell |
|---|---|
| Next by Date: | Re: collections (was: Last whack at the issues): 00132, Eric Scheid |
| Previous by Thread: | Re: Last whack at the issuesi: 00132, James M Snell |
| Next by Thread: | Re: collections (was: Last whack at the issues): 00132, Eric Scheid |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |