Content management system

A content management system (CMS) is a computer application used to create, edit, manage, and publish content in a consistently organized fashion. CMSs are frequently used for storing, controlling, versioning, and publishing industry-specific documentation such as news articles, operators' manuals, technical manuals, sales guides, and marketing brochures. The content managed may include computer files, image media, audio files, video files, electronic documents, and Web content.

A CMS may support the following features:
 * identification of all key users and their content management roles;
 * the ability to assign roles and responsibilities to different content categories or types;
 * definition of workflow tasks for collaborative creation, often coupled with event messaging so that content managers are alerted to changes in content (For example, a content creator submits a story, which is published only after the copy editor revises it and the editor-in-chief approves it.);
 * the ability to track and manage multiple versions of a single instance of content;
 * the ability to capture content (e.g. scanning);
 * the ability to publish the content to a repository to support access to the content (Increasingly, the repository is an inherent part of the system, and incorporates enterprise search and retrieval.);
 * separation of content's semantic layer from its layout (For example, the CMS may automatically set the color, fonts, or emphasis of text.).

There are three main categories of CMS, with their respective domains of use:
 * Enterprise CMS
 * Web CMS
 * Component CMS

Enterprise content management systems
An enterprise content management (ECM) system is concerned with content and documents related to the organizational processes of an enterprise. The purpose is to manage the organization's unstructured information content, with all its diversity of format and location.

Web content management systems
A web content management (WCM) system is a CMS designed to simplify the publication of Web content to Web sites, in particular allowing content creators to submit content without requiring technical knowledge of HTML or the uploading of files.

Component content management systems
A component content management (CCM) system is concerned with the content within documents. It can locate and link content at any level of organization, and it is used to build publications out of re-usable fragments of content. Whereas ECM and WCM systems frequently manage unstructured content (word processor and other desktop publishing files, rendered PDF and HTML, etc.), a CCM system manages structured content (usually XML), from which such documents are rendered and typically delivered to ECM and WCM systems.