After using Dasblog as my blogging engine for quite some time I decided that it was time to change to an engine that had a few more features. I was also getting a bit fed up with various issues I had with Dasblog that may very well have been due to my hosting configuration. In any case, Dasblog was great but I'm hoping that Subtext will be better. The conversion from Dasblog to
Subtext was no small feat.
After doing quite a bit of looking around it was pretty obvious that using
BlogML as the intermediate conversion format was the way to go. However Dasblog 1.9 does not support exporting of the blog content as BlogML. On a few forum posts it was mentioned that you could get a proof of concept implementation from Scott Hanselman, but I didn’t see why I should bother him. He obviously has good reason not to release it yet. So I decided to see what alternatives I had.
The approach I picked was to use the blog mirroring feature of Community Server that effectively allows you to use an RSS feed to populate your blog. Once I had mirrored my blog I exported it to BlogML and then imported it into my local Subtext installation. I copied the all the binary content from my Dasblog content folder to the relevant Subtext images folder and then proceeded to use a combination of database updates and manual post edits to fix the links. I was hoping that once I had done that the Subtext export would embed all the images and the related post content in the BlogML for me. Unfortunately this is not the case. The BlogML feature only exports the related images as embedded attachments. I then had to manual edit the blog XML file to ensure that when I imported the BlogML file on my live web site that the links would point to the correct folders on that server. The Subtext “clear blog content” feature was a real life saver, because I had to repeat the import process a few times before I was happy with it. I still concerned that I hadn’t found all the links in the blog so I used
http://www.dead-links.com to spider my blog and catch anything else I had missed.
It ended up taking a lot longer than I expected but I’m hoping that it will be well worth the effort.