A CMS can also be used for specific purposes like document management, knowledge management, website content management, and so on. There are many content management systems available that are bundled with more or less similar features and are equally effective. Many of these can be tailored for a specific type of working environment and are usually referred to as bespoke content management systems. Broadly content management systems can be classified as enterprise level CMS and Open Source CMS. Enterprise content management systems have advanced elements like workflow management and security features. Open source CMS are free-to-use tools with all the required basic functionalities. Content management systems also depend on the type of platform used like the programming language (ASP, PHP, JAVA, and so on) and the supported databases (MySQL, Oracle, and so on).
Much of CMS success can be attributed to its usability aspect. The ease of use does not necessarily mean how simple it is for the author to get the content published on the web page. The usability factor of a content management system also takes into account the following:
* Simple to design layout, publish the content, and speedy deployment.
* The ease with which the CMS can be learned.
* The manner in which the errors are reported and controlled.
* Portability between versions and scalability on various platforms.
Apart from easy functionalities, a content management system should ideally include the following features:
* Customizable templates that can readily applied to content.
* Workflow management and document management.
* Advanced plug-ins and upgrades that comply to latest web standards.
* Content virtualization, where a virtual copy of the content can be worked on by multiple users.
A bespoke CMS is usually employed in web site content management. It allows the users to renew the content on any page or portion of the website. Bespoke content management systems are best used when there are distinctive requirements like multi-lingual support, automatic link check, access rights depending on the roles, convoluted database systems, and so on. It is useful to have requirements and implementation objectives clearly defined before selecting and finalizing a content management system.