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.