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.
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:
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.
Technorati tags: cms, content management system, content, data, information
Copyright Abhijit Nadgouda.