On 11/8/05, Kyle Marvin <[EMAIL PROTECTED]> wrote: > > Not that we need *more* options, but when we do introspection (whether > in core or elsewhere), I'm wondering why we need to invent any new XML > format. Why can't the introspection document just (itself) be an > Atom feed,
This is what I keep saying and saying. I posted a pace last night. I don't use the collections terminology, though. http://www.imc.org/atom-protocol/mail-archive/msg03040.html What do you think? - Luke > where entries describe collections and categories are used > to link related collections? > > The following example seems suitable, is valid Atom, and fully > represents the model shown in the draft-06 introspection document > example (7.2): > > <feed xmlns="http://www.w3.org/2005/Atom" > xmlns:app="http://purl.org/atom/app#"> > <title>My Blog Collections</title> > <id>{service id}</id> > <updated>2005-11-04T20:00:02Z</updated> > <entry> > <id>{collection id 1}</id> > <updated>2005-11-04T18:30:02Z</updated> > <title>My Blog Entries</title> > <category>Main Site</category> > <link rel="collection" href="http://example.org/reilly/main"/> > <app:member-type>entry</app:member-type> > <app:list-template>http://example.org/{index}</app:list-template> > </entry> > <entry> > <id>{collection id 2}</id> > <updated>2005-11-04T20:00:02Z</updated> > <title>Pictures</title> > <category>Main Site</category> > <link rel="collection" href="http://example.org/reilly/pic"/> > <app:member-type>media</app:member-type> > <app:list-template>http://example.org/p/{index}}</app:list-template> > </entry> > <entry> > <id>{collection id 3}</id> > <updated>2005-11-03T9:00:02Z</updated> > <title>Remaindered Links</title> > <category>Side Bar Blog</category> > <link rel="collection" href="http://example.org/reilly/list"/> > <app:member-type>media</app:member-type> > <app:list-template>http://example.org/l/{index}</app:list-template> > </entry> > </feed> > > Some basic benefits: > > - No format invention. This one is already well-specified and agreed upon :) > > - Uses <atom:category> values to link related collections. > > - The built-in extensibilty of <atom:feed> and <atom:entry> provides a > nice place to hang service-level and/or collection-level metadata. > This makes it easy to add domain-specific metadata downstream for > specific types of collections (like blogs). > > - An Atom client should already have a parser for the above readily available > :) > > - Lots of other standard atom elements seem like they might be apropos > to include as collection metadata (author, contributors, rights, ...). > > - <atom:updated> could be used on collection entries for fast sync > using only the introspection document (i.e. it is the time of the last > change to the collection). > > - If someone wanted to expose a model for editting collections, that > would be pretty logical too (just use APP on the above... POST an > entry to create a collection, etc). > > - Nesting _could_ be supported if desired through one of two mechanisms: > > * A "collection" link that simply indirects to another introspection > document feed, or: > * use hierarchical categories. (ex. "Main Blog/Photos" from Robert's > outline pace) > > (I lean towards the hierarchical categories because a) a > non-nesting-aware client could still present a view of the full set of > collections and b) all collections are returned within a single > introspection document [one GET vs. link traversal]). > > - I think the spec language for the above could be pretty short and > sweet. Just define the collection link relation (a required element > in collection-describing entries), a description of any collection > metadata extension elements that reaches consensus (like media types, > list templates, or ...), and possibly updated semantics for collection > entries. > > It feels to me, like minimal invention, being elegantly > self-referential, and maybe even close to the simplest thing that > could possibly work. This also seems obvious enough that either a) > someone has suggested it before and I missed it, and/or b) it is a > really dumb idea for reasons I'm missing. > > I can write this up in PACE form, pending positive response and the > results of the consensus call on introspection. > > --- Kyle > >
