On 19/07/2005, at 2:04 AM, Henry Story wrote:

Clearly the archive feed will work best if archive documents, once completed (containing a given number of entries) never change. Readers of the archive will have a simple way to know when to stop reading: there should never be a need to re-read an archive page - they just never change.

The archive provides a history of the feed's evolution. Earlier changes to the resources described by the feed will be found in older archive documents and newer changes in the later ones. One should expect some entries to be referenced in multiple archive feed documents. These
will be entries that have been changed over time.

Archives *should not* change. I think any librarian will agree with that.

I very much agree that this is the ideal that should be striven for.

However, there are some practical problems with doing it in this proposal.

First of all, I'm very keen to make it possible to implement history with currently-deployed feed-generating software; e.g., Moveable Type. MT isn't capable of generating a feed where changed entries are repeated at the top out of the box, AFAIK.

Even if it (and other software) were, it would be very annoying to people whose feed software doesn't understand this extension; their "show me the latest entries in the blog" feed would become "show me the latest changed entries in the blog", and every time an entry was modified or spell-checked, it would show up at the top.

So, it's a matter of enabling graceful deployment. Most of the reason I have the fh:stateful flag in there is to allow people to explicitly say "I don't want you to do history on this feed" because so many aggregators are already doing history in their own way.

The underlying problem, I think, is that different feeds have different semantics. Some will want every change to be included, others won't; for example, a blog probably doesn't need every single spelling correction propagated. There are some fundamental questions about the nature of a feed that need to be answered (and, more importantly, agreed upon) before we get there; for example, we now say that the ordering isn't significant by default; while that's nice, most software is going to infer something from it, so we need an extension to say 'sort by this', *and* have that extension widely deployed.

I tried to approach these problems when I wrote the original proposal for this in Pace form; I got strong pushback on defining a single model for a feed's state. Given that, as well as the deployment issues, I intentionally de-coupled the state reconstruction (this proposal) from the state model (e.g., ordering, deletion, exact semantics of an archive feed, etc.), so that they could be separately defined.

Cheers,

--
Mark Nottingham     http://www.mnot.net/

Reply via email to