Am 18.07.2005 um 23:21 schrieb Mark Nottingham:
On 18/07/2005, at 2:17 PM, Stefan Eissing wrote:

On a more semantic issue:

The described sync algorithm will work. In most scenarios the abort condition (e.g. all items on a historical feed are known) will also do the job. However this still means that clients need to check the first fh:prev document if they know all entries there - if my understanding is correct.

This is one of the unanswered questions that I left out of scope. The consumer can examine the previous archive's URI and decide as to whether it's seen it or not before, and therefore avoid fetching it if it already has seen it. However, in this approach, it won't see changes that are made in the archive (e.g., if a revision -- even a spelling correction -- is made to an old entry); to do that it either has to walk back the *entire* archive each time, or the feed has to publish all changes -- even to old entries -- at the head of the feed.

I left it out because it has more to do with questions about entry deleting and ordering than with recovering state. it's an arbitrary decision (I had language about this in the original Pace I made), but it seemed like a good trade-off between complexity and capability.

It is a valid starting point. I am just wondering what consequences it has on client implementations. Let's say CNN goes stateful, how would a client handle a history which soon consists of thousands of entries. How would a server best offer such a history to avoid clients retrieving it over and over again. Probably nobody has a good idea on that one, or?

I have the feeling that clients will need to protect themselves from servers with almost infinite histories. So a client will probably offer a XX days into the past, max NN entries setting in its UI. Maybe that is all that's needed.

How about:
"In case feeds are served via HTTP, server implemenations SHOULD offer ETag and Last-Modified headers on history documents (see RFC 2616 xxx). Clients SHOULD persist ETag and Last-Modified information and use If-* headers to ease server load on history synchronization."

//Stefan

Reply via email to