Thomas Broyer wrote:
2007/8/21, Nikunj Mehta:
§10.1 of AtomPub I-D expects collection partial lists aka pages to be
/lossless/.
Seems like we don't have the same definition of lossless then...
Allow me to clarify. A lossless paging is the following (this is my interpretation of §10.1 of AtomPub I-D):

   The partial list of entries obtained by GETting the collection's URI
   combined with partial lists obtained by following the rel="next"
   links in each of those partial lists MUST provide the snapshot of
   all of a collection's entries *as of the time *when the server
   responded to the GET request on the collection URI.

Per §3 of the feed history I-D,

it is not possible to guarantee that clients will be able to reconstruct the contents of the logical feed /at a particular time/

(emphasis mine)

On the contrary lossy paging occurs when there is no such guarantee, i.e., navigating between partial lists might produce the same entry twice or more, might skip an entry completely because it "disappeared in the boundary between pages".
Partial lists in AtomPub are subject to the following constraint:
    The first such partial list returned MUST contain the most recently
    edited member Resources and MUST have an atom:link with a "next"
    relation whose "href" value is the URI of the next partial list of the
    Collection. This next partial list will contain the next most recently
    edited set of Member Resources (and an atom:link to the following
    partial list if it exists).
If I am interpreting this right (without any formal model of course), then "next" implies the immediately "next most recently edited". To me, that means lossless.
So by definition, they are lossy, by the following definition of lossy:

§3 of Feed history I-D expects paged feeds to be lossy

   Paged feeds are lossy; that is, it is not possible to guarantee that
   clients will be able to reconstruct the contents of the logical feed
   at a particular time.  Entries may be added or changed as the pages
   of the feed are accessed, without the client becoming aware of them.
I respectfully disagree with this interpretation per my argument above. If the definition of partial lists and paging results in collection feeds being lossy, then how would we guarantee any synchronization of paged collections?
Conclusion: I don't see any conflict their.
Sorry I have come a little late to the feed history I-D party, but it looks like this spec is not strongly consistent with AtomPub (and the fact that the two don't even refer to each other's existence stinks, IMHO).

Furthermore, can someone point out which RFC or I-D defines link rel="first", link rel="last", link rel="next" and link rel="previous"?

Reply via email to