Abstract
-
Separate the Introspection format out into a separate WG Draft.
-
Allow <collection> as a top level element
-
Move media-type element to type attribute
-
media-type value to "entry" | mediaType | mediaRange
APP Introspection Pre-Draft -
-
(If the WG does not want to use the separate I-D approach, please see PaceReworkIntrospection for a fallback option)
Status
Proposed
Rationale
Separation of Concerns. A site-map style introspection document is orthogonal to the core APP operations but should still be defined by the WG. Separating the introspection stuff into a separate WG draft is a viable approach.
Simplification. Allowing the <collection> element to appear outside <workspace> simplifies the really-simple cases. media-type as an element doesn't make sense given that there's only one of 'em. Changing to attribute simplifies the document.
Improved deterministic selection. Changing media-type value from 'media' to "mediaType | mediaRange" increases the granularity of metadata on the collection allowing clients to deterministically select media collections appropriate for specific media types.
Proposal
Remove Section 7.
Section 4
-
Change first paragraph to:
The Atom Publishing Protocol uses HTTP to edit resources on the web. It provides a list based mechanism for managing collections of editable resources called member resources. The APP uses these HTTP verbs:
-
Change the diagram to
POST +--------------+ CREATE RESOURCE ---------> | | | Collection | GET | Resource | LIST RESOURCES <--------- | IRI | +--------------+ | PUT +--------------+ UPDATE RESOURCE ---------> | | | Editable | GET | Resource | GET RESOURCE <--------- | IRI | | | DELETE | | DELETE RESOURCE ---------> | | +--------------+
Remove the last paragraph in Section 4
Remove normative references to any "Introspection Document" in Section 5
Example
Simple Example <?xml version="1.0" ?> <app:introspection xmlns:app="http://www.w3.org/2005/Atom-Introspection"> <app:collection title="Bookmarks" type="entry" href="http://example.com/bookmarks" /> <app:collection title="Photos" href="http://example.com/photos" /> </app:introspection> Workspace Example <?xml version="1.0" ?> <app:introspection xmlns:app="http://www.w3.org/2005/Atom-Introspection"> <app:workspace title="My Weblog"> <app:collection title="Entries" type="entry" href="http://myblog.example.com/entries" /> <app:collection title="Photos" type="image/*" href="http://myblog.example.com/photos" /> <app:collection title="Files" href="http://myblog.example.com/files" /> </app:workspace> </app:introspection>