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
>
>

Reply via email to