UserPreferences

PaceReworkProtocolModel


Abstract

Reworks the Protocol Model description using a Collection Feed model similar to that described in PaceFeedsNotCollections. GET on the Collection URI returns an Atom Feed.

Status

Withdrawn

Rationale

The existing Protocol Model section shows a pretty graphic and talks about the general use of the HTTP methods but does not provide a clear high level overview of how the Atom Publishing Protocol is intended to work.

Proposal

(Replace existing Protocol Model section with)

#. Protocol Model

The Atom Publishing Protocol uses HTTP methods to 
manipulate collections of editable Web resources.

APP Collections contain the IRI's and descriptive metadata
for zero or more member resources and are responsible for 
the creation of new member resources.

APP Collections are themselves Web resources identified by 
an IRI that MUST be resolvable into an HTTP URL.  In response 
to Collection HTTP GET requests sent to the Collection IRI,
Collection resources SHOULD return an Atom Feed Document
containing a list of atom:entry elements representative of 
member resources.  

Because Collections may contain extremely
large numbers of resources, a naive client could become
overwhelmed if the returned Atom Feed Document contained 
an atom:entry for every member of the Collection, and the 
server would waste large amounts of bandwidth and processing
time on clients incapable of handling the response.  As a 
result, the Atom Feed Document returned in response to a
simple GET request on the Collection IRI MAY represent a 
server-determined subset of the collection membership.

While each of the atom:entry elements contained in the Atom
Feed Document returned by the Collection is representative
of a single member resource, those entries MUST NOT be 
considered editable representations of the member resource.

Each member resource contained by a collection is associated
with an IRI that MUST be resolvable into an HTTP URL.  Each
atom:entry contained in the Atom Feed Document returned by
the Collection resource MUST contain one atom:link element
with a rel attribute value of "edit" whose href attribute 
specifies the IRI of the member resource.  

Clients retrieve an editable representation of a member 
resource by sending an HTTP GET request to the IRI of the 
member resource. 

Clients submit updates to member resources by sending an 
HTTP PUT request to the IRI of the member resource containing 
the updated representation of the resource.

Clients remove member resources by sending an HTTP DELETE 
request to the IRI of the member resource.

Clients may request the creation of a new member resources
by POSTing a representation of the new member resource to 
the Collection resource's IRI.

Impacts

Notes


CategoryProposals