A content management system (CMS) is a software used to simplify the management and publication of HTML content such as documents and images. It provides authoring and other tools designed to allow users with little technical knowledge of programming languages or markup languages to create and manage content with relative ease. Most web CMS use a database to store content, metadata, or artifacts that might be needed by the system. Content is commonly stored as XML, to facilitate, reuse, and enable flexible presentation options.
For those of you who are interested, I have here a list of some of the most well-known and perhaps the best free and open source content management systems (CMS) available:
WordPress is widely considered as the most popular blog publishing application, and is used by over 2% of the 10,000 biggest websites. It is powered by PHP and MySQL and offers many features including a plugin architecture and a templating system. The templating system includes widgets that can be rearranged without editing PHP or HTML code, as well as themes that can be installed and switched between. WordPress features integrated link management; a search engine-friendly, clean permalink structure; the ability to assign nested, multiple categories to articles; and support for tagging of posts and articles. Automatic filters that provide for proper formatting and styling of text in articles are also included. WordPress has a rich plugin architecture that allows users and developers to extend its functionality beyond the features that come as part of the base install.
Drupal is a free and open source content management system (CMS) written in PHP. It is utilized as a back-end system for at least 1% of all websites worldwide, which ranges from small personal blogs to large corporate and political sites that includes whitehouse.gov and data.gov.uk. Although Drupal offers a sophisticated programming interface for developers, no programming skills are required for basic website installation and administration. Its standard release, known as Drupal core, contains basic features common to most CMSs. These include the ability to register and maintain individual user accounts within a role-based permission/privilege system, create and manage menus, RSS-feeds, customize page layout, perform logging, and administer the system. Drupal was also designed to allow new features and custom behavior to be added to extend Drupal's core capabilities via installation of plug-in modules.
Joomla! is an open source content management system (CMS) platform for publishing content on the internet along with a Model–view–controller (MVC) Web application framework. It is written in PHP, stores data in MySQL, and contains features such as page caching, RSS feeds, printable versions of pages, news flashes, blogs, polls, search, and support for language internationalization. Inside its first year of release, Joomla was downloaded 2.5 million times. As of today, over 4,000 free and commercial plug-ins are available for Joomla.
Movable Type is a weblog publishing system written in Perl. It supports storage of the weblog's content and associated data within MySQL, PostgreSQL, and SQLite. Movable Type optionally supports LDAP for user and group management and automatic blog provisioning. Features: Multiple weblogs; Standalone content pages; Asset and File Manager; User and user role management; Customizable templates; Tags; Categories, sub-categories and multiple categories for articles; TrackBack; Bookmarklets.
Plone is a content management system built on top of the Zope application server. Plone can be used for in principle any kind of website, including blogs, webshops, and internal websites. It is also well positioned to be used as a document publishing system and groupware collaboration tool. The strengths of Plone are its flexible and adaptable workflow, very good security, extensibility, high usability and flexibility. It excels when compared to other content-management systems in standards conformance, access control, internationalization, aggregation, user-generated content, micro-applications, active user groups and value. All of Plone's features are customizable, and free add-ons are available from the Plone website.
PHP-Fusion is a light-weight open-source content management system (CMS) written in PHP. It uses a MySQL database to store a web site's content and comes with a simple but comprehensive administration system. PHP-Fusion includes features common in many other CMS packages such as easy integration of articles, forums, photogallery, web links, downloads, polls, shoutbox, search, and themes. It also offers users the opportunity to expand the standard packages with so-called "infusions". These infusions can be easily uploaded, installed, and managed.
XOOPS (eXtensible Object Oriented Portal System) is a CMS written in PHP that uses a modular architecture allowing users to customize, update and theme their websites. It aims to serve as a web framework for use by small, medium and large sites, through the installation of modules. For example, a small XOOPS installation can be used as a personal weblog or journal, but this can be expanded upon and customized, for example users might add the appropriate modules to store content in news, forums, downloads, and more.
If you have other favorite web content management systems that I failed to mention above, you can share them with us via comment.