Subject: Re: Possibly contrary statements in Atompub and feed history I-Ds

From: "Joe Gregorio" <[email-masked]>
Date: Tue, 11 Sep 2007 11:32:35 -0400

On 8/27/07, Nikunj Mehta <[email-masked]> wrote:
> In that case, how can you correctly interpret rel="next" as "paged feed"
> allows lossy feed paging and "collection feed" requires lossless paging?

Sorry, but the feed paging in AtomPub is "lossy" if you follow the definition
of "lossy" in RFC 5005:

"""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.
"""

That is, if I break my paged AtomPub feeds into pages of 10 entries
each and if client A is trying to do a sync and client
B edits an old entry in the middle of the process then it is possible
that client A will miss some entries. For example, if my site has 20 entries
broken into two pages:

Page 1      [e0, e1, ... e9]
Page 2      [e10,e11,...,e19]

If client A requests Page 1 and shortly after client B
edits e11 then we get:

Page 1      [e11, e0, e1, ... e8]
Page 2      [e9, e10,...,e19]

When client A requests Page 2 it will miss e11. It will
also see e9 a second time. If I were writing a client
and wanted to make sure I got a good sync I would
finish a first pass at the sync and then go back to the
beginning and do a sync again until I saw an entry I
recognized, in this case e0.

   -joe

-- 
Joe Gregorio        http://bitworking.org

---

From: Nikunj Mehta <[email-masked]>
Date: Tue, 11 Sep 2007 13:47:27 -0700

I don't know how to interpret this - does Atompub draft have a bug, or 
is it intentionally underpromising. Looking at it in the context of 
answers I have heard from folks on this topic, it is the latter.

Also, it just feels like anyone implementing Atom should consider RFC 
5005 in conjunction with the Atompub spec, lest they be misled into 
thinking what "next" means.

Oh, and BTW, I did not know if paging meant fixed size paging. I hope 
that is not another implicit assumption everyone's making.

Nikunj