One of my clients wanted a new website. I wanted to play around a bit, and this client’s a nonprofit (meaning it’s "pay me and then I write a check for the same amount to you" type of gig) so I decided to put in a content management system for them to see how the PHP batch works. Jim and I are beginning to use Plone for a group in Canada but this nonprofit didn’t have access to the Apache instance, effectively ruling out Plone. Besides, Plone has a rather long learning curve, not the least of which involves learning the Zope ZMI. I decided to play with some of the PHP-based CMSs, which I’d never done before.
Nuke is probably everyone’s first stop. I generally liked it and it’s support from the user community. But many complained that Nuke brought entire servers to their knees in consuming CPU. Since they’re on a shared server, that’s out.
PostNuke didn’t look that much better on resources, but I didn’t really give it a chance. I’ll probably go back to it sooner or later to check it out in more depth. Dragonfly CMS looked okay, but it lacked some of the features that they were looking for. Plus it had too much of a teen hacker feel: I didn’t want to have to spend a massive amount of time creating a template from scratch in a system I hadn’t used before. I hoped to repurpose some existing GPL templates and release any updates I made. Plus, Dragonfly is really designed for photo galleries. Not surprising considering it’s parentage.
Xaraya looked like the best choice. It has a small user base but seems to have a decent enterprise-level development community. They obviously cared about doing this right. The authorization and authentication elements were there, curiously named AuthoSSO, a name that Jim gave the SSO hack Echo Software created for a large Swiss investment bank several years back. Unfortunately, Xaraya had one other massive drawback: it was impossibly slow. At least on the client’s server, it dragged impressively. I put up phpBB and Dragonfly to see if they had the same issue: they didn’t. So much for Xaraya for the moment.
I stumbled upon the CMS Matrix, which lists the various pros and cons of the many, many CMS out there in the world. Because they were nonprofit, and since Jim and I are OSS pushers, I looked for an open-source project that had a user-friendly environment that they would be able to manage after I had left. No good putting together a system that they could not later change: it had to have a decent interface that they could understand with a small amount of classroom on our part. It didn’t have to be terribly powerful but easy to use, which is why we didn’t go with Plone in the first place.
In CMS matrix, I stumbled upon Mambo. Mambo has big, old MSN-style friendly icons, a smooth interface, LAMPS and decent speed. The biggest complaint seemed to come from younger hackers who said it was too user friendly and not powerful. Since what teen hackers hate, middle-age users love, I decided to go ahead and give it a try.
In general, I’m impressed. The learning curve was long but nothing out of the ordinary. I’ll be using Mambo along with some templates customized from Ben Brown which fit the organization’s needs.
What I’m not impressed by with almost any of these CMS is the lack of knowledge about document structure and how CSS implements it. Perhaps there are lots of people still supporting old 4.x browsers. I know that NS 7.1 is the best you can do on Mac OS 9, but I think I’m the only person still running it. Proper document structure simplifies a lot of things. All of these CMS have an overabundance of use of tables for positioning, much of it built into the slots or blocks that the modules supply to the templates.
I’ve got a couple of things to do with Mambo yet, including CSS-ing the templates I’m using. I’ll release them back. There’s also an idea of creating a HOWTO for groups wanting to put up a CMS-based site. The technical problems are trivial compared to the design issues.