Just like Web 2.0, Content Management System (CMS) has been defined and redefined multiple times by multiple people for multiple purposes. They all might stand valid in their space and context. This is an attempt to make an all-inclusive definition of a CMS. The purpose of this definition is not for customization but for qualifying/building CMSs which can be applied in multiple scenarios.
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.
This definition is abstract, and is heavily dependent on definition of some of the terms used - content, management, action. Lets define them too.
The Basics
Content is largely related to data and information. Data is wide enough to include everything, facts and events without relations to anything else. Information is however, more richer than data. Information is a pre-conceived and intended message sent by the creator/author to the receiver(s). The information includes relations between data and builds a context that the author wants to convey. As mentioned in the Content Management Bible by Bob Boiko:
What is content? Raw information becomes content when it is given a usable form intended for one or more purposes. Increasingly, the value of content is based upon the combination of its primary usable form, along with its application, accessibility, usage, usefulness, brand recognition, and uniqueness.
Content is information put to use. For this to be achieved, the information has to be presented in a usable manner. To effectively use the information, it has to be acted upon and extended for further use. An example is a book name when catalogued with a shelf number and used by a reader to find it. Here the book can have additional data along with it, e.g., availability, shelf number, number of copies, reviews, etc. Depending on this information, the reader can take further action.
Computers cannot directly handle content, they have been built to deal with data with algorithms. Hence content has to be provided to the computer in form of data. It is done by wrapping the information with a layer of data, usually called the metadata. The metadata provides a context to the information that leads to different actions that can be taken on the information. These different possible actions and a workflow of these actions result in management of the data. Content is therefore, information (complex data) with metadata (simple data).
Real World CMS
A lot of definitions of CMS I have read do it only for the digital world, infact some of them only for the Web. Even though the term was termed for computer systems, a computer system is ultimately an automation of a real world system. To design or use the computer system, experience with the real world system is equally important.
I consider the libraries or newspaper publishing houses as instances of the CMS, where the content has been specialised. In the real world, whether computers are used or not, they do handle the content right from its origin to its death. A CMS however is abstract, the content has to be specialised to be able to see its implementations or real world examples, e.g., a library management system or an article management system.
What is CMS?
In the light of the discussion till now a CMS has to consider the people and processes. People form the users who use the information to make the content, take actions on it and manage it. Processes are the policies, rules or standards used by an organization that have to be automated. Just like any other software, a CMS provides the basic value of automation.
A CMS is different from rest of the softwares as it stresses on the management of content, and has to provide a business interface even to the users involved in managing the content along with the ones using it. In a newspaper publishing system, a journalist should be considered as an user of a CMS as he/she can use it to write an article or an editor can use to edit it. Note that the journalist should not be asked to FTP a file or write an entry, but write an article. The interface provided to the users involved in managing the content should be non-technical as they are for the end users.
Even though a CMS will have specialised content, it will have to handle more than one content types. e.g., in case of a library management system, the main content type can be books, but it will also need journals, authors, readers, penalties, etc.
Lets look at some attributes a CMS should have:
- Integrated Framework: To be able to provide extensibility of multiple content types, the CMS should have a common platform to manage the lifecycle of content. The framework should serve as an API for creating different content types as well as the corresponding actions, e.g., search.
- Content Classification: The CMS should provide facilities for content classification. Content classification provides structured navigation to the user.
- Separation of Concerns: The way data is stored should be independent of the way it is rendered, and vice versa. This is important from the fact that the same data can be displayed in different ways to different users for different purposes. This also encourages single-source publishing, so that the multiple formats are supported without duplication of data.
- Roles and Permissions: In the real world, there are more than one roles that handle content, e.g., journalist, editor, publisher. To be able to automate this a CMS should support multiple roles and corresponding permissions. The roles also form part of the processes and workflows that are automated.
- Web Enabled: Since most of the CMS applications involve multiple people in different locations, web provides a good platform to provide 24/7 access irrespective of the location. Even if the entire CMS is not web based, atleast the publishing should be allowed on web. However, this is completely dependent on the users of the system.
Here are some examples of CMS:
- eZ publish
- TYPO3
- OpenCMS
- Apache Lenya
- Vignette
- Teamsite
- Plone
- Krang
- Campsite
- Bricolage
- Joomla
- Wordpress
I am sure there are many more out there. For a comprehensive list, visit The CMS Matrix. There are different types of CMSs, but that deserves dedicated space and discussion.
More reading
- Content Management Bible by Bob Boiko
- So, what is a Content Management System by James Robertson
- CMS Review
- CMS Watch
- Data, Information, Knowledge & Wisdom
Copyright Abhijit Nadgouda.


May 4th, 2006 at 3:06 pm
[...] What Is Content Management System? [...]
May 17th, 2006 at 7:15 pm
[...] What Is Content Management System? [...]
May 24th, 2006 at 6:25 pm
[...] Searching has grown beyong keywords today. Only keywords cannot market your content. Google had done a terrific job of making sure that false keywords did not work, that the content really did contain the keywords. However, it is still about keywords. Today IT has gone into content and information management from just data management. Users are expecting information rather than just data from search engines, this requires something more than keywords. [...]
August 1st, 2006 at 10:56 pm
This is a good article.
August 9th, 2006 at 10:09 pm
[...] So very right, Wordpress is being used as a CMS. You can see sites like The Blog Herald, that are inherently news sites. Supporting multiple authors, roles, scheduled publishing, custom fields, comments, static pages, multilingual support, syndication support are some of the capabilities that make Wordpress suitable for this. The feature that takes the lion’s share though, are categories - multiple hierarchical categories. These categories can be used to implement so many features that they have become a must-have feature. The terrific template system along with this can work magic. [...]
August 15th, 2006 at 9:50 am
[...] This, I think, is an underestimated feature in Wordpress. With pages, you can create content that is not part of the posts and archives. As simple as it is, this enables developers to use Wordpress like a Content Management System to create even non-blog sites. By support of the page templates, it is easy to create forms for search, feedback or contact us. [...]
September 3rd, 2006 at 11:32 pm
[...] This is so true for Content Management Systems today. There are thousands of options available, and most of the times you choose a CMS to develop software for your client. In such cases choice of the programming languages is hidden. [...]
September 17th, 2006 at 11:28 am
[...] Then came in the dynamic page creation. The whole Web 2.0 system, amazing blogging tools like Wordpress, Content Management Systems and Portals have proven that today a website should be dynamic and rich. It is inline with fast-moving world, or fast-moving virtual world that we live in. [...]
October 10th, 2006 at 9:43 pm
[...] My background biases me towards engineering. On the web Content is the King. Give importance to the content identification, information architecture, user profiling and then design. Think of users who not only use content but also manage it. Give the user a Content Management System. A web site should support the standards, should be usable, accessible (at least to its intended audience) and more importantly secure. But it cannot be just this! In today’s competition for the top birth, the graphic design plays an important role. Users are not ready to go with anything that is drab and already done. It has to be fresh, with new ideas. And it has to be usable, accessible - wow am I going in circles? [...]
October 16th, 2006 at 2:36 pm
[...] Software development is not only about programming today. This is not meant to degrade programming, but reusing already available software can help provide higher benefits to the customer. This software ranges from low-level libraries to customizable Content Management Systems. At the Gartner Application Development Summit, analyst Matt Hoyle said: The future of application development is not about programmer productivity, but in assembling functionality from components. [...]
November 22nd, 2006 at 3:17 pm
[...] 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. [...]
December 21st, 2006 at 8:18 pm
[...] Searching has grown beyong keywords today. Only keywords cannot market your content. Google had done a terrific job of making sure that false keywords did not work, that the content really did contain the keywords. However, it is still about keywords. Today IT has gone into content and information management from just data management. Users are expecting information rather than just data from search engines, this requires something more than keywords. [...]
January 27th, 2007 at 6:10 pm
[...] has to be kept in mind for especially while composing templates for CMSs, which have to incorporatae adynamic content. I find this as one of the most important reasons to [...]
March 16th, 2007 at 4:51 pm
[...] CMS involved should allow for flexibility in the article design and management, in content [...]
April 12th, 2007 at 9:48 am
[...] have companion tools nowadays that do export the markup, but it is not efficient in context of many CMSs. This thought has always ended up with a hybrid model where the actual content is stored in files [...]
June 6th, 2007 at 5:31 pm
[...] Johansson points to a small study done by Joshue O Connor on testing accessibility of certain CMSs, including that of the content management interface. Roger Johansson rightly says that usually the [...]
June 18th, 2007 at 9:52 am
[...] of the discussions with my friends hovered around what to look for in a CMS. With so many available choice surely becomes difficult. Also the fact that many RAD frameworks for [...]
September 14th, 2007 at 10:31 am
[...] the context and meaning of categories. Do the categories help? They have not helped me. Going by what I understand of a CMS and what I look for in a CMS, here is the list of my favorite CMSs, in no specific [...]
October 23rd, 2007 at 9:39 pm
[...] very right, Wordpress is being used as a CMS. You can see sites like The Blog Herald, that are inherently news sites. Supporting multiple [...]
November 20th, 2007 at 3:04 pm
[...] 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 [...]