Friday, October 1, 2010

Regarding Content Management Systems

Many websites use a content management system (CMS) such as Joomla! to facilitate easy publishing of news, media, and information. This tool has many advantages over the old way of directly editing the html files and uploading them.

Traditionally, at the turn of the millennium, people used HTML editors such as Front Page or Dreamweaver to edit and publish webpages. This is fine if the site is intended to be simple. However, as websites become more complex and dynamic, with information needing to be updated everyday and photos to be uploaded, manually editing HTML files become very cumbersome. Even worse, since every page has to have things like menu bars and headers, the html code of them gets copied multiple times and any update in the menu bar, for example, would need to be repeated over all pages.

As a result, server-side scripts like PHP and ASP begin to be used to generate pages on the fly so that things like toolbars and menu bars and banners can be edited easily and without the hassle of having to update all the (sometimes hundreds and thousands of) pages.

Even then, there is still a couple of problems. Firstly, trivial tasks like updating a website can actually be very difficult to people who aren't experienced with things like html and FTP, and those people often mess a website up by replacing the wrong file, or copy-pasting text from word, which always produce non-standard html that breaks easily, or a variety of other unexpected things. Also, creation of new pages become difficult as one have to mess with the delicate code used for generating the menu bar.

Content management system takes the dynamic pages to a whole new level by providing a whole administrative system out of the box that is robust and easy to use so that nobody has to touch any code. Websites that are built with a CMS, once created and set up, can be updated easily without much technical knowledge. Since they are very flexible, with a plethora of components like menus, sidebars, membership management, news boxes, themes, etc, most of the features that people expect can be added with a couple of clicks. Also, changes like adding a menu button or a new webpage becomes very trivial, with a couple of clicks instead of mingling with complex html code.

There are down sides to CMS systems though. For example, since the system is so powerful, under the hood it is very complex. As a result, once in a while, security holes pop up and the websites become vulnerable to hacks. The vendor of CMS systems will often release patches in time to patch the hole, however. Another problem is that on a slow server, CMS systems will be slow, since it has to process lots of information to display a single page.

Not every website is suitable for using a CMS either. Some websites are quite specialized. For example, a website providing email service would have to use another type of system. Sites like twitter and facebook also have their own custom system since they are also very special and different from most websites. News websites like NYTimes are also much more complicated since they have to deal with huge volume of visitors, while offering large amounts of information.

In general, the majority of websites simply present information, or are e-commerce websites, or are a community based website. These websites are the best suited for using a generic CMS system, and they should use them for the reasons discussed above. Any custom attempt to copy a CMS system is like reinventing the wheel since years of effort had already been put in to build one of the best CMS system: Joomla, and it is given free of charge! Building such a website with CMS would make everything so much easier that I don't see why so many are still stuck with static html pages and crappy custom systems that make it hard to update the website.

No comments:

Post a Comment