I have a slide I use when presenting about content management systems to manglement types. Content management systems suck. They're designed that way. The main idea behind them, in a corporate context, is to allow content to be published quickly by people who don't know (much) HTML so that it fits within the existing structure. The trade-off is that it's a whole lot less flexible. Anything you want to do that doesn't fit into the built-in templates and structure is going to require some development.
The reason I use this slide is to explain that there's a middle ground in there. If you're an enormous publishing organisation with daily deadlines and a team of editors, sub-editors and content approvers, then the top-end systems are necessary. For most corporate web sites though, somewhere in the middle makes more sense.
When you demonstrate the idea of approvers and workflow that's built into most CMSes, manglement types start getting ideas. They love the idea of a defined workflow, with things getting signed off as they go through the workflow. Yet I've never worked in an organisation where the workflow features work. You always end up with one or more approvers who constantly forget their logins, forget what they're supposed to do to approve, or do the wrong thing when they're in there. It always ends up reverting to a paper-based system, printing out the content for approval. In most situations, it's a better approach. The workflow systems in most CMSes get turned off pretty quickly in most implementations.
I'm about to start specifying a new content management platform for my employer, so it's got me thinking about the complexity level we're going for. Parts of our site are quite tricky, technical bits of code and integration with other systems. But most of it is just plain content. Our current CMS is a little too far to the right on the axis I've drawn above, with seemingly-simple changes quite hard to make, involving digging through templates, schema definitions and template elements. I need to find a middle ground for the next crack at it.
Looking around at the free software content management systems, it's pretty difficult to compare them in any meaningful way. And more important to me is the company we end up using to build the thing. I'd really rather not have a PHP/MySQL platform, but two off the seemingly best-supported CMSes (Joomla and Drupal) are just that. I love the look approach taken by the Perl+XUL cyclone3, but the only companies supporting it seem to be in Europe.
So, lazyweb, can you recommend any good CMS development companies who are interested in a pretty big project? I'd like a small, nimble, free software-loving group who are well-versed in Agile development. Sydney ideally, but elsewhere in Australia is okay. Let me know.