Feed format changed to RSS 2.0

During some work on my website, I seem to accidentally have changed the news feed content a bit, which caused all my old news entries to appear as new stories on Planet PHP.

Planet PHP is aggregating my Horde News feed which is the most active feed on my website. My feeds are powered by Horde's Jonah application, that only generated RSS 0.91 feeds until yesterday. One of the weak points of RSS 0.91 is that there are no unique IDs for news entries. But an ID is necessary for feed readers and aggregators to determine whether a news entry has been added since the last update.

Planet PHP's aggregator uses the story link as an ID if the feed doesn't  provide globally unique IDs (GUIDs) itself. As long as this ID doesn't change, news providers can update their stories how often they want to, the feed readers and aggregators will notice that the story has been updated and is not new.

Of course this whole system breaks if the GUIDs (the story link in the case of RSS 0.91 feeds) change for some reason. I was well aware of that problem when I worked on my website, thus I made a lot of tests and corrections to assure that my links don't change. Unfortunately I failed for some reason, propagating all the old stories on my website as new ones on Planet PHP. Funnily these didn't show up as new stories on my personal news reader, so it might as well be a bug in Planet PHP's code.

Anyway, I took this accident as an excuse to finally implement RSS 2.0 feeds in Jonah. This has turned out to be pretty easy and beside a working GUID, this new format also provides permanent links (links that should theoretically keep working, even if the official story links change at some time in the future) and publishing dates for each story. There are more features in RSS 2.0 but these are the ones that are currently implemented by Jonah. The RSS 2.0 feed is now the default feed format in Jonah, but RSS 0.91 is still supported. Only Atom feeds are still missing, anyone interested in providing a patch? :-)