My blog is now running on WordPress! It was quite a bit of work, but the migration from Community Server is now complete. Here is what I wrote last July when I decided I wanted to switch to WordPress. You can also read part 1 and part 2 of the migration process.
Here’s what I did since part 2:
- Removed some spam comments and invalid data from the CS database.
- Finished up customizing the theme.
- Spent far too much time trying to get email notifications working. I’m definitely not a PHP expert, but the way mail is implemented just seems bizarre. I eventually got it working, and decided to use the wpPHPMailer plugin for WordPress.
- Installed some more plugins that I wanted to use, such as the wonderful Subscribe to Comments.
- Made some additional adjustments to the code.
- Upgraded PHP to the latest version.
I also setup a second WordPress installation and changed my website over to that.
After I ran the migration tool I had written, I did some more testing, and discovered a big problem with the redirections! In the C# code I had simply written “datePosted.Month.ToString()” and “datePosted.Day.ToString()” to build the URLs. The problem is that if the month was January, that would return a “1”. Community Server likes to have “01” however! Long story short – I just had to add some regex code to the list of redirections to make it work.
As far as I can tell, it’s all working wonderfully! I’ll be doing more testing over the weekend, and please if you notice anything wonky, let me know.
Next up: my Dad’s blog and the Blogosphere.ca blogs.
Okay, time for another update on the blog migration. I stopped keeping track of hours, but I would guess I’ve spent about 9 hours or so on it thus far. Part of that time is for the theme though, and I tend to take quite a while working on those.
Here’s what I’ve accomplished since part 1:
- Discovered that extracting the tags from existing posts was harder than I first thought! That’s because I’ve used three or four different styles for including tags over the years, so I had to update the code to take that into account.
- Same problem affected the “Read” link at the bottom of a post.
- Ran into a bunch of crap data problems in Community Server, mainly around trackbacks and and spam comments. For some reason they were appearing to me as posts. I solved the problem by deleting them in the source where appropriate, and accounting for them in the code otherwise.
- Another crap data issue – one post had four entries!
- Implemented and tested the redirection code necessary so that existing links will continue to work. I think this part is really interesting because I’ve basically got PHP and ASP.NET running in the same application.
- Spent some time working on the theme, which you can see at the test blog. It looks more or less the same as this theme, but with some nice improvements.
- Also spent some time looking into plugins and activated a few.
After some trial and error, I was finally able to import all the content from Community Server to WordPress successfully. Yay!
I didn’t start tagging posts until early 2005, so there’s around 400 or so that aren’t tagged, but even still I think the tag cloud on the test blog is really interesting. Looks like I blog about Microsoft quite a bit! Maybe even more interesting is the fact that I’ve used 1843 different tags.
So I guess I’m about ready to make the switch. Just a few more “clean up” things I need to do (like delete more spam comments). I think I’m going to replace my website with another WordPress installation too, but that shouldn’t take long. The current site is really old, based on ugly code, and it’s mostly out-of-date because updating the pages is so difficult. I think WP will work nicely (plus I can use the same theme).
I’d say the migration is going much more smoothly than I anticipated!
Back in July I mentioned that I wanted to switch to WordPress. Obviously I haven’t completed that yet, but I have started on it! So far I’ve spent about three and a half hours on the project, and it’s going well. You can see my test blog here.
It’s a difficult migration, for a number of reasons. Firstly, I am on Community Server 1.1 which has been pretty much abandoned. I have no desire to upgrade to a newer version – I’m trying to get rid of CS, after all. Secondly, I want to take advantage of the built-in tags that WordPress 2.3 has, among other things. In my current blog, the tags are actually part of the post content. Thirdly, I don’t want any links to break! So there’s a number of things to worry about.
Here’s what I’ve done so far:
- Installed a test instance of WordPress 2.3.2.
- Created a solution in Visual Studio 2008 with three projects: a WordPress data access layer (DAL), a Community Server DAL, and a command line app.
- Configured SubSonic to automatically generate the two DALs.
- Wrote some static functions to: extract the tags from my existing posts, remove the footer and reformat the link I sometimes have there, generate a slug for WordPress posts (the words in the link), and build the existing and new URLs for a post.
- Started implementing the command line app to read a post from CS, apply all of the necessary transformations with the static functions, and then add it to WordPress.
For the most part it’s working well! I’m still tweaking the code a bit to deal with oddball posts, but it’s more or less ready to go. You can see on the test blog that I’ve started testing the code. I think the actual migration will take quite a while, considering I have almost 2000 posts and 5000 comments.
After the migration, I still need to work on a theme, and I need to ensure all the links are redirecting correctly. So there’s quite a bit of work to do, but I think the hardest stuff is out of the way. My goal is to have it all rockin and rollin by Northern Voice.
I’ve decided that I am going to switch my blog to WordPress. I am running Community Server 1.1 at the moment, and while it works well enough I know I’d be happier with WordPress. When I have time and have solved the issues with doing such a switch, I’ll make the move.
There’s a very large, very vibrant, and very active community surrounding WordPress. For example, it’s rare to find a blogging tool that supports Community Server – all of them support WordPress. Ditto for widgets and other third party services. Most of all though? WordPress just works the way I want it to.
I’ve used .Text and Community Server for this blog (and DasBlog waaaay back in the day). Blogosphere.ca is still running .Text if you can believe it. My Dad’s blog and the SportsGuru blog we co-author run on MovableType. I’ve played with Blogger, LiveJournal, Windows Live Spaces, and other hosted engines. I’ve seen WordPress used over the last couple years, and was particularly interested when Scoble switched. I started using WordPress quite extensively a couple weeks ago when I started WindowsMediaBlog.com. It became clear to me very quickly that WordPress is the way to go. Easy to setup and configure, easy to manage.
These are the goals I have for the switch:
- All posts, comments, trackbacks, etc. migrated to WordPress.
- All existing URLs will continue to work. The switch shouldn’t break anything.
- Existing content will be “cleaned up” a bit (tags stripped and stored in the database using a widget, for example).
I’ve looked around a little, and have come to the conclusion that the only way to achieve these goals is to write some code. WordPress cannot import from Community Server, and an RSS feed isn’t flexible enough to include comments and trackbacks. BlogML is promising, and it might help to an extent, but only with #1. If anyone has suggestions, I’d love to hear from you!
My blog will likely be the last that I’ll switch to WordPress, actually. EclecticBlogs, SportsGuru, and the Blogosphere.ca blogs will all be migrated first, in varying degrees (Blogosphere will likely be a fresh start using WordPress MU and a static archive of what currently exists). By the time I get to my blog, I should be an expert!
Thoughts? Suggestions? I’m all ears! I’ll share my migration experiences here as I go.