Abstract
-
Assumes the Collection feed model described in PaceReworkProtocolModel
-
Eliminate -06 style introspection documents.
-
Redefines app:member-type as an extension to the atom:feed returned by GET'ing the Collection URI
-
Eliminates the need to explicitly call out media collections (all collections are media collections; collections MAY constrain their membership to specific member types; "entry collections" are media collections that constrain their membership to Atom Entry Documents.
-
Allows clients to POST whatever they want (valid or invalid). Who creates the value of atom:id is not material to the basic protocol. Whether or not the atom:entry is valid is not material to the basic protocol. The server will accept/reject whatever it chooses.
Status
Withdrawn
Rationale
Significantly simplifies the collection model in the core protocol. Workspaces and multiple collection introspection can safely be moved out to a separate I-D. No need to explicitly define "media collections"... there are just "Collections which can optionally constrain their member types".
Proposal
4 Collection Membership APP Collection resources MAY choose to constrain the types of member resources that may be contained within the collection. 4.1 The 'app:member-type' extension element Atom Feed Documents returned by Collection resources MAY contain one 'app:member-type' elements whose content value specifies the type of member resources contained by the collection. The 'app:member-type' extension MUST only appear as a child of the atom:feed element. appMemberType = element app:member-type { appCommonAttributes, ( 'entry' | extensionType ) } extensionType = ( NMTOKEN | IRI | media-type) <feed xmlns="http://www.w3.org/2005/Atom"> ... <app:member-type>entry</app:member-type> </feed> This specification defines the app:member-type value 'entry' to indicate a collection whose member resources consist entirely of Atom Entry Documents. If the 'app:member-type' element is not specified, the membership type of a Collection is considered to be unspecified. If the 'app:member-type' element specifies a value that is not understood by the client, the client MUST ignore the 'app:member-type' and continue to operate as if the element were not specified. If a client sends a POST or PUT request to the server containing a representation not supported by the Collection resource, the server MAY return a status code of 415 ("Unsupported Media Type").