Dave Donaldson

Critical thinking in software development

Search

Advertisement

Subscribe

My Tweets

  • @willburrus Haven't seen your email. Sorry, thought you would have seen mine earlier.
  • @hkarthik I can't get my avatar to look quite like me. Need to spend more time with it I guess.
  • Listening to new G 'N R album early on their MySpace page (http://www.myspace.com/gunsnroses). Still formulating an opinion.

How to Move from Subtext to Graffiti

Monday, October 13 2008

So you probably know by now that several days ago I moved my blog off of the Subtext blog engine and onto GraffitiCMS, our simple content management software that is perfect for running a blog site. As I did that, I jotted down some notes that I thought might help someone else wanting to do the same.

NOTE: These notes assume you've already setup your domain and installed Graffiti. For Graffiti installation instructions, see here.

 

Export Existing Blog Posts Using BlogML

 The first thing I did was login to my Subtext control panel and export all my existing content. This is just a simple click or two in Subtext and it contains all the posts I've ever written, with their comments, exported into a single file in BlogML format. The only problem is that if you have blog posts with images in them, the images don't come along for the ride. It's a nuisance, but nothing that can't be fixed later.

 

Import BlogML Into Graffiti

 Now that you have all your existing content in a BlogML file, you can simply import that into Graffiti using the built-in migrator:

  • Login to your Graffiti site.
  • Go to Site Options, click Utilities, then select Migrator.
  • At the Migrator Tool, select the BlogML option.
  • Click the Browse button and select your BlogML file.
  • Now click the Get Data button. Please know that clicking this button will *not* import any data yet. It simply reads the BlogML file and presents the contents of the file back to you.
  • Select all your posts (by clicking the very first checkbox) or pick and choose which posts you want to import.
  • Scroll all the way to the bottom of the page and select who the posts will be imported as and what category they will belong to. Feel free to rename your admin user (like I did), create a new user, and/or create a new category (or not if you want to keep them uncategorized, like I did) first before actually doing the import.
  • And finally click the Import Posts button to start the migrator. You'll see some nice ajax-y checkmarks as the posts are processed, and then you'll be done.

 

Pick a Theme

Graffiti ships with a few themes out of the box, but if none of those tickle your fancy, there are plenty of other themes freely available out there. Here's a few places to get you started:

Installing and configuring a new theme in Graffiti is very easy, as this short QuickStart video shows.

 

Setup Redirects

So it's cool that you can import all your existing content, pick a theme, and be up and running in a matter of minutes, but what about all those sites that linked to your blog posts? Well, they'll break unless you setup something to redirect them to their new locations. This is where Rich Mercer is again our friend. Rich wrote a Graffiti plugin to handle the redirects.

The plugin was written as a way to redirect Community Server links to Graffiti links, but since Subtext uses the exact same URL format, the plugin works here as well. See Rich's post above for the download and configuration options.

BEWARE: This redirect plugin only works for *named* posts. Like Rich points out, the plugin works as expected for posts like http://mysite.com/archive/2007/11/14/test-post.aspx because it will redirect that request to http://mysite.com/[category]/test-post/ in Graffiti. However, if a post wasn't named, such as http://mysite.com/archive/2007/11/14/43518.aspx, then it will *not* redirect. The reason is because Graffiti has no way to match the old post IDs to anything. It's an unfortunate side effect, but a very important one. For me, I've been blogging for about 4.5 years and started using named posts about 2.5 years ago, so any post from my first 2 years of blogging will not redirect. If you are really, really, really interested in trying to get your unnamed posts to redirect, James Avery got it to work, but he'll warn you it's nasty.

 

Update FeedBurner

In Subtext the RSS feed was located at the root rss.aspx file, such as http://arcware.net/rss.aspx; therefore, if you use FeedBurner, that's where its original feed setting was pointed to. To keep all your subscribers happy when you move to Graffiti, change that FeedBurner setting to /feed/default.aspx, such as http://arcware.net/feed/default.aspx. As long as your subscribers use your FeedBurner feed and not your Subtext feed they will see no interruption.

 

Grab Some Plugins

There are a number of other Graffiti plugins out there to enhance your Graffiti experience even more. Here are a few I found that have proven useful:

  • SkinnyWeb - Jayme Davis, one of the main dudes behind Graffiti, wrote this plugin as a way to reduce the output to the user.
  • Twitter and RSS - ScottW (does anyone even bother to try and spell his last name?) wrote a plugin that provides two pieces of functionality: it will update your Twitter account every time you post new content and it adds "similar posts" to your RSS.
  • Graffiti Extras - This is a CodePlex project that contains a number of plugins, such as an IP blocker, a theme explorer, and a sitemap generator.

 

Configure Widgets

Widgets are those things that give your site a little extra something. Like for me, if you read this on the actual site, you'll see a handful of things on the right side, such as a search box, an advertisement, FeedBurner and Technorati stats, my recent tweets, and my Xbox gamercard. Those are all widgets.

To configure widgets, go to your Graffiti control panel, click Presentation, then select Widgets. From there, select an available widget, configure it, then drag it onto the left or right sidebar. Done.

 

Manually Fix Images

I mentioned in the beginning of this post that the Subtext export into BlogML does not handle any images you may have in your blog posts; therefore, when you view those posts in Graffiti the images will not show up. To fix this, you have to perform some manual labor. You'll need to grab the original image from each post, put them in a temporary location on your hard drive, upload them into Graffiti, then go back and edit each post accordingly. Like I said, it's manual labor. Windows Live Writer will make this job a little easier, but doesn't take all the pain away.

 

And that should do it. Overall the process of moving from Subtext to Graffiti is pretty easy and relatively straightforward. Hopefully some of these things will help you out.

Tags:

Similar Posts

  1. TechEd 2005 Recap
  2. Every Beginning Has An End (And Tattoos)
  3. Clarity

2 comment(s) so far

If you have access to an ISAPI rewriter (there is now a free one for IIS 7) you could write a rule or two to handle old image paths.

Post your comment

Comment