Content Management Systems (CMS) are computer applications widely used to built and manage web sites.
The first CMS where developed in the nineties; they where complex and expensive commercial products, using complex databases, as oracle, and where affordable only for big companies.
Open source, inexpensive CMS, as
WikiWiki
PhpNuke or
PostNuke,
appeared only at the end of the nineties.
Their popularity began to grove around 2000 and an important element
for their diffusion was the availability of
easy "server side languages", mainly PHP.
PHP is a simple programming language whose statements are
embedded in the HTML web pages and are executed by the server
when the user requests a page. The page sent to the user
contains the output of the PHP code and is built at user request.
These CMS could also use inexpensive but professional databases and
web servers, as
MySQL
and
Apache .
A typical a CMS has the following structure:
This structure allows for the separation of the roles of content editor, programmer and web designer: the CMS machinery is maintained by programmers; templates are made by the web designers; text and pictures are inserted by the editor trough a simplified interface, without the need to know HTML, CSS, Javascript, etc.
Moreover, the PHP language and all the web stuff: templates, database, web server etc., are free available on the internet, along with a wide choice of CMS, with addons, procedures and easy user interfaces. The building of a web site becomes very easy and also totally unskilled people can build a web site: as a result we have today millions of web sites... and also a myriad of bad conceived and unmaintained websites around; a very heaven for hackers...
There are today a lot of different CMS around and it is estimated that 50% of the web sites use a CMS. They are so many that the CMS word is very difficult to explore: the Wikipedia has a long list of about hundred CMS; there are CMS written in Perl, Java or other languages, but most use PHP as a server side language; among others we have: Mambo, Drupal, Xoops, Joomla, Typo3, Alfresco, Wordpress, most born between 2000-2005, when blogging became mainstream.
One of the first open source CMS was
Plone,
developed around 2000, using the Python
language. It was freely available
and greatly contributed to the
diffusion of the Python language.
Plone is based on Zope, a Python framework
to build web applications; Zope is complex
and Plone too:
it has unique features, as an object-oriented
internal database, a strict separation of
content and representation, its own
template system etc.; all this make
Plone difficult to configure and use.
Moreover Zope had a complex story:
it was completely rewritten around 2001, but
Plone continued with the old version, with recent
Plone versions incorporating features from the new Zope;
all this generated some confusion and
compatibility problems.
Wordpress is the most used CMS in 2017; it is estimated that 30% of web sites use Wordpress. Other main actors are Joomla and Drupal, with less than 10% each; all others CMS have some percent of the market or less. Giving exact numbers is difficult; web sites born and die every day and nobody can really count them, but without any doubt Wordpress largely dominates the web market; it is estimated that there is a billion of websites in the world , 60% of CMS are Wordpress.
The reason for this success is that Wordpress is very easy: easy to setup, configure and use: it can be installed in minutes in each personal computer or in the cloud; it is the preferred choice for simple web sites, but also professionals offer Wordpress to their customers, they save time and time is money for them.