This is getting metaphysical but do they represent the same thing? If Alice, Bob, Dick and Jane share a link to a favorite video should it be treated as identical with the same atom:id? What if they each put their own caption on the video? What if there are comments from their friends on each instance they have shared? These aren't hypothetical questions, I'm describing Facebook's implementation of sharing videos with friends.
-- THINGS TO DO IF I BECOME AN EVIL OVERLORD #139 If I'm sitting in my camp, hear a twig snap, start to investigate, then encounter a small woodland creature, I will send out some scouts anyway just to be on the safe side. (If they disappear into the foliage, I will not send out another patrol; I will break out the napalm.) -----Original Message----- From: [email protected] [mailto:[email protected]] On Behalf Of Martin Atkins Sent: Monday, January 12, 2009 3:08 PM Cc: Atom Syntax Subject: Re: The distinction between "time this entry was published" and "time this entry was added to this feed" 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.
