Converting Manila to Movable Type

written by Jason Levine
originally released Jan 2005


This is a script, written in UserTalk (the language of Userland Frontier), which will export a Manila (or, or, or Weblogger, etc.) weblog to a file suitable for importing into Movable Type or TypePad. It will also write all of the images contained within the Manila site out to files, convert Manila discussion group threads into MT/TypePad comment threads, and convert any Manila News Item departments into post categories.


On December 4th, 1999 I started a weblog built upon Manila, a suite of weblogging software written by Userland. During the time I spent using Manila, I developed what I thought were a few pretty neat add-ons, but there never developed a sense of community around the product. So in mid-2002, I started hunting around for a replacement for Manila, and after a bit of research, I decided that Movable Type had the features I wanted. Of course, this left me with the need to get my data out of Manila and into Movable Type; unfortunately, the storage database for Frontier does a good job of locking your data inside it, but fortunately, writing add-ons to Manila taught me a lot about the (incredibly obtuse) under-the-hood world of the product. I decided to try to write an exporter within Manila's own environment, and this is the product of that work. (I used it to convert my own site, which debuted on Movable Type on August 16th, 2002.)


You can get version 1.4 of the exporter, as a Frontier export file compressed using ZIP, here.


NOTE that you need to be running Userland Frontier in order to use this script! If you don't have a copy of your own, you can download a trial version from Userland here (note that they call the entire product "Manila" now); I understand from others that this version should be plenty sufficient for you to run an export. Another important note is that, if you've never used Frontier before, you might think twice about doing any of this on your own -- as I mentioned before, it's a pretty obtuse environment, nothing works like you think it should, and you might end up doing more harm than good to your own data. Consider yourself warned!

Once you unzip the downloaded file, you'll find you have a file named workspace.exportManilaToMT.fttb. Double-click that, and it should open in Frontier and get loaded into the table workspace.exportManilaToMT. Within this table, double-click to open up the script (named export).

In this script, you'll see two comments at the top, one that lists all the arguments that the export function takes, and one that explains where your images will end up when you're done with the export. Read through these (particularly the former). Then, figure out where you want your export files to end up, since you'll need this directory name in a second. Lastly, look at the bottom of the script; there are two commented-out calls to the export script demonstrating how to use it in the two situations most likely to be needed (exporting a website out of an open root file, and exporting a website out of a closed root file).

Using one of these samples, craft your own export script call. When you've done that, click on the "Run" button to run the script. It will create a subfolder in your export folder (the one you decided on above) with a number as its name (it's a counter, and increments each time you run the script); within this folder is the stuff you care about. The most important file is the mt.txt file, and this contains the complete text of your weblog formatted into a valid Movable Type import file. There are also a few XML files with various information (a list of the posts that had site paths set in Manila, a list of the posts that were written by people other than the primary author of the site), and any errors. And lastly, there's a subdirectory which will contain your images (so long as you set exportImages to true, that is).

Once you have your export file, follow the directions in Movable Type or TypePad to import it, and start playing with your new site! (Remember that you'll have to upload all your images to the proper place on your new host, however it is that your new host allows you to mass-upload files.)


If you have questions or comments, feel free to click here.


The script syntax is as follows:

export (adrSite, siteOwnerEmail, exportDirRoot, oldSiteUrl, newSiteUrl, allowComments, allowPings, imagesAsDrafts, convertBreaks, exportDeleted, exportImages, defaultCategory, alwaysUseDefaultCategory, absentMembersForceDraft)

The arguments are as follows:

Version History

1.0: Initial release.

1.1: Fix for the overt Windows-centricism of the first version, plus a few small code cleanup things.

1.2: Fix for an odd case wherein a discussion group cell had an unexpected value in it (probably was a bug in Manila, but now we deal with it).

1.3: Fix to handle another Manila bug (oddly, in the same attribute as the v1.2 fix handles).

1.4: Added a new function argument giving control over what happens if the author of a post is no longer in the membership database. By default, the absentMembersForceDraft argument is true, meaning that matching posts will be exported into "draft" status; by setting this to false, they will export into "publish" status.