Some time ago I made the switch to using WordPress as my primary blogging engine. I hosted it myself and had mySQL and PHP for the infrastructure.
WordPress is a tried and true blogging engine so I was very impressed at its stability and performance. One thing I didn’t like, which wasn’t really shortfall of the application, was my inability to customize and build my own themes. The platform was PHP which made it very difficult for me since I really have no background in PHP. I was “stuck” with off the shelf themes and the inability to customize the engine to my needs.
The other night I came across an open-source app called BlogEngine.net. This is available for free from CodePlex and is developed by a community of dotnet junkies. They leverage things like user controls, master pages, and other features of the .NET Framework. Exactly what I was looking for.
The installation is straight-forward and doesn’t require anything special. The primary storage for blog pages and posts is in an XML file. You also have the option to use a SQL database. In my migration I am just using the default XML option. It works for what I use it for.
There are a lot of extra capabilities built into the product that I don’t use. You can read more about those on their website.
I migrated my blog over to this new engine this last week. The migration from WordPress was difficult since there are a not a lot of tools to do so. The default tool does an export from either BlogML or RSS. With RSS you can only export the post contents; this doesn’t get your comments for you. BlogML is a implementation of RSS that extends the structure to include additional information like comments and categories.
Like I said, I didn’t have very good luck in exporting. I basically was able to track down a WordPress to BlogML plugin for WordPress that replaces the existing RSS export capabilities. The big problem I experienced was the export failed to pull all of my categories due to a database error and left all of my posts with no category association. I spent most of the weekend fixing this. That wasn’t much fun.
I also worked on porting the theme I was using in WordPress to the new engine. That was simpler, but there are still a few quirky things with the new engine when it comes to building out a stylesheet for the theme.
BlogEngine.net has have support for the Metaweblog API so you can use most blogging tools like Windows Live Writer.