solutions that work...
Choosing a CMS
How do I choose a Content Management System? How does it work?
A Content Management System or CMS is a software package that runs on a WWW server, used to create and maintain web site content and to display that content to the site's visitors. The CMS is accessed and managed using a internet browser.
The content of a web site is all the information presented to its visitors. This is the text and formatting on all the pages, images, multimedia, and files available for download. Included in the CMS are the tools for editing content and the file management features needed to modify, add, move, or delete pages.
All parts of a web page that is not content belong to the template. The template gives a consistent look and feel to the site and is shared by all the pages of the site. Make a change to the template design and all the pages of a site are instantly changed as well.
Both the content and template are stored on your web server utilising a database of some form. Two types of databases are employed by Content Management Systems. A CMS is either flatfile based using plain text files as a database or database managed, needing MySQL or similar database software.
When a visitor requests a page from a web site, the CMS combines the template and the required content to create the page. The CMS generates the inter page navigation links at the same time.
Selecting a different page, performing a site search, looking at a site map, or sending an email are all handled by features built into the CMS.
Plugins and additions can provide further features such as image galleries, streaming media, online shops and so on.
A CMS requires some sort of database for it to perform its functions. Two types of databases are employed by Content Management Systems. A CMS is either flatfile based or database managed.
On a flatfile-based CMS, the content is usually saved in either clear text files or as XML data. Depending on the concept, template elements can be saved in separate text files as well, dividing 'look' and content, and having the CMS put those two together on accessing the page.
With a database managed CMS, all data is saved in a database, using MySQL or similar database server software with page data being requested from there. Using such a system therefore requires separate database software and server.
From a technical point of view, using a database server has the advantage of a better scaling system on really huge amounts of data and really big websites. On the other hand, a flatfile based CMS can be much faster with a moderate amount of data.
For a small to medium sized website a flatfile based CMS is ideal and gives a significant speed performance advantage.
Why should I bother... Do I need a CMS? What are the advantages? Are there any disadvantages?
With a CMS you get faster page development. Instead of having to copy and adapt the layout from one page to the other, it is only necessary to create the content for the new page - the layout will be added automatically by the CMS.
It is easier to make changes to the 'common parts' of the pages. Adding a new menu items all pages will automatically get the additional entry - no need to edit all existing pages.
Changing the layout is easy - when the template gets changed, all pages will be changed immediately.
A CMS also allows for the usage of the same content in different documents and formatted for different media allowing for 'cross-media publishing'. Think of, for example, a HTML page as it shows in the browser and the printer-friendly display of the same page.
Finally, people with a minimal knowledge of web-design and website writing can now participate in creating a website as they don't have to worry about the layout at all, just on writing content.
On the other hand - there are some disadvantages...
Installation and set up can be difficult or at the least, very technical.
Your pages exist on a web server so it is important to backup your work. A system that uses a MySQL type database - database managed, rather than a text based - flatfile system, to store their information, are generally more difficult to use and backup.
Like any other piece of software a CMS may require updates to remain secure.
Q: How do I decide which CMS is the best one for me?
- Is the CMS stable, actively developed and supported?
- How many websites use the product?
- How have others have used the product?
- Is it relatively easy to learn the product and create a site - not too technical?
- What are the web server requirements? Does it need an SQL database?
- Is the CMS reasonably secure?
Q: What about open source solutions?
A: Open Source software development offers the possibility of free, high quality software alternatives being available to the community. As a consequence of this there are some good open source CMS products to select from. Most are fairly general purpose and can be used for sites of any size. While some are quite straight forward to use and maintain, others have a steep learning curve associated with them.
Q: If Open Source products are free, why should I donate / contribute to the author or license the software?
A: Paying even a small amount encourages the authors to continue to develop and maintain the software. Many GPL product licenses require that a visible link be kept back to the developer's web site. In many cases a license allows for the removal of this back link and it certainly helps with the coffee bill :)
Q: What if I choose the wrong CMS?
A: The content of a web page is essentially formatted text and images. These can all be extracted and reformatted for use in another system.