Supercharge your website with a CMS
If you need to build a website that is more than just a collection of static pages, but don’t have a budget that will run to a bespoke site, you may want to consider a CMS – Content Management Systems. These ‘web sites in a box’, which are a collection of script files that interact with an online database, allow complex site structures to be up and running in a matter of hours using nothing more than a web browser. A CMS can be used from sites ranging from a basic personal site through to a large-scale e-commerce or content-driven site receiving millions of visitors. The most common and, many would say, best feature of open source CMS is that they are free!
This article was provided to and published by IT Leadership magazine.
While there are hundreds of open source CMS systems available empowering literally millions of sites – Joomla!, Mambo, PHP-Nuke, PostNuke, Type3, Tikiwiki and Xoops to name but a few. All CMS are modular in their design, allow different templates to be applied and tweaked, and have a plethora of additional extensions available from third parties to add functionality. The concept of structuring content into sections and categories is also common across all CMS.
In addition to helping you mould hundreds or even thousands of pages into an easily manageable format most CMS’ will have some components built in or available that will deliver functions such as auctions, banner/classified ads, discussion groups, shopping carts, fill-in-the-blanks forms, photo galleries, RSS feeds and much more. All of this is normally ring fenced by the ability to search the entire site with a single search field. The level of out-of-the-box functionality is the real ‘killer app’ of the CMS!
CMS vs HTML? (Static versus Dynamic)
So, with all of these dynamic, feature-rich CMS’s out there why should anyone write a ‘static’ HTML web site anymore? If you have a very basic requirement, then a CMS is a sledgehammer to crack a walnut. They can also be semi-restrictive in the way that content can be laid out – most work on a two or three column layout. I say semi-restrictive, as if you have the skills you can design your own templates and move away from many of the ‘samey’ sites.
If you just want a way to modify your current HTML site without going back to your web designer, consider products such as Contribute by Adobe. This is a cross between a word processor and a web browser – users with authentication can browse to existing page and edit them, or create new ones based on the site’s design template without technical knowledge or fear of ‘breaking anything’.
The downside(?)
CMS sites are not without their problems. They are sometimes prone to security vulnerabilities, which may allow others to gain access to your administration section (and therefore your entire site’s contents). Also, updating the core CMS to a newer version might cause 3rd party extensions to function erratically or not at all. This should not be seen as a ‘show-stopper’ though – just apply all security recommendations, exercise caution when a new release of your chosen CMS becomes available and visit the forums of it and the major extension you rely on. If no-one else is reporting problems or they are resolved quickly then you should be safe to install. Backing up your script files and database or installing updates on a duplicate test site will allow you to identify and resolve any problems quickly.
Choosing a CMS
Your first port of call should be to www.opensourcecms.com. This site takes all of the known open source CMS systems that run on mySQL and PHP and provides freshly installed versions (renewed every two hours) for you to play with. They publish a link to the frontend, with an administration username/password to allow you access to the backend as well.
There are around 45 CMS listed on opensourcecms.com, with the official description from the developers, a link to their site and then links to ‘frontend’ and ‘backend’ (administration) sections. Underneath here is where the really valuable information is – the user comments. While you should not take everything you read here as gospel, if every single user comment cites bugs, slow development, security issues, slow operation and complex to use then you know its time to move onto the next one. This is the first litmus test that you can do to get a feel for how well the CMS is performing from a users’ perspective.
Installing a CMS
To start you will need a domain name, mostly under £10 nowadays, and some web space capable of running PHP scripts and supporting mySQL databases. ISP’s such as Heart Internet (www.heartinternet.uk) offer this for around £100 per year. Once set up you need to download your chosen CMS to your PC, and then use File Transfer Protocol (FTP) to transfer it up to your new web space. There are plenty of free FTP programs available, such as SmartFTP or FileZilla. Next you will need to create a mySQL database, usually done from within your ISP’s control panel.
Once the files are uploaded there is usually an installation wizard to guide you through the configuration process. Certain checks will take place, such as whether the required files and folders can be read from/written to by the CMS. Next, the information on the mySQL database is needed. Finally, custom details such as the site title and administration password are requested. Some ISPs provide the facility to install some CMS’ directly from their control panel, thereby cutting out the need to upload the files and automatically populating the relevant fields.
The longest part of the entire process is usually the uploading of files, as there are often several thousand small files.
Summary
If you need a website, rich in content and functionality that can be updated by many people, perhaps remotely and with limited computer skills, then a CMS is for you. The framework of a CMS can be up and running in under an hour and anyone with a reasonable understanding of HTML and graphics will be able to easily customise it to match their needs.
This subject is covered in much greater detail in the book 'Building a website using a CMS in 90 minutes' by Martin Bailey