http://opensourcecommunity.org/2007/06/21/what-do-you-think-makes-good-cms
This year’s Packt Publishing awards for the best Open Source CMS are on their way, starting middle of July. I’ve been selected as a judge in the PHP CMS category. Great honor and responsibility. I don’t remember ever being a judge, apart from faking a referee once in that football (soccer) game in 3rd grade. A Metallica song keeps popping up in my head and it’s not making things easier: “I’m judge and I’m jury and I’m executioner too”. How can one judge something as diverse and liquid as a CMS? Content management comes in all different shapes, some systems focus on solving some problems and they do a better job than another CMS that mainly tackles different types of problems. I cannot agree more with a comment by Jonathan Nil here:
The term “CMS” seems to encompass a variety of things. The problem to be solved is not even agreed upon, nor is the way to solve it properly.
I’ve worked for a company that has its own CMS and I know the pain, I joined during a massive redesign/recoding/upgrade effort. You try to foresee what kinds of problems people would want to solve, based on previous experience with clients and you build a solution, then clients come and always ask for something different - either something as minor as adding a new text field to a contact form or something completely new and unexpected. So the task is to build a solution that a/ works out-of-the-box for common scenarios and b/ be extremely accommodating and easy to extend, more like a platform for building web sites.
And then, this is an open-source CMS award we’re talking about. Can you just dismiss something in which people have volunteered their time and energy on and build with the idea that it’s the best solution? Because in an open-source system the whole world is a client and also a peer reviewer, you don’t have the luxury of hiding any “whatever, it works” solution because it’s not closed source and anyone can look at it and criticize.
Anyway, enough of that. I tried to organize my thoughts a bit and list what I’ll be looking for in an CMS. And I would gladly appreciate any ideas or comments on this list. I decided on a task-based approach when evaluating a system, I’d like to prepare a number of tasks I want to execute using each of the systems and in this process, I want to take notes using this requirements checklist below. That tasks I have in mind (but haven’t yet listed) would be something like:
1. install the (latest-1) release of the software
2. configure to suit you
3. change skin
4. implement own skin
5. customize more, add different plugins
6. create a piece of content
7. upgrade to latest
…
and so on.
OK, here are the requirements I came up with, they are based on requirements from previous projects I’ve worked on as well as some random thoughts on what would make a good piece of software. I actually hope that no CMS will meets all requirements, because I’d like to test how easy it is to add missing pieces.
BACK-END
- easy to install on a shared host
- friendly to the server, low requirements
- easy to configure
- skinable
- has plenty of skins
- can create my design so the look is unrecognizable (unique corporate branding)
- has DB abstraction
- easy to extend through modules/plugins
- has plenty of available modules/plugins
- easy to write own plugin
- easy to upgrade and re-configure
FRONT-END
- works in IE, Firefox, Safari, Opera
- clean markup
- valid markup
- cleans up messy markup that I can produce
- semantic markup
- CSS layout
- valid CSS (apart from hacks)
- no JS errors
- accessible without CSS and JS
- optimized JS/CSS
- SEO: urls
DOCs / GENERAL
- has sufficient user documentation to do my tasks
- API documentation
- I can resolve issues with community help
- actively maintained
- public bugtracker
- unit tests
FEATURES
- multilingual
- post “static” articles (time insensitive)
- post news/blog (time sensitive)
- flexible categorization
- easy to include images in articles
- accepts user registrations, flexible fields
- accepts paid user registrations (subscriptions)
- I can integrate other RSS feeds
- publish RSS feeds, flexibility
- community - people can leave comments
- comment spam protection
- comments are easy to manage (in bulk)
- community - I can integrate a bulletin board
- can use some affiliate program (Amazon)
- can integrate banners, Google ads
- can sell stuff
- newsletter subscriptions, bulk mailer
- supports document versions
- collaborative editing
- granular control over what goes to the homepage
- flexible contact form, multiple contact forms, e.g. job application
- sitemap
- SEO sitemap
- WYSIWYG editor option
- flexible sidebar areas for different widgets
SECURITY
- I can’t XSS it
- I can’t inject SQL
- I can’t send request forgeries (trick the admin to click on delete.php?id=1)
So this was the brain dump, may not be too clear at times. Any comments, critiques, suggestions are very, very welcome, because like I said, I don’t think that judging an open-source CMS is an easy task.

