Wyatt Barnett talks about Boxed Content Management Systems (CMS) and why he has not liked any of them yet. He defines a boxed CMS as:
First, let me define “boxed CMS†for clarity’s sake. It is a fully-functional, feature-rich Content Management System in a box—which might be a zip file you downloaded off sourceforge. Generally featuring such things as menuing, articles, members areas, security system, RSS feeds, image galleries and forums. 95% of the time, one just need upload the files to the server, run a database script, and add content to get a fully-functioning website. The actual source—a licensed commercial application or a downloaded open-source application is immaterial. In any case, it probably has a half-dozen more features than you need.
I do agree with him that sometimes working with CMSs is not only about configuring it and styling it. But the reasons can be different.
What Is CMS?
Let us try to resurrect what we mean by a CMS. There are thousands of versions available, so lets converge to one.
A Content Management System (CMS) is a system which manages entire lifecycle of the content - from its creation to archival/destruction without breaking the integrity and meaning of the content. To be able to be applied in multiple scenarios, a CMS should support creation of new content types and all the actions required for managing it.
Please bear with me if you find this too technical. A CMS is a technical product, it cannot have a definition specialised for any business or domain. To be able to be used in multiple scenarios it has to remain technical.
Some Reasons
The reason why boxed CMSs fail is because it typically tries to please everybody by including all kinds of features, which according to me is a recipe for disaster by the principle that there is no one-size fits all for anything. The frustration with using a CMS grows when you realise that you have chosen a wrong tool to do the job. So why are they still so attractive? One of the reasons is by the plethora of features are so tempting for the users/developers that they skip finding out the actual requirements. A feature-driven selection is one of the biggest reasons of selecting the wrong CMS. The features are never studied to see if they do satisfy the requirements. The fault is not only with the CMS itself, but also with the one who selects it. For a long term workability, extensibility is more important than the vertical features built in.
Another popular reason is that while using a CMS the first and biggest principle is forgotten - Content Is the King! Using a CMS requires a content-centric approach so that content is looked after explicitly. One of the things that are skipped are defining content types. For a corporate website, the financial report is different than the press reports though both might be displayed in text. It is not only that their structure is different, but their behaviour is too. A financial report might have different accessibility and visibility than the press reports, they might need different styling, they might need different updates. In complex scenarios you might have two different roles managing these different types of contents. The way a CMS can handle this is to allow extensibility by allowing to create more content types and define their behaviour. For doing this if you have to ever fiddle with the core of the CMS then probably you are using a poorly designed CMS.
Another reason for a failure is because of the perception that a layman can use a CMS to develop a website. Secondly, the fact that CMS includes content management we are looking at someone who can manage the content as well. Using a CMS is not only about using the content, but also managing content which is highly underestimated by the users.
One of the examples which give out everytime is that Joomla, though simple and really very good, might fail when you want to do an article management system with articles to be classified in multiple categories. There are work arounds, which might require more time and effort causing frustration, but it would be much better to choose something like Wordpress which supports it inherently. On a much bigger scale and more integrations, maybe an Enterprise CMS like eZ publish.
This might not seem so important for simple web applications, but anything more than a blog or just a product catalog will require these. To be able to make sure that the right CMS is being used a couple of things have to be done. First, find the requirements and only then select the CMS. Second, there is a jungle out there for CMSs, so do some research before you select some.
There are scenarios where your requirements are so unique that an existing CMS might not work for you. I usually try to look for frameworks which can help me in such scenarios using which you can develop my own CMS.
Epilogue
The fault of a CMS not working might lie more with the one who selected it for the job. There are some very good CMSs out there, a lot of them open source too, but a systematic approach is required to first select and then implement it the right way. As it is with any other software.


November 26th, 2007 at 7:22 am
[...] is the reason I consider Drupal a true CMS as against a featured boxed CMS. It is ready to manage content, any content, and hence can be applied to many scenarios and and [...]