Boris Mann

Migration

The first post on this site running Drupal was November 9th, 2002. The next post was asking for a Dream CMS. I don’t think I’ve found it with Octopress, but I’m having fun learning the ins and outs.

As of May 21st, I’ve migrated the bulk of the BMC site to Octopress, and am hosting it directly on Amazon S3. The source Drupal site is still up and running at Omega8.cc, which is still my recommendation for managed Drupal hosting that is relatively low on custom code (e.g. custom theme + a couple of modules or an install profile). Pantheon or one of Acquia’s hosting options are probably your best bet for larger scale custom Drupal web-app hosting.

I setup the Amazon S3 hosting some time ago, using a couple of blog articles to configure an Amazon S3 bucket to serve up HTML pages directly, and to modify Octopress to include a rake command that deploys directly to S3.

Exporting the posts in Drupal to Octopress-compatible files was both difficult and easy. I fiddled around trying to get a proper local install that would work with the Jekyll / Ruby mysql gems and such. Long story short, here’s what you need to do:

  1. Export your Drupal database (e.g. via Backup & Migrate module)
  2. Install mysql on your local machine - I used Homebrew
  3. Import your database - create a local database and import your exported one
  4. Run the Jekyll Drupal migrator ruby -rubygems -e 'require "jekyll/migrators/drupal"; Jekyll::Drupal.process("database", "user", "password")'

Here is the modified Jekyll drupal.rb migrator I used. I’ve removed the refresh / redirect related generation on nodes, and I’ve added pulling tags / categories from Drupal:

Note that this is for Drupal 6. See walkah’s write-up and drupal.rb for getting this to work in Drupal 7.

You’ll now have all of your posts in the _posts folder (in my case, over 2200 of them over 10 years!). I did all this in a “clean” Jekyll codebase, and then just copied the posts over into the Octopress install I already had running / deploying to S3.

I have lots of cleanup to do, but I’ve had lots of “collateral damage” over the years of moving between Drupal versions and hosts — meaning I’ve already left a trail of tears and broken links in my wake. I spent some time cross-posting between Posterous and my BMC Drupal site, so there is likely to be some back and forth shuffling.

I intend for this site to serve the following purposes:

  • a front page that showcases / points to active content: currently, this is my blog, link blog, and recent Twitter posts
  • a long term archive of content:
  • special projects: I currently have a couple of pages hanging out on the blog, but this will likely be a better home

With Flickr starting to look a bit wobbly, I’m going to look at hosting images here directly as well, but that’s for future exploration.