Abstract
Same as PaceConfigurableCollectionOrdering without the "app:created" and "ordered by app:created" stuff.
Status
Open (ThomasBroyer)
Rationale
PaceConfigurableCollectionOrdering adds a new element app:created and defines that a Collection Feed could be ordered by that new value. WG members might find it a little "too much" relative to draf-atom-protocol-09, so here's a version of the Pace with only atom:updated- and app:modified-based orderings.
Given that there is now only two possible orderings, the "app:details-level" is changed to an "app:minor-changes-shown" element.
See PaceConfigurableCollectionOrdering for the whole rationale.
Proposal
Replace the second paragraph of section 9 in draft-atom-protocol-09 with:
The ordering of entries in the feed depends on the value of the "app:minor-changes-shown" element (see section 10.3).
Add the following two new subsections in section 10:
10.3 The "app:minor-changed-shown" element appMinorChangesShown = element app:minor-changes-shown { atomCommonAttributes, "yes" | "no" } The "app:minor-changes-shown" element MAY appear as a child of an "atom:feed" which represents a Collection. The "app:minor-changes-shown" element, if it does appear in a feed, MUST only appear at most one time. The "app:minor-changes-shown" element is considered foreign markup as defined in Section 6 of [RFC4287]. The "app:minor-changes-shown" element's content MUST be either "yes" or "no". If the "app:details-level" is not provided, both clients and servers MUST behave as if it were present with a value of "no". The value "no" signifies that entries are ordered by their "atom:updated" value. The value "yes" indicates that entries are ordered by their "app:modified" value (see section 10.4). Both clients and servers MUST ignore foreign attributes present in the "app:minor-changes-shown" element. 10.4 the "app:modified" element appModified = element app:modified { atomDateConstruct } The "app:modified" element MAY appear as a child of an "atom:entry" which is being created or updated via the Atom Publishing Protocol. The "app:modified" element, if it does appear in an entry, MUST only appear at most one time. The "app:modified" element is considered foreign markup as defined in Section 6 of [RFC4287]. The "app:modified" element is a Date construct indicating the instant in time when the entry was last modified. The "app:modified" element is very similar to the Last-Modified HTTP header, thus, when included in an Atom Entry Document, its value SHOULD be the same as the one of the Last-Modified HTTP header applying to the entity. If the "app:modified" element is not present, clients MUST behave as if it were present with the same value as the "atom:updated" element. If the "app:modified" element is present in an Atom Entry sent to a server in the body of a POST or PUT request, the server MUST ignore it and its value.
In section 7.2.3 (the "app:collection" element), replace the second sentence with:
Two child elements are defined here for app:collection: app:accept and app:minor-changes-shown.
Add the following new subsection to section 7.2:
7.2.5 The "app:minor-changes-shown" element The app:collection element MAY contain one "app:minor-changes-shown" element. The "app:minor-changes-shown" element is defined in section 10.3. When used as a child of app:collection, its value is a hint for clients and SHOULD have the same value as the "app:minor-changes-shown" present in the Atom Feed referenced by the app:collection's "href" attribute. Note that the "app:minor-changes-shown" element within an app:collection does not override the actual media type returned within the Collection's Atom Feed.
Impacts
Example usage: clients could warn users that the server's configuration is not optimized for the use they want (online or offline mode), so they could fix the server's configuration (if they can, of course).
Notes
This Pace uses the "app" namespace rather than the "pub" one, as if PaceOneAppNamespaceOnly had been accepted, but it does not depend on it.