This site used to be static HTML pages but now uses the Joomla Content Management System (CMS); why the change?

There are two different questions here:

  1. Why Content Management Systems? The short answer is that they makes life easier.
  2. Why Joomla? Because I was already familiar with it.

Why Content Management Systems?

More specifically, once you have established the site structure, it is much easier to add new content and have it appear in the 'right' places. Adding new content (like this blog post) becomes a simple process without the need to consider the effect on existing content. Compared to adding a new page to a static site, where (potentially) the links in all the other pages might need to be updated, this is a big improvement.

And then there's all the extras you get for free (meaning no extra effort).

  • Dynamic menus. Menu items appear in the right places at the right times.
  • Basic security. I don't expect bullet-proof security from any web application, but most CMS's have some level of access control - registered users can see more and do more than anonymous browsers.
  • Site search. Most CMS platforms provide built-in mechanisms for searching site content with background indexing so it just works.
  • Print friendly views. If someone wants to print a page, they probably don't want the menus and other cruft around the main content. You generally get this by default in a CMS - perhaps requiring a configuration option.

Why Joomla?

(Joomla is often written as Joomla!, which work fine on their site, but the looks odd in headings - "Why Joomla!?" - so I'm sticking with just Joomla.)

Firstly because of familiarity. I've done some other people's websites in Joomla so that was the option that worked for me. There are lots of other CMS platforms around, such as Wordpress, Drupal, Typo3, etc, etc. You might choose one of these others and have great results.

Besides familiarity, some other decision criteria were:

  • Established Open source project. The open source bit is partly ideological, partly practical (community support, multiple contributors etc), but the 'established' bit provides additional comfort that the project isn't about to evaporate through lack of interest.
  • Supported by my hosting provider. Although I didn't actually use the packaged installer (because I staged the content locally first), it's nice to know that your web host knows a little about the packages you're running on their servers.
  • Extension library. Having access to a wide variety of extensions to add extra features beyond the basic installation.
  • Scripted update process. Version drift is an issue with any software; having a simple process to check for and apply updates is a big advantage.

Again, other CMS's could meet these requirements too.

Any disadvantages?

Yes, but not enough to outweigh the benefits.

As with any software package, you are in some sense bound by some basic assumptions. In the case of CMS's, the menu/article structure is a given. I don't see this as a real problem. There are a few Joomla quirks that I'd prefer to see changed, such as the lack of output overrides for non-HTML formats; this sort of thing doesn't matter to normal people (and they may well be addressed in future versions anyway). Having selected Joomla (or any other package), I accept that its benefits come with some limitations.

The default page URL's tend to be unattractive (like mysite.com.au/index.php?option=com_content&view=article&id=23&Itemid=167). Various Search Engine Optimisation (SEO) options can address this, depending on how much effort you are willing to commit, with possible limitations based on your web host. I just use the built-in Joomla SEO url option, which helps quite a bit.

The default Joomla security model can be a bit flat for larger corporate use, but that's not a problem for me. This has improved a lot over recent versions (from 1.7, current is 2.5), so it's even less of an issue.

References

Wikipedia article on content management systems

Joomla project home

Add comment

Security code
Refresh

Joomla! Debug Console

Session

Profile Information

Memory Usage

Database Queries