Migrate from Radio Userland to MovableType
Introduction
This article describes how to migrate (transfer your blog postings) from Radio Userland to MovableType. I'm not gonna dwell on why to do that. Personally, I wanted something that is not desktop-bound so that I can post from anywhere and I also wanted some things that were not present in Radio, namely ability to do extensive web site stats.
The problem
There are two problems: moving your template and moving your posts.
You don't have to worry about the first problem if you also decide to switch to some MT native template. I wanted to keep my Radio template. Converting was a bit painful but not that difficult (mainly it's about replacing Radio tags with relevant MT tags).
The second problem is transferring the posts. Fortunately MovableType
has a feature to import/export posts if they are in a format supported
by MovableType. Therefore the problem is reduced to exporting Radio
posts to MovableType format. Radio can export posts in XML format, one
file per post. In my case those posts were in c:\Program Files\Radio
UserLand\backups\weblogArchive\posts directory. If those files
are not present go over Radio's preference settings - I'm pretty sure
there's an option somewhere to force Radio to generate those.
So I wrote radio2mt.py script to convert all posts to MovableType format. This script is based on Aaron's script. It's not perfect and has some code dealing specifically with my posts, so you might need to tweak a few options to get everything right.
The main redeeming quality of this script is that it tries to preserve the links within the weblog (i.e. in those cases where you link to your own posts).
The conversion procedure is very simple:
- use the script
radio2mt.py > allposts.txtto convert Radio posting to a MT fileallposts.txtwith all posts - copy this file to your MT installation directory under
import(as described in the manual) - import entries and regenerate your blog
<script LANGUAGE="JavaScript"> <!-- function redirect() { window.location = "http://blog.myself.org/" } setTimeout("redirect();", 5000) //--> </SCRIPT>A tip: if you're importing to a new MT blog (without any posts) and screw something up, you can delete all posts using
mysql by doing delete from mt_entry;.
I had to do it a few times while tweaking the converter code.