James Holderness wrote:
[snip]

You might be thinking, that's exactly what the atom:id element is for - my feed reader should be able to detect that all three entries are the same since they should have the same id value. Only they don't have the same value. Each one has a different id, so I get to see the exact same entry repeated three times. Saying that this is annoying would be a huge understatement.


I hadn't noticed this -- that the id varies between feeds -- but that's definitely interesting. My assumption until this point was that different feeds describing the same resource would have the same id.

Where this is relevant to your question, is that if you change the published date from the original entry (as YouTube is doing - at least for their favourites feeds), you basically have to change the entry id, since you're now no longer dealing with the same entry. And that, as I've said, would be incredibly annoying.


This raises a more fundamental question of what atom:id is the id for,

In my mental model, I've always thought of atom:id as being the id for the thing that the entry represents, not that concrete atom:entry XML element. Therefore I'd expect different atom:entry elements that exist in different feeds but that represent the same "thing" would have the same id.

My understanding of section 4.2.6 seems to agree:

   When an Atom Document is relocated, migrated, syndicated,
   republished, exported, or imported, the content of its atom:id
   element MUST NOT change.  Put another way, an atom:id element
   pertains to all instantiations of a particular Atom entry or feed;
   revisions retain the same content in their atom:id elements.  It is
   suggested that the atom:id element be stored along with the
   associated resource.

I would consider an entry appearing in the three feeds you described to be either "republished" or "syndicated" (I'm not really sure how these are different) and so you'd expect the id to remain the same across all of them.

Changing the id in order that the publication date can be re-used as a "date this was added to this collection" seems like a shaky workaround at best.

Reply via email to