Delicious changes feed API
At Monday, Hendrik informed me that the delicous links in team.sPace are no longer updated. This is very bad and critical for the system's use. As I am currently at the adaptive hypermedia conference in Hannover, I had not much time to debug the code on the server. While I was reasoning, why the delicous links are no longer updated, I saw a connection to something I observed last weekend when I refactored the ReScope code, where I detected that the location of delicious' feed API have changed.
While refactoring, I studied ReScope's network traffic. That was when I realized that delicious sent with each feed request a redirect to another server. Although, this worked within the browser, the multiple connections were a performance issue. So I changed the delicious URLs to the new location. It was completely out of my view that this could break the code of the team.sPace updater, too, which it apparently did.
Last night, when I thought through the team.sPace problem, I recalled that incident with ReScope and concluded that Perl's UserAgent class might not handle server redirects. Thus, changing the location of the feed API of delicious means that this would break the updater code. So this evening I sat and changed the code to the new URL.
However, the results were not as expected, because the links were still not updated. It turned out that the RSS processor contains a small piece of code to identify RSS feeds from delicious as such. Part of this code is URL checking for the source of the feed. As one would expect, this information has changed as well. After replacing the old location with the new location, the feeds were updated again.
The new feed API is available under the following locations.
RSS Feed to the latest bookmarks
http://feeds.delicious.com/rss/{$USERNICK}
JSON Feed to the latest bookmarks
http://feeds.delicious.com/feeds/json/{$USERNICK}
JSON Feed to the user's tag cloud
http://feeds.delicious.com/feeds/json/tags/{$USERNICK}
JSON Feed to the user's peers
http://feeds.delicious.com/feeds/json/network/{$USERNICK}