One question I’ve received a few times over the last several months since converting the web site to Joomla is why I selected Joomla. There are numerous reasons why I picked this CMS as the one for which to run my web site, but I’ll try to provide the main points.

First I will say that I do have a web server in my home. If you’re going to be creating a web site, you need one. You need a server that you can use to test a particular CMS, various extensions for that CMS, and so forth as a sandbox instead of using your live web site (or what you think is a “hidden” section of it) as a test bed. That is how I tested many CMS setups to determine which one suited my needs best.

Originally the Colony West web site used XOOPS as the underlying content management system (CMS). XOOPS is a decent CMS and has several underlying administrative features missing from Joomla, such as granular control over user access. However with the new setup, I didn’t consider granular user access as a need as I don’t believe I’m going to be needing granular control except in only a couple components.

I originally employed XOOPS because of a software project management system called xProject, which is no longer available. It was a great extension to XOOPS. I still have that package around, but as the project is no longer actively available, meaning no longer actively developed, I needed to look around for something else. This also gave me the chance to eliminate XOOPS from the picture, and looking for extension to XOOPS to suit my needs was not a consideration.

I left XOOPS because it just didn’t seem right. I can’t quite place my finger on it, but it just didn’t quite have the right feel. So I went looking around.

And as I said, I tried many different CMS systems. And the place I started looking was CMS Matrix, where you can search around a lot of different CMS systems and even narrow your search based on your needs. It made finding things a lot easier as I had a few set of stipulated requirements that I had to meet.

1. PHP and MySQL

First and foremost, the CMS had to run using PHP 4 as the scripting system using MySQL as the backend. That is what my web host provides, and that is what I needed.

Sure I could’ve selected Perl as well, since my host provides Perl support, but I want a CMS for which I might later write extensions, and I don’t know Perl, nor do I have a desire to learn it. I’m reasonably familiar with PHP and given its similarities to C and C++, I feel I can further learn PHP a lot easier than starting to learn Perl.

2. Free

This one was a no-brainer in my opinion. Obviously since Colony West Software Company is little more than a DBA (“doing business as”), I needed a CMS system that wasn’t going to cost me more than my web hosting fees. There are plenty of CMS systems that fit this category.

Now why didn’t I say “free and open source”? Most CMS systems that are distributed as Perl or PHP are distributed as source scripts. So by selecting one that uses PHP, I’m almost guaranteed to get the source code as well, though I don’t particularly need it, simply because I’m picking one that is free.

Is it GPL’d? BSD? [Insert license here]? I did not care, and it was never a consideration the license for the CMS so long as I could use it on my web site without having to send someone money first. Joomla is GPL’d, but like I said, I don’t care.

3. Actively supported

Most CMS systems will fit this category. Any CMS system that is actively and heavily used will be actively supported as well. Bugs and security concerns need to be addressed on a regular basis.

4. Broad availability of extensions

Seems like a no-brainer, but there’s a clarification that should be mentioned. I’m not talking about a lot of extensions, but a lot of categories of extensions. I don’t know what I will be adding to my site next as it grows, so knowing that options are available brings piece of mind in selecting a CMS.

And of course, falling under requirement 3 above, the extensions that are available should be actively supported as well. There’s no point in having a broad availability of extensions or modules if I won’t get any updates after bugs are reported.

What others were considered?

There were several others that were considered, and the one that was the main competition for Joomla in my selection process was Drupal. Like Joomla, it met my requirements with ease. It is a PHP-based system with MySQL as the backend. But what I didn’t like about Drupal is how much it provided right out of the box.

If you were to compare the feature list for Drupal with the feature list for Joomla, or try both systems out for yourself, you’ll find how much Drupal gives you right away. This can be good, but for me it was too much. I don’t mind looking around for extensions to add functionality to my site; to me, that’s better than having everything handed to you – one of the reasons I don’t like the various Linux distros much.

Plus like XOOPS, there was something about Drupal that just didn’t quite feel right.

Why Joomla?

Okay, so why Joomla? Joomla meets the four requirements provided above. It is PHP 4-based using MySQL as the backend, though some available extensions require PHP 5, and it’s free, actively supported and developed, with a broad availability of extensions.

Plus one thing I noticed with Joomla as well was the ease of installation, not only of the main system but also with regard to extensions. It is also easy to administer and maintain.

And it doesn’t provide many extensions out of the box. To some this might seem like a down-side, but to me it was a plus. It meant I had control and I was guaranteed to have options.

So there you have it, a somewhat nutshell version of why I chose Joomla over others that I tested. I’m sure there are others out there that I could’ve selected, but I also didn’t want to look around and investigate every option out there, otherwise likely I’d still be testing… Instead I went with an option that appeared very popular, well supported, and, of course, stable.