On May 18, 2006, at 8:10 AM, Brendan Taylor wrote:
Do you have any suggestions about how this metadata could be included
without changing the content of the feed? AFAICT the only solution
is to
not use the attributes (which aren't required, of course).
If it's in the feed document and it gets updated other than when the
entry itself is updated (...and it wouldn't be of much use if it were
only updated when the entry was updated), it's going to result in
data getting re-fetched when nothing but the comment count and
timestamp change. I don't see any way around that. So if you really
want a way to publish comment counts and timestamps without causing
lots of unchanged data from getting refetched, you're going to have
to separate that data out of the feed. Here's pseudo-XML for a
possible approach:
<feed ...>
...
<link rel="comment-tracking" href="..." />
...
<entry>
<id>foo</id>
...
</entry>
<entry>
<id>bar</td>
...
</entry>
...
</feed>
and in another document:
<ct:comment-tracking xmlns:ct="..." xmlns:atom="..." ...>
<atom:link rel="related" href="URL of the feed" ... />
<ct:entry ref="foo">
<atom:link rel="comments" href="..." type="..." hreflang="..."
ct:count="5" ct:when="..." />
<atom:link rel="comments" href="..." type="..." hreflang="..."
ct:count="3" ct:when="..." />
</ct:entry>
<ct:entry ref="bar">
<atom:link rel="comments" href="..." type="..." hreflang="..."
ct:count="0" ct:when="..." />
<atom:link rel="comments" href="..." type="..." hreflang="..."
ct:count="1" ct:when="..." />
</ct:entry>
...
</ct:comment-tracking>
Of course the comment tracking document wouldn't only be
authoritative for feeds that pointed to it with a comment-tracking link.
This would require an extra subscription to track the comments, as
well as understanding an additional format (as opposed to just an
additional extension--either approach requires SOME additional work),
but it would prevent unnecessary downloads by clients that aren't
aware of it, and would reduce the bandwidth used by those that are.
This approach could be generalized to enable offloading of other
metadata that's more volatile than the entries themselves.
Antone