OPML is a file format which is used to save lists of RSS feeds. Very handy, for instance, for copying your list of RSS feeds from one feed reader to another. I uploaded a list of my RSS subscriptions to an OPML file on this server so the Grazr plugin in the sidebar on the right can display them similar to a blogroll.
James Corbett, Ireland’s OPML ambassador, recently advised me to add autodiscovery of OPML to this site. Adding OPML is as simple as adding the following line to the head section of the site’s code:
<link rel="outline" type="text/xml+opml" href="http://tomrafteryit.net/Subscriptions.opml" />
Why would you want to add OPML autodiscovery to your page code? Frankly, apart from making finding your OPML file easier, I’m not entirely sure!
There’s a Firefox plugin, which lights up a blue icon in the Status bar when you browse to a site which has added the autodiscover code allowing you to view the site owners subscriptions.
There’s a bit of work involved in the management of OPML files. I’m always updating the RSS feeds in my reader adding new feeds and deleting old ones so any OPML file I upload is almost immediately out of date. If there were some way I could have my RSS reader synch with the remote OPML file, that would reduce a lot of the overhead.
Then again, I don’t want to publish all my RSS subscriptions (some are client sensitive) so I’d need some way of synching a subset of my feeds to my OPML file to ensure that the OPML file I’m publishing is an accurate reflection of my current reading.
If you enjoyed this post, make sure you subscribe to my RSS feed!
Tom - I couldn’t agree more. To me, this seems a very obvious and useful requirement. I am staggered that none of the RSS readers support it.
Good news guys, there *is* a Feed Aggregator that does this - BlogBridge.com. With BlogBridge you manage collections of feeds known as Guides and you can choose to publish your guide as a Reading List. A Reading List is nothing more than a dynamic feed list which means the collection of feeds is expected to change at any time.
For instance I created a Guide for Entrepreneurship in Ireland (ie. a list of blogs I subscribe to which I consider relevant to Irish entrepreneurs) and then in the Properties for that Guide I chose to Publish it as a Reading List. BlogBridge gives it a URL and hosts it for you. Mine is at -
http://www.blogbridge.com/rl/4527/EirePreneurship.opml
Whenever I change the list of feeds in that Guide all I have to do is re-sync or have it re-sync automatically and the OPML changes accordingly.
As regards OPML autodiscovery, yes, it’s difficult to see reasons for doing that right now but, as with RSS autodiscovery, we’ll see more and more reasons as time goes on. It’s all part of the bootstrap for the ecosystem. Now that the likes of Tom Morris OPML Ping Server can track the growing universe of OPML we could expect to see OPML spiders launching soon.
Also Tom its good to see you availing of the hierarchical capabilities of OPML to arrange your FeedRoll (or whatever term will catch on) into sub-categories. It’s now even easier to navigate
Recntly added the same to my own set of blogs after picking up a few emails from James - http://www.kenmc.com/kenmc.opml. Provides a great way to promote reading of all my other blogs by using the sidebar grazr. Quite a handy one indeed!
Just noticed the URL there has a ‘.’ at the end of it. Take it away and you’d find the OPML file
Couple remarks. Shouldn’t the type attribute be “text/x-opml”? Shouldn’t you have a text attribute?
I keep my published set of feeds in a specific folder in FeedDemon. When I modify that list, I export that folder to a public OPML file. Then I use my OPML blogroll widget for WordPress to publish the list on my web page. The widget also adds an auto-discovery link.
I’ve mentioned to Nick Bradbury that it would be nice if you could auto-sync a folder to an OPML file, or just have FeedDemon manage that folder in an external OPML file. That hasn’t happened yet.
So far the only feedreader I’ve found that does not require saving an OPML file to something like opmlworkstation.com is newsgator. In newsgator, one’s reading list stays updated at a URL at which one can point grazr or bitty browser.
“Shouldn’t the type attribute be “text/x-opmlâ€??”
Should it be Randy? Tom Morris says it should be text/xml opml and since I’m not much of a programmer myself I’ll leave you two debate it. Agreed though that there should be a Text attribute. It was sheer laziness on my part for leaving it out.
“So far the only feedreader I’ve found that does not require saving an OPML file to something like opmlworkstation.com is newsgator.”
Bloglines can be configured to automatically provide an OPML subscription list of the feeds you read (aside from the ones you’ve marked non-public):
http://www.bloglines.com/export?id=rcade
The “Reading List” icon in my blog’s sidebar links to my Bloglines OPML, which stays current automatically.
Can you guide me to Tom Morris, so that I can correct at the source? Thanks!
Randy,
like James, I too am not a programmer, I simply copied the code from James’ site and changed the uri.
Seeing sterling’s comment above I decided to see what he as the developer of the WordPress plugin believes to be the correct syntax - Sterling’s looks like:
So the Sterling, at least, agrees with you on the x-opml.
Don’t know Tom Morris - hopefully James will come back on that one.
Tom, my OPML was generated by FeedBurner, so that’s Nick’s opinion on the matter. That said, Nick is usually pretty careful to get these types of things right.
Sorry I’ve been a bit lax in responding.
In terms of which I’m using - I’m using “text/xml opml” on my sites. I have little time for specifications, but I have a lot of time for working code. I asked a question about this privately a while back to some OPML folk (including Dave Winer) but had no response. I left it up to someone else to work out the details. As for what goes on my site, I will use what is most popular - and I will be extending my code soon to track what type attribute people are using.
The library that I am writing at the moment based on what I’m using at changes.opiumfield.com (which you guys should ping!) should accept all different varieties. I’m not sure whether it should be my responsibility to tell you what The Standard is. In fact, I think the person who could probably help us come to a consensus is Dave Winer - he has a lot of experience in ratifying these sorts of argument - a minefield I’d rather avoid.
According to the OPML 1.0 specification, there is no requirement on MIME type. There is a convention, based on what Radio UserLand did, to use “text/x-opml”. The convention for using “text/opml xml” is based on the way that other XML formats have done - “xsl xml”, “xhtml xml” etc.
As for Randy’s suggestion of using a ‘text’ attribute - surely a ‘title’ right?
Hey Tom, I added my OPML to your site (cool browser, BTW). Unfortunately, FeedDemon always sets the title to “FeedDemon Subscriptions”.
In my previous comment, I meant “FeedDemon”, not “FeedBurner”.
Thanks, Sterling. Oh, and in my comments where it says “xml opml” and so on, it really is a ‘plus’ sign between the two parts. See the Wikipedia article “XML and MIME” for examples. The problem we have is that though “x-opml” is stated in the OPML 1.0 specification, the registration of MIME types is something that is really rather complex. RFC 4288 specifies that XML standards ought to use a plus-xml naming, and strongly discourages names that are prefaced “x-”. According to RFC 4288, the opml-plus-xml naming is better than x-opml. I’m also of that opinion, since it follows the precedent laid out by RSS, Atom and other XML formats. It is also possible for tools in the future to just look for plus-xml names in order to find XML of every variety.
As I’ve said before, I’m not in the business of setting standards - I’m in the business of building tools. My personal preference is towards opml-plus-xml because of the precedent of previous XML formats. Any tools I build will support both, and until there is a clear determination of which will stick, it is highly advisable for other toolmakers to do similarly.
What works and what’s proper are two different things; text/x-opml works and text/opml xml doesn’t. Screw standard bodies. You tell me when http://www.google.com validates.