A content management system (CMS) is a system used to manage the content of a Web site. Typically, a CMS consists of two elements: the content management application (CMA) and the content delivery application (CDA). The CMA element allows the content manager or author, who may not know Hypertext Markup Language (HTML), to manage the creation, modification, and removal of content from a Web site without needing the expertise of a Webmaster. The CDA element uses and compiles that information to update the Web site. The features of a CMS system vary, but most include Web-based publishing, format management, revision control, and indexing, search, and retrieval.

The Web-based publishing feature allows individuals to use a template or a set of templates approved by the organization, as well as wizards and other tools to create or modify Web content. The format management feature allows documents including legacy electronic documents and scanned paper documents to be formatted into HTML or Portable Document Format (PDF) for the Web site. The revision control feature allows content to be updated to a newer version or restored to a previous version. Revision control also tracks any changes made to files by individuals. An additional feature is indexing, search, and retrieval. A CMS system indexes all data within an organization. Individuals can then search for data using keywords, which the CMS system retrieves.

A CMS system may also provide tools for one-to-one marketing. One-to-one marketing is the ability of a Web site to tailor its content and advertising to a user’s specific characteristics using information provided by the user or gathered by the site (for example, a particular user’s page sequence pattern). For example, if you visit a search engine and search for “digital camera,” the advertising banners will advertise businesses that sell digital cameras instead of businesses that sell garden products.

Two factors must be considered before an organization decides to invest in a CMS. First, an organization’s size and geographic dispersion must be considered especially if an organization is spread out over several countries. For these organizations, the transition to CMS is more difficult. Secondly, the diversity of the electronic data forms used within an organization must be considered. If an organization uses text documents, graphics, video, audio, and diagrams to convey information, the content will be more difficult to manage.

List of the open source CMS

Name Category Supported databases Comments
Ariadne Portal Oracle, PostgreSQL
b2evolution Blog MySQL
bbPress Forum MySQL A derivative of WordPress for forums.
BlogCMS Blog MySQL
Caravel CMS Portal OpenLDAP and PostgreSQL
Chlorine Boards Portal MySQL, MSSQL, PostgreSQL, DB2, Access
CMSimple Portal One unique HTML file
CMS Made Simple Portal MySQL
Coppermine Image gallery MySQL
CuteNews News Flat text files
DotClear 2 Blog MySQL, SQlite, PostgreSQL Multi-users, multi-blogs.
DokuWiki Wiki Flat text files.
Drigg Digg-like MySQL Plug-in for Drupal. Very slow.
Drupal Portal MySQL or PostgreSQL Sponsored by the University of Oregon.
e107 Portal MySQL
eGroupWare Groupware ADOdb Collaboration tool
Elgg Social network MySQL 5 Building a social network with PHP 5.
FluxBB Forum MySQL Lightweight but complete forum, perfect besides a portal.
Freeglobes Directory MySQL
Geeklog Blog MySQL
GuppY Portal Flat text files
IntraLibre Intranet MySQL Collaborative work and document sharing.
Itseasy Portal Flat text files
Joomla! Portal MySQL Popular CMS, fork of Mambo.
Lemon CMS Portal Flat text files.
Lodel Portal MySQL Electronic publishing.
MediaWiki Wiki MySQL Wikipedia CMS.
Midgard CMS Portal MySQL Framework for CMS
Modx Portal MySQL Adaptable framework.
NPDS Portal MySQL Content and community management.
Nucleus CMS Blog MySQL
OpenPHPNuke Portal MySQL, PostgreSQL, SQLite
phpBB Forum MySQL Forum CMS with a lot of themes and mods.
Phorum Forum MySQL Easy to customize.
PHPMotion Video sharing MySQL Youtube-like CMS
PHP-Nuke Portal MySQL
PHPList News MySQL
phpMyFAQ FAQ MySQL, PostgreSQL, SQLite, MS SQL Server and MariaDB
phpWCMS Portal MySQL
phpWebSite Portal MySQL or PostgreSQL
PhpWiki Wiki Flat text files, MySQL, PostgreSQL, and more
PivotX Blog Flat text files, XML
Pligg Digg-like MySQL News with score, still beta.
Plume Portal MySQL
PmWiki Wiki Flat text files
Prestashop e-shop MySQL 5 Open an online shop with PHP 5.
PunBB See fluxBB.
SEO Toaster e-shop MySQL, PHP 5 SEO oriented, rich author interface.
SilverStripe Portal MySQL, PHP 5 Editor oriented
SMF Forum MySQL (SimpleMachines)
sNews Blog MySQL Blog added to a portal website.
SPIP Templates MySQL
Storytlr Twitter/Blog MySQL Gallery of photos and videos
Templeet Portal XML, MySQL and other BDs.
Textpattern Portal MySQL
TikiWiki Blog-Wiki ADOdb Groupware.
Typo3 Portal MySQL, PostgreSQL, Oracle
Wikkawiki Blog-Wiki MySQL
WordPress Blog/Portal MySQL Very popular and extensible blog CMS.
Xoops Portal MySQL Popular modular CMS.
Zikula Portal MySQL Application framework, formerly PostNuke.


Other languages

Name Plateform Category Supported databases Comments
Ametys Java Portal MySQL, PostgreSQL LDAP, DocBook, Multi-sites
Bricolage Perl Portal PostgreSQL
Cocoon Java Dynamic XML
Composite .NET Portal ADO.NET and LINK
Daisy CMS Cocoon Portal MySQL
DotNetNuke VB.NET Portal SQL Server.
Forrest Java MySQL Document sharing.
Graffito Java Universal OJB Framework.
Jahia Community Java Portal Hypersonic, MySQL, PostgreSQL, Oracle, SQL Server Document sharing.
Jekyll Ruby Blog None. Static site générator.
Lenya Cocoon Portal XML
Logz Java Portal MySQL
Magnolia Java Portal Content repository API
Mezzanine Python/Jython Portal PostgreSQL Uses the Django framework.
MMBase Java Portal Blobs on the filesystem
Nesta Ruby Blog HTML files
OpenACS TCL, AOL Server Web App. PostgreSQL/Oracle Toolkit for community-oriented applications
OpenCMS Java Portal MySQL, Oracle
Plone Zope Blog ZODB, MySQL & PostgreSQL via Zope
Rainbow C# Portal MySQL
Scoop Perl Groupware MySQL
Skeletonz Python MySQL
Telescope JavaScript Digg-like MongoDB Based on Meteor and Node. Real-time.
TWiki Perl Wiki Toute BD compatible avec Perl DBI.
WebGUI Perl Wiki MySQL
XSM Java servlets Static XML
Zwook Python Portal Zope