Author: myk
Description:
The Recent Changes atom feed sets each entry's "id" element to the URL of the
page being changed, which means that multiple changes to the same page show up
in the feed as multiple entries with the same ID. According to the Atom 1.0
draft spec, however, "the 'atom:id' element conveys a permanent, universally
unique identifier for an entry or feed" and "the content of an atom:id element
MUST be created in a way that assures uniqueness."
http://atompub.org/2005/07/11/draft-ietf-atompub-format-10.html#rfc.section.4.2.6
So the current feed violates the spec, but more importantly, because feed
readers that follow the spec assume ID uniqueness, when they encounter two
entries with the same ID they may ignore one or merge it with the other,
corrupting or omitting the information the feed reader provides to its users.
I think the problem is partly due to a misconception about what this feed
syndicates. It's the "Recent Changes" feed, and each entry in it represents a
change, not a page, so the ID element should uniquely identify the change
itself, not the page to which that change applies.
For that matter, the link element should also probably point to the change
itself (even if the diff is included in the content), since by far the most
common use of the "link" element in feeds is as a reference to the permanent
representation of the entry. But this issue is bug 522.
Fortunately, unique URLs already exist for changes, so fixing this bug should be
as simple as using them as the values of the ID elements, f.e.:
http://en.wikipedia.org/w/index.php?title=London_International_Airport&diff=28149850&oldid=26980942
Instead of:
http://en.wikipedia.org/wiki/London_International_Airport
Version: 1.6.x
Severity: enhancement