On Wednesday, June 29, 2005, at 06:50  PM, A. Pagaltzis wrote:
My first thought upon reading the draft was what I assume is
what Stefan Eissing said: I would rather have a single,
entry-less “archive hub” feed which contains “prev” links to
*all* previous instances
For an active feed, that document could easily grow till it was larger than many feed instances. I prefer the chain of instances method.

, leading to a setup like

    http://example.com/latest
    └─> http://example.com/archive/feed/
        ├─> http://example.com/archive/feed/2005/05/
        ├─> http://example.com/archive/feed/2005/04/
        ├─> http://example.com/archive/feed/2005/03/
        ├─> http://example.com/archive/feed/2005/02/
        └─> http://example.com/archive/feed/2005/01/
I don't quite get what the "hub feed" would look like. Could you show us some XML?

I don’t see anything in the draft that would preclude this use,
and as far as I can tell, aggregators which support the draft
should have no trouble handling this scenario correctly.
The draft doesn't explicitly say that a feed can only contain one "prev" link, but I find it hard to read "a" to mean "one or more" in 'and optionally a Link element with the relation "prev"'.

Again, I don’t see anything in the draft that would preclude
this use, and as far as I can tell, aggregators which support
the draft should have no trouble handling this scenario
correctly.
...unless they expected only to find one "prev" link per document.

Note how the archive directory feed being static makes this
painlessly possible, while it would be a pain to achive
something similar using the paginated approach with local
“prev” links (you’d need to go back and change the previously
newest old version every time a new one was added).
I don't see why this would be any more difficult. The paginated approach could easily use static documents that never need to be updated, as I described earlier. I'll re-explain at the end of this email.

It would in fact require a “prev” link to what is actually the “next”
page.

Funnily enough, I don’t see anything in the draft that would
preclude this counterintuitive use of the “prev” link to point
to the “next” version
Could you explain what you mean by that?

I’d much rather have a single archive feed containing all
entries, and use RFC3229+feed to return partial versions of it;
That might be good for those who can support it, but many people won't be able to. On the other hand, if that single feed grows to where it's hundreds of MB, it could cause real problems if someone requests the whole thing or a large portion of it.


Getting back to how to use static documents for a chain of instances, that could easily be done as follows. The following assumes that the current feed document and the archive documents will each contain 15 entries.

The first 15 instances of the feed document do not contain a "prev" link (assuming one entry is added each time).

When the 16th entry is added, a static document is created containing the first 15 entries, and a "prev" link pointing to it is added to the current feed document. This link remains unchanged until the 31st entry is added.

When the 31st entry is added, another static document is created containing the 16th through 30th entries. It has a prev link pointing to the first static document. The current feed document's prev link is updated to point to the second static document, and it continues to point to the second static document until the 46th entry is added.

When the 46th entry is added, a third static document is created containing the 31st through 45th entries, etc.

If you want to reduce the number of requests required to get the entire history (which I don't imagine would happen often enough that it would necessary be worth bothering), you could put more entries into each static document. If you didn't correspondingly increase the number of entries in the current feed document, you'd have to update the most recent static document a number of times rather than only outputting it once as described above, but even that would only require multiple updates to the most recent static document at any time.

Reply via email to