Friday, December 29, 2006

Content Management Systems: What's the Catch?

"Content Management System" (CMS) is an expression that is widely used in relation to Web site development and maintenance today. Maybe even more than widely: the search for "Content Management System" returned 2,190,000 results pages from Google. What's so special about it? Is a CMS a must for any individual or company that owns a Web site? Can you do without it? If you know the answers to these questions, you don't have to read any further - this article is for those who want to find out what a CMS is and whether they need it at all.

What Is a CMS?

Managing a Web site becomes easy even for non-technical business people - all they have to do is to log on via their browser, create or change a Web page or several pages, and then have the CMS publish the content to the Web server at the click of a button.

A traditional Web site built of static HTML pages works great if it's relatively small and simple, if it doesn't have many interactive features, and if you don't have to change its content too often. However, if you need professional help to add/delete or modify a page and upload it to the site, it may be time for you to think about employing a CMS.

A CMS makes creating and modifying content independent of publishing it. You can type or paste text in special boxes and upload images using the placeholders in a form, or if the CMS provides a WYSIWYG editor, you can even work on a page and at the same time view what it will look like. All content including metadata (page title, description, keywords, etc.) is added to the database and used by the CMS to dynamically generate Web pages. In most cases, there is no need to install any special administrative software on the user's computer. Managing a Web site becomes easy even for non-technical business people - all they have to do is to log on via their browser, create or change a Web page or several pages, and then have the CMS publish the content to the Web server at the click of a button.

There is a whole range of content management systems. A simple and easy-to-use CMS can be sufficient for an individual or a small business, while a large company may require a more sophisticated solution. A sophisticated CMS may be used to manage company workflow by setting roles and permissions for different employees: some of them may be allowed only to upload their material, others - to review and edit it, and the others - to approve and publish it.

Advantages and Disadvantages

You can finally break free of the HTML coding dependency trap and start working on the content yourself. You can make changes to your Web site quickly and easily, correct mistakes as soon as you notice them, and on the whole, work smarter, not harder.

One of the most important benefits of using a CMS is reducing the costs of professional assistance. A CMS enables people with little (or no) Web authoring skills to re-design, maintain, and update their Web sites themselves. You can finally break free of the HTML coding dependency trap and start working on the content yourself. If you can use your Web browser, you will be able to use a CMS (not any CMS, though). You can make changes to your Web site quickly and easily, correct mistakes as soon as you notice them, and on the whole, work smarter, not harder.

Another advantage is that with a CMS, the design of a Web site always remains consistent because the content obtained from the database can be inserted into pre-designed templates. Using templates also makes it possible to change the entire site quickly and easily: you modify the template rather than each and every page.

There sure are some disadvantages as well. One of them is that a Web site based on a CMS tends to work slower, and that search engines index it worse than a static HTML site. These problems can be solved by adding a function that allows you to publish the site as static HTML pages or simply by choosing a CMS that uses search engine friendly URLs.

Don't be surprised to find out that your initial costs are higher than if you had your Web site built of static HTML pages - in the long run, a CMS may save you more.

Also, a CMS is usually a fairly expensive product. Even if you get an open source solution, you will most certainly have to pay for installing it and setting it up. Don't be surprised to find out that your initial costs are higher than if you had your Web site built of static HTML pages - in the long run, a CMS may save you more.

How to Get a CMS

Open source systems are usually as good as commercial ones, and you don't have to pay for them because software distributed under the GNU public license is free to use, modify, and redistribute. Such systems are also easy to extend because the development community continuously create new features and modules.

There are several options that you may consider.

1. Developing a CMS in house. This option is the most unlikely one. If you want to use a CMS because you aren't a Web guru, how can you have enough knowledge and skills to create it yourself? The very point of using a CMS is that you don't need to be a professional to do it. You may have technical staff that can do it for you, though, but what will happen if they quit, and the system will need improvements or bug fixing? I'm not sure you'll be able to easily find someone who will qualify for this job, and I don't know how much it will cost you.

2. Outsourcing the development of a CMS. This option is the most expensive one. There's no doubt that a lot of vendors will offer you to develop a CMS that will fit all your needs. There's no doubt that most of these vendors will have enough experience for that. The problem is that even if you want to have a CMS based site with rather modest functionality, you're probably looking at the $6,000 range as a minimum. Developing a CMS with a respectable number of functions and modules from scratch may cost several hundred thousand dollars.

3. Purchasing a commercial off-the-shelf CMS. This option is probably the easiest and the most reliable one. There is a wide choice of such products on the market, so you may choose the one that suits you best. These systems are normally well tested, and they work smoothly. On the downside, the affordable systems aren't very flexible or efficient, while the high-end sophisticated ones are extremely expensive. Besides, you will still need to hire professionals to have the system deployed and set up.

4. Using an open source based CMS. This option seems to be the most effective one. Open source systems are usually as good as commercial ones, and you don't have to pay for them because software distributed under the GNU public license is free to use, modify, and redistribute. Development teams and users all over the world have spent years working with open source systems, so the core functionality of an open source CMS is thoroughly tested and improved. Such a system is also easy to extend because the development community continuously create new features and modules.