Living with CMS.

The first stage was denial. Virginia C.U.R.E., an organization for which I do some webwork, decided to redesign the website using Joomla, a content management system (CMS). A CMS is a website design and management system that uses pre-made modules and templates. I had fought this move because I didn’t want to loose the flexibility that I had writing my own code in PHP. But I also have to admit that the website, in it’s current state, is pretty boring. The design is flat, the colors bland, and the graphics, what little there are, are cheesy. Web designing isn’t my day-job. I make no money from it and don’t have the time, and admittedly don’t have the skills, to keep up on it as I should. Worst of all, Internet Explorer kept biting me in the ass. I hope you can pardon the my foulness, but appreciate the restraint it’s taking me to keep from surrounding the term “Internet Explorer” with streams of shockingly filthy and unpleasant language. I plan to describe my trials with IE in another post, but suffice to say, I often wrote perfectly good code that looked fine in every other browser, only to find that the website was completely messed up in one version or another of that abomination. If you come across a website that looks so awful or functions so poorly that you can’t understand how the designers could possibly post such a mess, chances are they designed the website to industry standards but haven’t gotten around to checking it on your particular version of IE. Or, maybe they designed it not in accordance with industry standards and wrote broken, improper code that looks fine in IE and doesn’t render properly in a standards-compliant browser like Firefox.

At any rate, thanks to the dogged advocacy of Joomla by Paul, the guy who hosts Virginia C.U.R.E.’s website on his server, the organization decided to make the switch. Currently, the webteam and I are working on a new version, which you can see here. Of course, these links will be outdated soon.

Having moved to acceptance, I decided to research CMS’s. The webserver of another site that I work on, The Hampton Roads chapter of the Coast Guard Chief Petty Officers Association, offered a different CMS, called Drupal. I decided to poke around with Drupal and ended up redesigning the Chief’s website.

Using a CMS can be confusing at first if you’ve been designing a website with code or even a wysiwyg editor. The folks who put together the back-end don’t necessary think along the same lines as you do, and a feature that might seem obvious to add may take several unintuitive steps with the CMS. For example, I currently have a table of “announcements”, which appear on the front page of the website, and disappear when an expiration date is reached. Joomla uses what they call “Articles” for such content. Articles can be used for various purposes, so you have to do some other clicking to designate where you want a particular article to to appear in the website. Drupal uses what they call “Pages” and “Stories” by default for to hold content.

You will loose a lot of your creative freedom at first but may be surprised at how much you can add back by learning the features of the CMS, by using add-ons, and by occasionally, and carefully, cracking open the pre-written templates and making some of your own changes to the code. To me, the biggest advantages to using a CMS are:

– Graphics, including little flourishes like rounded corners and nice borders, which would take me a lot of time to draw by myself and make a big difference in the website’s appearance.
– Compensating for IE bugs.
– Security. I often worry about making mistakes in my own password-protected applications, and I feel comfortable knowing that the sensitive portions of the website have been written by teams of designers, not just a hack with a laptop like me.

I’ve only been using Drupal and Joomla for a couple of weeks. They are very different. For coders, my initial take is that Drupal is the better choice if you’re a PHP/Mysql hacker and want to get under the hood of your new system quickly. Joomla is the better choice if you’re ready to do a lot of coding up front and are willing to navigate a complex array of inter-connected files.

If you want to do no coding at all, or very little, Joomla seems to be more complicated but offers more point-and-click features. I found Drupal easier to understand out of the box, but harder to customize without coding.

Both are free and open source.