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>
