Some experience with RSS/Atom frameworks

Posted by Martin Homik | Posted in Java | Posted on 20-06-2008

3

10 days ago, I had the idea to enhance my web application by integration Roller. Instead of implementing a blog model myself, I wanted to implement the UI only and pass all the blog entries to a stable blog server. The problems were:

  • Blog entry management. How to exchange blog entries with Roller?
  • User management. How to synchronize users with Roller?

To solve the the management of blog entries, Roller provides an RSS/Atom interface. The only thing I would need is a blog client. Lucky me, there is the ROME and ROME Propono. ROME is a RSS/ATOM framework and Propono is a subproject of it that implements a RSS/Atom client. It seemed to be a good solution, because:

  • ROME is quite mature.
  • It is written by Dave Johnson, the author of RSS/Atom in Action. Dave is also involved in Roller.
  • Dave keeps blogging on a regular basis and informs the community about progress.
  • There is a discussion forum on Nabbles.
  • The blog client, described in the book has been extracted from the example sources and and has been further developed. Today we know it as ROME Propono.

But once, I started to test, compile, and integrate into a Maven based project, I ran into trouble. To make a long story short:

  • ROME has never reached 1.0 status. Propono is still 0.6. Progress is slow. There is since 2006 a discussion what needs to be done to move to 1.0. The discussion was never intense and therefore, never reached a fix point.
  • Dave works for a different company and does not invest too much time in ROME.
  • Compiling ROME 0.9 is okay, but Propono 0.6 requires 0.9.1-dev. So you need to get the binary or get the sources from CVS. But even these don’t compile.
  • While ROME is available via Maven repositories, and hence, easily to include into a project, ROME 0.9.1-dev is not available. Actually, there is no need for that, because ROME Propono is not available via Maven repositories add all.
  • Finally, I observed quite often that users in discussion forums waited for answers from experts quite long. Some questions stayed unanswered.

Meanwhile, I found an article about Abdera in Dave’s blog. Abdera is a promising Atom framework that provides many features. It has many committers and the forum seems to be quite busy. It is easy to integrate into maven projects and even the build is fun. Despite of its early status it promises a good quality. Documentation is still scarce, however, it is sufficient to get started. One annoying thing is, that James Snell, one of the project leaders, maintains a wordpress blog which does not offer RSS/Atom feeds. This is really dull, because he is blogging about Abdera and the Atom specification quite often.

To solve the user management requirement, Roller offers an atom admin interface to create/update/delete users. This is necessary in order to have the same users on Roller as in my application. Again, to access the interface, the source application needs a client through which it can talk to Roller. Propono offers an atom client solution. However, it is not applicable because of the explained problems. The work around is to use Abdera. Abdera has a clean interface and following a few examples should help to solve this requirement.

In the end, I dropped both approaches due to some Spring problems I did not understand. Instead, I looked at the Roller’s code closely and decided to integrate very basic blogging facilities into my application. To get things done, this is the most efficient way. Maybe, one day, I get back to Roller.

Comments (3)

My blog does have an atom feed: http://www.snellspace.com/wp/wp-atom1.php

Dear James,

you’re right. I realized it two days later after my post. The problem was, that I could not find any link (or icon) to a feed on your page. Usually, I use my Thunderbird for reading feeds, so I added just your web page, but Thunderbird wasn’t able to extract the feed automatically. I was pretty sure that there must be a feed since you use WordPress. So I downloaded RssOwl which in fact was able to extract some url which I took and added to Thunderbird. This time, it did not complain but it also did not retrieve any feed entries for some reason. Only after this, I reached a fix point and wrote the post.

It’ll be helpful if you could provide some link/indicator to a feed on your web page. Also, it’ll be great if you could offer some link/indicator for those who are interested in a particular category. In my case, I am interested in your writings about “Abdera” and “Atom”.

It has long been looking for this information, thank you.

Write a comment