Jopml & FeedForward

One of the things we really wanted to do in FeedForward from the outset was to try to make use of “feed registry” services to get rid of some of the hassle of locating and subscribing to feeds. This was particularly as we wanted new users – possibly also new to using a dedicated RSS reader – to be able to just specify their area of research and get going straight away.

However, our initial choice, IESR, turned out to be problematic. Basically, while there was a goood set of machine APIs we could make use of, there just wasn’t enough usable content. While a lot of repositories had information in IESR, not many had their RSS registered, even where it was supported.

Our second choice came about through getting involved with the JISC Users & Innovation Programme: the tictocs project created a repository of table-of-contents feeds for academic journals. Tictocs collected loads of useful feeds, and worked with the publishers to improve their support. This was just the content we needed. Sadly, there was no API.

Eventually, I just gave in and built my own service – Jopml (Journals into OPML)!


Jopml is a Ruby on Rails application built using the data exported from TicTocs (as a .csv dump), but makes it easy to write a machine interface by building OPML output directly from the query. So gets you the HTML search results, while gets you the same but in OPML, ready to import into a feedreader.

With this service in place I could add new functionality into FeedForward. First, you select the “Import journal feeds from” menu option:


Jopml menu option in FeedForward

Next, you enter some search terms and click “Search”. The dialog box updates to show the number of hits. When you’re happy, you click OK to add them to your application.


Jopml dialog box

(Note that as the service uses Ferret you can use booleans, phrases and all the usual Ferret query options)

And you’re done!


Feeds added

This functionality is currently in the source code in subversion, but should make it to the next release.

While I developed Jopml to add this feature to FeedForward, there is also nothing to stop anyone from making use of it for their own applications. If you make something interesting, let me know!

4 thoughts on “Jopml & FeedForward

  1. From
    I’m getting only:

    NoMethodError in Feeds#index
    Showing app/views/feeds/index.opml.builder where line #7 raised:

    You have a nil object when you didn’t expect it!
    You might have expected an instance of Array.
    The error occurred while evaluating nil.each

    Extracted source (around line #7):

    4: xml.title “Journal Feeds from JOPML”
    5: end
    6: xml.body do
    7: for feed in @feeds
    8: xml.outline(“title”=>feed.title, “text”=>feed.title, “xmlUrl”=>feed.url)
    9: end
    10: end

    RAILS_ROOT: /var/rails/jopml


  2. Weird! I just tried recreating that one and can’t. Try again, and paste in the URL here if you get another error.

    Hah, found it – its an IE bug. Apparently IE doesn’t handle MIME type options properly and takes the first option it finds, which in this case was OPML instead of HTML. I’ve switched the order and now it should work just fine.

  3. Pingback: Good press for ticTOCs « News from ticTOCs

Leave a Reply to Roddy MacLeod Cancel reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>