The CMS Kool-Aid: Joomla
I recently drank the CMS Kool-Aid again. Years ago, I toyed with PHP-Nuke and was always impressed by the wide variety of features available out of the box. I tried it again this year when I helped create http://juliebluenetwork.com, but PHP-Nuke seemed out of date and a out of touch, not to mention buggy (on Windows servers anyway.
I recently was asked to create a website for a National Latina Business Womens Association (NLBWA) branch at nlbwa-cenca.com. Instead of diving in the old fashioned way - downloading a template, firing up Microsoft SharePoint Designer, and hacking away at XHTML and CSS layers bit by bit to get the exact look and feel I want, with the smug feeling that my code was perfectly XHTML 1.0 Strict compliant, I looked around at the other NLBWA branches first. One in particular (nlbwa-la.org) had a particularly clean look and feel and some nice features, so I poked at the source to see what tool was used, and it was Joomla.
Joomla bills itself as "an award-winning content management system (CMS), which enables you to build Web sites and powerful online applications. Many aspects, including its ease-of-use and extensibility, have made Joomla the most popular Web site software available. Best of all, Joomla is an open source solution that is freely available to everyone." That's a bit vague since there's a lot of things out there that enable you to build web sites and powerful online applications - such as a nice template, manually hacking XHTML/CSS and PHP/Perl/Ruby/whatever. What makes Joomla an awesome CMS is that the entire site can be managed via a browser at an extreme level of detail. You end up with a community for free - not just a static site, since Joomla includes the user registration system right there as a component. The content layout system is top notch, making you feel like you're designing YOUR site, not just adding content into an existing design that is inflexible.
Joomla stands out for me at the moment for several reasons:
- On Windows servers, it actually installs and works quickly and easily without having to hack at the core PHP code to resolve issues surrounding the fact that it was built for Linux.
- There's a great quickstart guide that focuses on building a real site for a business customer with requirements that you might encounter in the real world.
- It looks beautiful and has full templating.
- It has a ton of add-on components, such as Chat as just one example, but far more importantly, the installation procedure for these is dead simple - you upload a ZIP via the web administration tool and it slurps in and installs it for you.
There's always a few minor permission issues that must be dealt with on the server to get everything working right, but another nice thing is that these things are very obvious about how to solve them, because it doesn't use very complex abstractions that make everything unintelligible until you dig through 14 interconnected PHP files before you can figure out which folder or file needs a permission bit set. For Windows servers, this certainly seems like one of the best CMS systems out there. I'm sure over time I will discover some things wrong with it (like the fact that paths get screwy and everything breaks with the IIS 6 FastCGI module, but so do a lot of other systems) but overall I love it, and I wonder if I'll ever build another standard business website the usual way again.


