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

Reply via email to