Registering blog addresses and generating a OPML file (Notes on FeedWordPress and MOOC-In-a-Box)

Last week I got a number of enquiries about using Google Forms. One of these was a question from Martin Weller (OU) who is in the process of setting up H817 which is an Open University open course (MOOC) on Openness in Education. He asked:

how do I go from this [Google Form] to an OPML file that feedwordpress can use (also if you have any ideas about how to do autodiscovery of feeds so if people only put in their main url it’ll find the feed, that would be great).

My response was to direct Martin to which I used in Generating an OPML RSS bundle from a page of links using Google Spreadsheets. This takes a Google Spreadsheet of RSS feeds and generates an OPML bundle. Part of this solution relies on the user entering their blog RSS feed, which isn’t always known. It’s possible to use RSS auto-discovery, which at the time I didn’t have a scalable solution, but Martin appeared to have enough information to edge forward a bit more. I’ve subsequently come up with this

*** Blog Registration OPML Generator Template ***
[File > Make a copy for your own version]

With this a person can enter their blog url, some code tries to fetch the rss feed and uses the data to generate an OPML file. If you’d like to see it in action fill in this form (embedded below) … and see the generated OPML here (this should update every 5 minutes. It’s also *.tsv but the URL is enough to trick most feed aggregators).

I’ll let you discover uses for this template other than open course registrations.

Registering feeds with FeedWordPress (FWP)

Back on Martin’s Weller’s blog he’s written about is IT support woes. As part of this Alan Levine has kindly added some comments about how FeedWordPress handles blog registrations. The comment that caught my eye was:

I am not sure why you are fiddling with the OPML. You should should copy the URLs and paste them into FWP.

I’m assuming Martin had assumed that generating a OPML file accessible by url would mean FWP would keep checking for new blog registrations. As Martin has subsequently discovered this does not appear to be the case. When you import feeds from a url FWP still prompts you to select which feeds you want to include. This suggests to me that it’s not a fully automated process.
add opml
Alan suggested just copying the urls into FWP. Lets look at how that works. Clicking the ‘add multiple’ source button in the FWP admin lets you dump a blog url, one per line.

add multiple

When you click add FWP visits the blog and tries to auto-discover the feed using the first RSS feed it finds (this is the same trick used in my Google Form). So in short as FWP doesn’t appear to keep checking the OPML file and because you can just dump blog urls Martin may as well just collect these and do any cleaning up after.
So as Martin is discovering there are some very fiddle bits with using FeedWordPress as a open course aggregator and he ends his post with:

One last plea – I joked with Alan that I needed DS106 out of a box. I think I’m serious though – it would be great to have a step by step, idiots guide to installing and setting up a DS106-like environment. The rest of us don’t have Alan and Jim’s tech skills, so getting to the starting line is difficult. I know they’ll say you should invent your own way, but they done so much great work that I don’t think they realise just how much expertise they have. A simple installation that let the rest of us get started, would mean we could all go off in different directions then.

This takes me back to Jim Groom’s post on Integrating FeedWordPress with BuddyPress:

No where in the raging discussion around MOOCs is there anyone talking about sharing the infrastructural/architectural work they’ve done freely with others.  CUNY’s Commons-In-a-Box project makes the innovative development work they have been doing for years freely available for others to experiment with. That is the spirit of sharing that seems to me should characterize the groundswell for open, online education

+1 for ds106-In-a-Box


Join the conversation

comment 4 comments
  • Martin

    Thanks for updates Martin – it’s one of those things I thought someone would have a simple solution for, but actually turns out to be quite tricky. I’m sure a day of Hawksey/Hirst magic would fix it though.

  • Peter

    This is very interesting! I’ve struggled with feed aggregation for a long time in my courses and have used all sorts of feed aggregators. What I would like to have is a simple form (such as the one you’ve made) where the students themselves register the feed which contains the course related posts. At my department we are having students taking more than once course at a time which is why we tell them to create a specific category (or tag) for each course. E.g. This is where I run into trouble. If I would ask the students to add the course category URL, the feed autodiscovery feature in your script will only identify the main feed. I’ve solved this problem by adding an extra form field for the course feed, which means I’m really not using the autodiscovery feature. That’s fair enough.
    My next problem is a bit worse. Since the students are supposed to follow each other’s work, I would like to provide them with a combined feed with posts from all feeds registered in the OPML file. I could import the opml into my personal Google Reader account and share a combined feed from there. But the problem is that Google Reader won’t poll the opml file for changes.
    So the big question is:
    Is there a way to get a combined feed that regularily checks the opml file for updates? Yahoo Pipes! should be able to do this but I haven’t been able to make it work.

    • Martin Hawksey

      Hi Peter, Sounds like you’ve got as far as I did. I did play around with having a list of feeds on this sheet, which get aggregated together in batches using this Yahoo Pipe used in Col C. I then tried combining the rss feeds from these pipes in this one to give a single feed. I was targeting on aggregating 1000 feeds this way but hit Yahoo Pipes 30 sec timeout. Links from col C seem to work and follow a url pattern so you could share these?
      I realise I’ve been a bit vague about how this works so please ask any questions (my next step was to try experimenting with turning Google Sheets into a feed aggregator)

  • Peter

    Thanks for your response! I actually ended up using Moonmoon,, which gives me the possibility to get a combined feed and I can also let the students themselves add the feed URLs. It’s not perfect but it seems to work…

Comments are closed.