The advent of the Content Management System (CMS) has brought professional web creation to the masses. Just a few years ago, web design meant self-coding or using a package such as Frontpage or Dreamweaver. While these solutions offer the website creator a way to build the front page relatively easily, managing a full-featured site quickly becomes overwhelming when additions are required. For a simple example, a website with many pages must duplicate the menu if it is done in html. If one were to add an extra menu item, one would have to do it for every page which turns into a content management nightmare. The alternative is to build the menu server side, for which php, ASP and similar technologies are used. And that leads us to the CMS.

A CMS is essentially a website engine. It is often written in a server side language and is the building blocks of a full-featured website. Most CMS’s are divided into two parts. The back end php code is the engine that manages the various parts of the website. It is the thing that allows website creators to add a menu item and have it appear on every page, or type up a news item and have it stored on the webserver database for display on the site. The second part of the CMS is the template, which basically reads all the information from the back end and displays it in an appealing fashion to web visitors. To use a car analogy, the back-end is the car engine and systems while the front end is the driver/passenger interface and car body. For instance, one could analogize a template control such as an input box or button to a steering wheel. The user turns the steering wheel and the engine interprets the user’s action and responds accordingly. Likewise, the user clicks the button and the php code does something interesting as a response.

Why would you want a CMS for a local website? The short answer is, it gives you keys to many features. With a good CMS and a good template for the CMS, you can create content in a matter of hours or days for what would otherwise take weeks to do it from scratch. In addition, most CMS systems contain extensions to add features that would again take a great deal of time to build oneself. Would you like to add a directory to your site? Most CMS’s have an extension to add a directory system. Would you like to add a blog? Again, most CMS’s have blog extensions to integrate blogging features into the site.

While a CMS contain many advantages, website creators must also know the risks in using a CMS. First, most of these systems are built using a server side language, and by it’s nature, it can be infiltrated by a foreign script. You can potentially lose some or all of your data or can expose private information. When choosing a CMS system, chose one that has a good reputation for security. One of the most popular CMS systems, Joomla, unfortunately does not have a good reputation for security, but they are addressing this as quickly as possible and they have gotten better. Second, understand that a CMS system is often very generic and may not completely do what you want it to do. Every complex engine has limitations and some limitation may cripple a required feature for your site. For instance, if you require that all pages be search engine friendly or SEF (i.e. use simple urls), then a CMS system that doesn’t support this in the engine may never fully be able to accommodate SEF. Once you choose a CMS, it is difficult to switch to another one, especially as you site becomes more complex so do your research carefully before choosing one. Third, a CMS is often only as good as the extensions it has. If a feature extension such as an events calendar system is not written for your CMS and you need one, don’t use the CMS. Someone may write one in the future, but betting on promises may lead to disappointment and lost visitors. Fourth, CMS systems, because they are general engines, will be slower than a custom made website engine. It often will need to manage things you may not use or care about, so test out any CMS you want to use and get advice from other users as to the speed degradation and scalability. Finally, every CMS system will have a learning curve. Some are easier than others, but new users will undoubtedly be confused when starting with a new system. Find out how good the support is for your CMS from both the developers and other users. Visit the forum and search for a beginner’s document and search also for questions you may have. If you cannot find a discussion about it, ask the question yourself and analyze both the timeliness of the response and the quality of the answer. Give the discussion forum a few chances, but if you consistently get few and unhelpful response, you may be better off with another system.

There is a great deal to learn about CMS’s and this article really only touches the tip oft he iceberg. CMS’s can be divided into several categories. Free open source CMS are publicly available and modifiable at no charge. These are often used by single or small group developers but also used by larger developers. Commercial CMS’s are purchased systems produced for the masses. These are often used by single developers to small or medium companies and even a few larger companies. Enterprise level CMS’s are those that are used for complex data management (more than a website) and are often used by larger companies. Here are a few CMS systems for you to explore.

Free Open Source CMS

Joomla http://www.joomla.com

Mambo http://www.mambo.com

Drupal http://www.drupal.org

e107 http://www.e107.org

Commercial CMS

subdreamer http://www.subdreamer.com

Lisk CMS http://www.lisk-cms.com/

Enterprise CMS

Documentum http://www.emc.com/

Interwoven http://www.interwoven.com

Vignette http://www.vignette.com/

Leave a Reply

Powered by BLUEHOST.COM