UserPreferences

PaceCollectionFeed


Abstract

In an implementation of APP that I'm putting together, we'd like to be able to list what amount to read-only collections (Atom feeds that you can't POST to). To do this, I propose adding a readonly="yes|no" attribute to the app:collection element. This amounts to a bit of a shortcut for clients. If they see a <collection readonly="yes" />, the client will know up front that it should not try to POST anything to the collection. Doing so allows clients to present appropriate user interface options to the user up front, as opposed to presenting the collection as if it were editable only to find out after the client attempts to POST that it is not. The attrbute value is only reflective of the behavior of the collection URI and not on the individual entries.

<service>
  <workspace>
    <collection title="Entries" href="...">...</collection>
    <collection title="Trash" href"..." readonly="yes">...</collection>
  </workspace>
</service>

Status

Withdrawn

Rationale

(see abstract)

Proposal

Modify the app:collection definition to:

appCollection =
   element app:collection {
      appCommonAttributes,
      attribute title { text },
      attribute href { text },
      attribute readonly { 'yes'|'no' }?,
      ( appMemberType
        & extensionElement* )
   }

Add section 7.2.3.3

The app:collection element MAY contain a readonly attribute, the value of which is 
either 'yes' or 'no'.  A value of 'yes' indicates that clients SHOULD NOT attempt
to create new entries within the collection using POST.  Servers listing a collection
as read-only SHOULD respond to POST requests to the collection's URI with a status of 
405 Method Not Allowed.

Impacts

Notes


CategoryProposals