Meet the New Blog, Same As The Old Blog

I spent a fair amount of time this past weekend working on this site. While the new look is probably obvious, the more significant change was the move to WordPress.

When I set up this blog in 2005, I was spending a significant amount of time developing Web applications in ColdFusion.  I anticipated wanting to tinker with any blogging engine I installed. I enjoy working on CFML-based systems much more than PHP, so I chose BlogCFC as my blogging engine.

So why change? So after almost five years of irregular blogging, the hacking of BlogCFC never really materialized. When I signed on to the Nerd Thunderdome festivities last month, I was reminded of the somewhat do-it-yourself nature of BlogCFC (case in point: Ray is again considering including a Rich Text Editor in BlogCFC). I was also still using the stock visual design of BlogCFC. Over the years I’d talked to various people, including my wife (Michelle Panulla, a talented Web designer and developer) about getting help in skinning this site. The fact that I was running a fairly custom system meant I was probably going to have to do the bulk of the template work myself.

After giving it a lot of thought, I decided to switch to WordPress. Though I still love ColdFusion as a platform, I’m less interested in opening the hood of every piece of software I install. I equate this to building your own computer system or tinkering with desktop Linux – at some point all that mucking around loses its charm and you want to focus on the objective. Or, maybe I’ve just refocused where I want to do my tinkering.

I did some research and I found a nice post by James Netherton from 2007 with a small CF app he wrote to migrate BlogCFC to WordPress database-to-database. The app got me most of the way to where I wanted to be, but it had some issues with posts labeled in multiple categories. I rewrote the parts of the conversion that dealt with categories and was able to migrate all of my posts, comments, and categories without incident.

Since it seems that someone migrates from BlogCFC to WordPress every year or so, I’ve posted the source of the updated migration tool to my space on GitHub for the next person who wants to make the jump.

Upgrading to BlogCFC 5

Lately several of us in my office have been trying to blog more at work. I realized that I’d pretty much let this blog go feral over the last few months, and thought I’d give it a little attention.

When I set this blog up, I decided to use BlogCFC. In the intervening months a new version had been released (BlogCFC 5), so I thought I’d take a whack at upgrading from the previous version I had installed.

All in all, the upgrade went okay. It was a little bumpy making sure I made the necessary mods to the database and tracking down a bug in the Captcha CFC that may be related to my environment.

Of course, if I’d actually *read* the README file, things would have gone a lot smoother!

Blogging to MySQL

When I finally decided to go ahead with a BlogCFC/MySQL setup, I had to do some work to get ready for the deployment.

My first issue was the outdated version of MySQL installed on my server. I’m running an older version of RedHat Enterprise Linux (v3), so occasionally I encounter packages that lag significantly behind current development. After upgrading to a supported version of MySQL through a hail of broken RPM dependencies, I was able to run the install script without incident. Everything was cool.

Until I tried to run the blog in a browser! I was reminded that MySQL installs on Linux using case-sensitive table names by default! The BlogCFC MySQL install script created all the tables in all-lower case, but the CFML code uses easier-to-read mixedCase for all the table name references.

After discussing the issue with a knowledgeable friend, I decided that reconfiguring MySQL was the easiest solution. Since this is the only application using MySQL on my server, I wouldn’t have to worry about breaking any other apps. MySQL can be reconfigured by setting the variable lower_case_table_names=1 in /etc/my.cnf.

For more information, check out: http://dev.mysql.com/doc/refman/4.1/en/name-case-sensitivity.html

Trying out BlogCFC

I’ve been meaning to set up a personal blog for some time, but I never found quite the right package for my tastes. I wanted something I could tinker with and extend. There were several PHP packages that would have fit the bill, but as a huge fan of Macromedia ColdFusion, I thought I’d look there first.

As it turned out, most of the Macromedia-inspired blogs I read happen to use the same package, Ray Camden’s BlogCFC. This package looked like just what I wanted, but with one exception — the database support was somewhat limited. Only Access, SQL Server, and MySQL were supported out-of-the-box. While I have no qualms with SQL Server, all of my servers run Linux of one version or another so that wasn’t an option. This also disqualified Access, but honestly it hadn’t even gotten into the game.

So now to MySQL. Anyone that knows me has heard my cries of “Use a real database!” every time someone suggests MySQL for a new project. As someone raised on enterprise-level RDBMSs, MySQL always felt amateurish and limited.

I really like PostgreSQL, so I set about hacking BlogCFC to support it. This turned out to be messier than I had hoped; I got bogged down in the details, and never got around to starting a blog.

When I saw that a new version of BlogCFC was available, I figured I needed to check it out again.

I liked what I saw, so I finally put my reservations aside and installed it with a MySQL backend — in the interest of actually getting something going now.

So, here I am. I’m going to try to get my feet wet with short tips at first to try to build some momentum. I’m still not crazy about committing the RAM and processor cycles to a second database backend on my server, but at least now I can work on that PostgreSQL port gradually while getting some practical experience with the package.