Migration from Manila

I’ve just completed the migration of one of my Manila sites to WordPress in an attempt to move from custom modified blog software that I have to host to something that will run on bog standard hosting accounts. Manila has worked well for me, but I’d really like to move the public facing services off of my ca. 2000 year old G4 that’s serving as the web host for wiredfool and other websites.

The site I converted was far simpler than this one — about 70 albums and maybe 100 posts, in addition to the 2700 pictures. Wiredfool one has about the same number of pictures, but more like 1000 posts and 7 years of experiments and Manila evolution.

I’ve been using my own picsPicker plugin for image galleries, so the first order of business was to find something that was similar enough that I could mechanically convert these galleries to the new format. It turns out that PHPSlideShow and the wordpress adaptation wordpress gallery were a very good fit for what I needed. With a bit of hacking and .htaccess magic, PHPSlideShow could be be made to have the same urls as my existing setup. I really like this, since it means that all the previous googlejuice is preserved.

PHPSlideShow uses a directory of images with a flat text file to provide ordering and captions, so given the original data, this was not that hard to create. A page of python and manilalib.py was enough to get the stories containing albums, pull out the message list, and then get the individual pictures’ url and description. This worked well for the other site, but wiredfool is old enough that three of the galleries failed due to the images not being downloadble via xml-rpc. Three galleries is enough to do by hand.

Once I was happy with the galleries, I had a choice of either just exporting the site to static html, or trying a conversion. I’m happy to say that the MvManila scripts got me 90% of the way there. They’re not perfect, and they’re not elegant, but it’s far faster than doing it all my self. Predictably, the biggest problem that I had were timeouts grabbing the shortcuts. I had to bump up the timeout and bypass apache so that the 35 minute rpc call worked. There was also one small issue of image tags with a picture$#### url getting dropped out, but that was solvable with a python regex and a url mapping list.

The scripts aren’t working as well with wiredfool due to a lot of xmlrpc issues. the specific errors are tables that should be addresses. So, I’m rewriting the data collection portions to run on the server. The elapsed time to write and run the shortcuts script was less than it took to run on the smaller site, so I’m doing something right. The pictures were similarly faster, and the posts should give me the chance to render the macros on the server.


4 Comments so far

  1. scottag October 24th, 2006 12:52 pm

    Any plan to make the scripts public? I have a Manila site or two I’d like to move to WordPress…

  2. eric October 25th, 2006 1:59 pm

    Yeah, I’m planning on collecting the frontier side stuff I have and posting it.

    The MvManila parts are pretty good, and really do get you most of the way there, so long as you don’t have a bunch of macros to deal with. In my case, pretty much every post with a picture (500+ 20 galleries) needed touching via regex.

  3. Cecil November 21st, 2006 11:58 pm


    I wrote the MvManila scripts and that’s way too many problems with your shortcuts & pictures. Way too many. Clearly I missed something that bit you hard.

    Please. Send me an email and let me know what the problem was and how you fixed it. ccoupe@cableone.net

    I’m happy you got 90% of the way. I’d prefer to get it up around 98% or 99% so feedback is most welcome. Not perfect? Yup. Not elegant? Yup but I’m working on that so did I mention that feedback would be helpful.


  4. eric November 22nd, 2006 11:03 pm

    My sites are (were) sort of porter children for one off things that no one else uses. Most of the pictures I posted on wiredfool were linked through the PicsPicker Macros, which among other things, didn’t even deal with static rendering. So at least in that case, there’s not much that you could do for that.

    There were a couple of cases of the picture$### url getting dropped and winding up with essentially a blank img tag, but I can’t find those anymore so I’m not real sure of the cause. It may have been a single vs double quote thing, since I tend to use single quotes for attributes like src.

    Your scripts did far better than I had expected, given the somewhat crufty nature of the data to export. There’s really no way that I could have come close to doing this site in 2 evenings without that leg up.

Leave a reply

You must be logged in to post a comment.