So for whatever reason, I felt like taking some of the RSS/Atom subscription feeds I've got in iGoogle and putting them in the sidebar on one of my test blogs. (You can see it here on the lower left of this page.)
As is often the case, things are just slightly more complicated then they need to be. iGoogle, (for example), offers an OPML file export - as do many other feed readers - and TypePad lets you do OPML file import. So, no problem, right? Welllll... not quite. OPML, (Outline Processor Markup Language), is after all just another XML format. So while any feed reader really should use the same tag naming for the same sorts of things, there's no promise that others will.
What kind of TypePad TypeList to use for Feed Subscriptions?
TypePad, for example, does allow you to import OPML into a TypePad list, but if you want to do this, you'll need to use the correct kind of list. Specifically, a "Links List." The reason is that you're going to want to have the tags in the OPML file map easily to what the intended output of the TypeList will be. Something like a "Notes" list just doesn't work properly. You can of course edit the OPML/XML file, (which you'll have to do a bit anyway), but there's easy and hard ways to do this.
First, let's take a look at what TypePad's TypeList format looks like. Let's say you create a Links TypeList manually. (By the way, you can do this by selecting TypeLists > Create a New TypeList.
Once you've added a couple of links, select the Import/Export menu choice, scroll to the bottom and select "Export to OPML." Save the file. When you open it you'll see something like this...
<?xml version="1.0" encoding="utf-8"?>
<!-- OPML generated by TypePad -->
<opml version="1.1">
<head>
<title>TestLinksTypeList</title>
<ownerName>Scott Germaise</ownerName>
<ownerEmail>removed for spam avoidance</ownerEmail>
</head>
<body>
<outline
text="ScubaBoard - Online Scuba Diving Community - Equipment, Dive Travel, Training and More!"
type="Link" url="http://www.scubaboard.com"
title="ScubaBoard - Online Scuba Diving Community - Equipment, Dive Travel, Training and More!"
notes="Great Scuba Board"/>
<outline text="Scott Germaise: Personal Home Page" type="Link" url="http://www.germaise.com"
title="Scott Germaise: Personal Home Page" notes="Here's a note."/>
</body>
</opml>
So, now you know what the file you're going to want to import should look like. But, when you do the same thing with iGoogle, you get something more like this...
<opml version="1.0">
<head>
<title>ScottG subscriptions </title>
</head>
<body>
<outline text="blog.pmarca.com" title="blog.pmarca.com"
type="rss" xmlUrl="http://blog.pmarca.com/index.rdf" htmlUrl="http://blog.pmarca.com/"/>
<outline text="BoardTracker" title="BoardTracker" type="rss"
xmlUrl="http://blog.boardtracker.com/rss.php" htmlUrl="http://blog.boardtracker.com/"/>
<outline
text="Data Mining: Text Mining, Visualization and Social Media"
title="Data Mining: Text Mining, Visualization and Social Media"
type="rss" xmlUrl="http://feeds.feedburner.com/DataMining" htmlUrl="http://datamining.typepad.com/data_mining/"/>
</body>
</opml>
Cleaning UP Your Import File
If you look carefully, you'll see that there's some differences. Use your favorite text editor, (that means a pure text editor, not a word processor), to fix the differences. (Notepad works of course, but UltraEdit is better and really any decent search/replace tool will do. I like Search/Replace from Funduc.) "Fixing" the differences here means making sure the tagged elements map properly from your source to your intended target. So here, (at least in this example), the output from the iGoogle OPML export needs to be mapped to the intended TypeList import format. Only the values you care about have to match perfectly. All you need to care about is that the stuff you want will be in a place TypePad's Links TypeList can get the labels and the links. The rest doesn't matter. So first, do what you're always supposed to do and make a copy of your saved file so you have a backup in case you mangle it all up somehow. Then, edit your working copy...
- Search for type="rss" and replace with type="link"
- Search for htmlUrl and replace with url
- The title should be ok.
- Ignore everything else.
Save the new file with a different name. Now, use the Import function in your TypeList, browse to the file you just create and try to bring it on in. You should see your items on the list. If you click on them, you'll go to the actual list and you can edit some more if you'd like. (There may even be "notes" in there if you brought those tags in, though these notes should not show up in your sidebar.
Finally, just select the TypePad Design tab, the Select Content to add the new TypeList to your sidebar. Change the order of your content if you like. Preview and publish.
That's about it!