UserPreferences

PaceReworkCollectionMembership


Abstract

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").

Impacts

Notes


CategoryProposals