Abstract
Reverse the Directionality of the "previous" and "next" link relations, to bring APP in line with Mark Nottingham's Feed-History I-D.
Rationale
The directionality of the "previous" and "next" linked relations used for APP's collection paging facility clashes with the directionality of said relations assumed be the Feed-History I-D. This introduces interoperability problems with clients supporting both APP and Feed-History. (For further details see http://www.imc.org/atom-protocol/mail-archive/msg04645)
Proposal
Replace in the fourth paragraph of "section 9, Listing Collections" its last two sentences
Such partial feed documents MUST have an atom:link with a "next" relation whose "href" value is the URI of the next partial listing of the collection (the least recently updated member resources) where it exists. This is called "collection paging".
with
Such partial feed documents MUST have an atom:link with a "previous" relation whose "href" value is the URI of the previous partial listing of the collection (the least recently updated member resources) where it exists. This is called "collection paging".
To aid readability, reorder the link relations in "section 9.1, Collection Paging", i.e., change in its first paragraph the last sentence
Instead, the Atom feed document MAY contain link elements with "rel" attribute values of "next", "previous", "first" and "last" that can be used to navigate through the complete set of matching entries.
to
Instead, the Atom feed document MAY contain link elements with "rel" attribute values of "previous" and "next", "first" and "last" that can be used to navigate through the complete set of matching entries.
Furthermore, replace, in the second paragraph of "section 9.1",
The Atom feed document for the collection will then represent the first 'page' in a set of 10 linked feed documents. The "first" relation will reference the initial feed document in the set and the "last" relation references the final feed document in the set. Within each document, the "next" and "previous" link relations reference the preceding and subsequent documents.
with
The Atom feed document for the collection will then represent the most recent 'page' in a set of 10 linked feed documents. The "first" relation will reference the initial, least recent feed document in the set whereas the "last" relation references the final, most recent feed document in the set. Within each document, the "previous" and "next" link relations reference the preceding and subsequent documents.
Also, replace the example in "section 9.1, Collection Paging"
<feed xmlns="http://www.w3.org/2005/Atom"> <link rel="first" href="http://example.org/entries/go" /> <link rel="next" href="http://example.org/entries/2" /> <link rel="last" href="http://example.org/entries/10" /> ... </feed> The "next" and "previous" link elements for the feed 'page' located at "http://example.org/entries/2" would look like this: <feed xmlns="http://www.w3.org/2005/Atom"> <link rel="first" href="http://example.org/entries/go" /> <link rel="previous" href="http://example.org/entries/go" /> <link rel="next" href="http://example.org/entries/3" /> <link rel="last" href="http://example.org/entries/10" /> ... </feed>
with
<feed xmlns="http://www.w3.org/2005/Atom"> <link rel="first" href="http://example.org/entries/1" /> <link rel="previous" href="http://example.org/entries/9" /> <link rel="last" href="http://example.org/entries/go" /> ... </feed> The "previous" and "next" link elements for the feed 'page' located at "http://example.org/entries/9" would look like this: <feed xmlns="http://www.w3.org/2005/Atom"> <link rel="first" href="http://example.org/entries/1" /> <link rel="previous" href="http://example.org/entries/8" /> <link rel="next" href="http://example.org/entries/go" /> <link rel="last" href="http://example.org/entries/go" /> ... </feed>
Impacts
All current APP implementations, since their collection paging routine no longer has follow a chain of "next" relations, but one of "previous" relations.
The change does allow, however, Feed-History implementations, to traverse an APP collection in the same way as a chain of Subscription and Archive Documents.
Notes
See also http://www.ietf.org/internet-drafts/draft-nottingham-atompub-feed-history-05.txt for information on the Feed-History I-D.