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.