I’ve been thinking a lot of late about content management systems for the WWF-Australia website. Initially I thought this would be a great project to work on, but my role has strayed a bit from what I was expecting to being less hands-on technical and more strategic. Thus, I’ve been looking at open source alternatives.
Unfortunately, it seems, nothing out there quite does what we need. View the extended entry for more.
I’ve been through a list of potential solutions and we’ve narrowed it down to three:
As an organisation we are committed to open source. Because of the difficulties I’ve had in finding a solution I documented my thoughts on why open source is important for the CMS (as there are a couple of low-cost commercial products that might be suitable). The list I came up with is:
Although for a geek like me the last option would be a great challenge and a lot of fun, it just doesn’t seem realistic given the rest of my responsibilities. Although we have a (somewhat limited) budget for implementation and development, it’s just not enough to cover the development required to get a workable solution. Plus, we want to avoid Windows/IIS on the server, and the more I get into Mono, the more holes I find.
- Low up-front cost
- Vendor independent (avoids lock-in)
- Ability to fix bugs and add new features (and being able to contribute them back to the community)
- Access to community developed additions/bug fixes etc.
Your costs, theoretically, are mostly related to the time spent learning and implementing the system (or paying somebody to do it for you). And depending on the strength of the documentation and/or community for a product, and the strength of the application’s architecture, these costs may be significant. Theoretically a well designed and supported commercial product can give you the latter three of those points, but typically they are not low cost.
MySource Matrix fulfills 99% of our core requirements (and that remaining 1% may be supported but I just don’t know about it yet), but costs are an issue. Even though the core product is open source, and we are able to access the “commercial” components for free (as a non-profit), I strongly feel that we’re going to be paying the vendor (that is Squiz.net) a lot of $$ just to get a working system up and running.
This is partly based on the fact that we’ve been unable to get a basic installation actually working after three attempts (and about one and a half days of messing around). But is is also a reflection of the lack of SDK-style documentation for the product.
But there is another thing at play here – although Matrix is technically an open source product, it isn’t developed and maintained as a community project. Instead it really is a vendor who provides you with source code of, what is admittedly and awesome product, and then they make a profit by charging for implementation and additions. So, ultimately it is in their best interest to not make it easy to install, easy to extend, easy to configure etc.
Don’t get me wrong, I think the folks at Squiz.net aren’t trying to screw anybody over – but it is the nature of their business model that time is prioritised to paid additions/installation/configuration work instead of making it easier for clients and/or third parties to do the work themselves. My gut feeling is that we’ll have to pay time and again as our needs shift and expand. In fact, all indications are that we’ll have to pay just to get a basic pilot system up and running – not a good sign for the future IMHO.
So, with all that I’m leaning (heavily) towards Drupal. Although Drupal isn’t the ideal CMS for us, mainly due to it’s blog/community-centric nature, it does pretty much cover all the bases. The community is strong, there’s lots of extensions being produced, pretty solid documentation, and it’s easy to install and get up and running. It basically has all of the benefits of a “true” open source project (that’s a loaded term I know – but what I mean is that it is a community-driven, non-commercial product). I would also feel confident “sponsoring” extensions to Drupal based on our specific needs.
Using Drupal may require me to rethink how we structure the site in order to “fit” it’s model, but recently I’ve been seeing more and more good looking Drupal-based sites popping up (Round Two for example) that are drifting away from the typical “Drupal style” site. Dean has also had some success in this regard.
The one critical thing it’s lacking is version control on content (and by extension, the ability to review previous versions). Nor does it have extensive workflow controls (which I’m in two minds about at the moment).
The underlying requirement for version control is simply so that if we are challenged on something that previously appeared on our website, we have the ability to review the content to respond. This is particularly important from a risk-management perspective, particularly given the politically-charged nature of some of our work.
My concern with Drupal is that I don’t know it well enough, particularly from a development/architecture perspective, to determine if a versioning system is even possible, let alone achievable in the short-term. I think I’ll have to get my feet wet in the community (mail lists etc.) to find out. (I’m also thinking that a revamp of the NETaccounts site would be an ideal test-case, but that’s by-the-by.)
On the workflow front the “ideal” situation is the ability to set up custom approvals processes based on the site content – i.e. we can assign approval rights for content of a particular section of the site to a project or campaign manager, as well as select other roles in the organisation (such as brand manager etc.) as required.
I’m not 100% convinced that this tight a control is necessary nor wise. It strikes me that such a system is just going to become overly burdensome and that a simpler approvals process is the best way forward. In my business experience I have found that flatter organisation (and approvals) structures are far stronger and effective. I’d love to hear from any readers who have experience in this area – what’s your experience with this kind of thing?
All in all, lots of questions, and no solid answers. I’m hoping that over the next fortnight things will become clearer because it is doing my head in at the moment. The tool we choose will shape my work over the next few years in such a critical and profound way, and as such it is really hard to simply “accept” a CMS that doesn’t 100% match our needs. But, this is real life after all, and I don’t have access to unlimited development resources. Thus, compromises must be made.