« Coming up to Jetspee... | Main | SharpReader. »

Details on the FreeRoller 'feeds always appear updated' bug.

The problem was that FreeRoller has two DNS names 'freeroller.net' and 'roller.anthonyeden.com' and Roller uses the Servlet API request.getRequestURL() method to determine the URLs for RSS feed permalinks. Normally, this would not be a problem. You enter the freeroller.net address in your aggregator and you always get permalinks the to freeroller.net domain.

After Roller started caching RSS feeds, this became a problem. Sometimes RSS feeds would be cached with the freeroller.net address and sometimes they would be cached with the roller.anthonyeden.com address. If your aggregator recieved a copy of a feed at 1PM with the freeroller.net address and the same unchanged feed at 2PM with the roller.anthonyeden.com address, it would be fooled into thinking that every news item in the feed had been updated because the permalinks are different.

I fixed this by changing Roller so that it determines it's base URL only once and then stores this URL in the ServletContext as an attribute. There is still a risk that when Roller is restarted, feeds will appear to have been updated depending on whether the first request is for freeroller.net or roller.anthonyeden.com. Anybody have a better solution?

Bryan Field-Elliot suggests adding a configuration parameter so that a Roller admin can specify the 'base URL for RSS permalinks'. Sounds good to me.

Comments:

Post a Comment:
  • HTML Syntax: NOT allowed

« Coming up to Jetspee... | Main | SharpReader. »

Welcome

This is just one entry in the weblog Blogging Roller. You may want to visit the main page of the weblog

Related entries

Below are the most recent entries in the category General, some may be related to this entry.