What is a CMS and which one to choose?
A CMS (Content Management System) makes it possible to create automatically pages of a website from data,
and it works on the server.
All the CMS cited here are free and open source.
Definition
The name CMS, Content System Management, is a
vague term, since actually any software manages contents.
More precisely one gives this name to a software which manages the creation and the publication of documents, possibly in a collaborative way.
On this site, we will speak rather about CMS as Web applications, therefore software of assistance to put documents in line on Internet.
Why a CMS?
Content managers undertake the part common to the pages of your site and generates the pages starting from the text or of the data that you provide him. He thus delivers you repetitive tasks.
He can be static and create the pages before they are put in lines, or dynamic and create the page at the request of the visitor.
He does not bring anything about the contents itself, but makes it possible to manage the structure of the site, to add and classify the pages. The major CMS make it possible to manage a forum, a directory, news, most of the time
by the addition of extensions.
Sometimes it makes it possible to adapt the interface of the site, to generate more stripped printable pages or to make contributors taking part to the site.
Which CMS to choose?
The number of CMS available, even if one limits oneself to the free software,
seems unlimited. The page of comparison although enough long gives only one
part of it and does not include commercial software.
Nevertheless, classification that we will give should help to delimit
what one seeks, and which software can correspond so that one seeks.
In the list of CMS, a comparison is based on the type, the language and the
information storage. Links are given moreover on sites which make it possible
to compare in a very detailed way the possibilities of this software, thanks
to a dynamic matrix and to the comments of the Net surfers.
Blogs
Working on scripts of a site to make a blog is completely useless. On one hand there are Community sites which propose to you to put your blog on line without any edition HTML, on other hand there exists CMS to install on your own site for all the formatting part of the pages.
- Wordpress
It is the most widely used. It generates automatically pages HTML starting from the published text which is stored in a data base. One can create a post on his blog by sending of email.
Its numerous themes and plugins that extend its capabilities allow to use Wordpress as a portal. - DotClear
This manager of blog is similar to Wordpress. Deals with the administration of the blog, research, categorization, etc.
Wikis
These are sites whose contents are published by the visitors. Is thus appropriate for encyclopaedias, cultural sites general or specialized in a topic.
- MediaWiki is a manager of contents for wikis which is more and more largely used. It works with PHP and MySQL. Wikipedia is powered by this tool.
- PmWiki and DokuWiki are written in PHP but do not use SQL
or any database.
Forum
It is completely useless to devote only one moment to program the forum of a site. There are free software complete and relatively simple to use. Posts are recorded into a database and the wire of discussion are posted in a dynamic way.
- fluxBB seems to be indicated best like complement of a site proposing another contents already. It is lighter, easier to interface, and to program with the need. Code against spam must be added.
- phpBB is mostly used on sites entirely dedicated to the forum. It settles very easily and is managed also easily. There is an impressive number of extensions and templates to change the look. Very aimed by the spammers, it requires modifications of code to protect itself. Don't expect use it without serious hacking.
- MyBB and SMF are equivalent in functionalities to phpBB. MyBB offers basic quantities of functions which are available under phpBB only in the form of extensions to install.
- vBulletin is a commercial CMS with perhaps more security.
- bbPress is a version of Wordpress for forums. The advantage is in the extensions.
All these CMS require PHP and MySQL.
Note that many general CMS (or portals) include also forum management, possibly
by the addition of extensions.
Portals
Generators of portals are complete management systems being able to create and manage in addition to pages HTML, the interactive capacities of the site: FAQ (questions of the users and answers of the webmaster), forum, news. The following CMS have an editor style text processing and principal functionalities:
- Joomla. Collaborative project of CMS for Internet and Intranet in PHP. Caching of the pages to accelerate the loading, indexing, RSS feed, printable version of the pages, news, blogs, forums, surveys, search on the site, and foreign languages, thanks to extensions. It is derived from Mambo and made by same developers.
- Drupal. Another PHP project having a community of support, with the same functionalities as Joomla. Aimed at professional webmasters.
- Xoops. Function only with the Apache server and in PHP. Modular CMS to develop the site in a progressive way and use of topics to give him a choosen appearance.
- SilverStripe. Another widely used project.
Other categories of CMS
Specialized CMS are near Web applications.
- E-trade. Management of transactions. Management of posting on line products (different from the inventory control).
- Education. Management of training.
- Organization or association. Management of members.
- Intranet. The equivalent of Internet locally to a company.
- Groupwares. Multiple management of participations. For projects like Linux for example.
Techniques
CMS with templates
These CMS operate on models which one defines according to the format of the pages and whose fields are affected by the data according to their type.
- Spip is an example, one creates the site starting from reusable templates which describes each one the structure of the page. Requires PHP 3 and MySQL.
Statics pages
Static CMS build the pages before putting them on line, starting from files
or templates
The advantage is that the pages are parsed by robots of search engines and
thus indexed.
There are tools also to process the pages locally, build them into HTML and put them on the server. See this article: Ditching Wordpress for Pelican. (Python must be installed locally to user Pelican).
Dynamic pages
The dynamic CMS builds the page at the time or the visitor wants to consult
it, while clicking on a link. Data are read from a dataase and page are created
according to a model.
Most CMS software make use of SuperCache wich stores statically frequently
used pages and so does not access the database.
Data storage in XML
Some managers store data in XML files, from which it is possible
to create pages according to different points of view.
XML CMS can be static or dynamic. Often the XML file ara packed in zip format,
this is the case of DokuWiki for example.
More information and tools
- How to build its own CMS. Article and code. Start with a wysiwyg editor to write on line.
- List of PHP CMS. Comparison of CMS.