CMS or Content Management System
In the fifth Installment of my blog series on building a web site, I will be cover CMS or Content Management Systems.
CMS or Content Management System is the base for a majority of websites on the internet today and is a group of scripts and applications that run on the websites server. Just as the name implies it manages content on the site and allows the user easily to add, edit, upload and control content and how it is displayed. Think of it as the operating system of the website. Much like the OS on your computer the CMS controls the interface with your website.
Unlike the HTML only websites of the past where code and text all lived in one html file per web page, it stores most of the data in a database. So instead of the browser loading being tasked with loading all the code, format, text and images at each time a new page is loaded, the browser loads a container or wrapper and then adds new content as the pages are requested. Thus less files, smaller files and faster load time. Oh and a lot less work for the create of the site. Unlike the old days of html the web contributor no longer has to write individual code for each page, with a CMS, they simply set up a template or theme and then add content using a form interface. All the coding is now handled by the scripts that make up the CMS.
Adding additional features, functions and changing the display can be done easily by either changing the settings or adding additional scripts. You can also add contributors and allow memberships to your site. Basically once installed all of the interaction with the website is done using the CMS user interface. Taking a lot of the hassle of FTP and Cpanel file manager out of the process of updating and maintaining the site.
Most CMS are open source with a GNU General Public License. easy to install and have a strong community that not only contributes to the project but are very supportive and open with information. However there are advantages and disadvantages to anything open source. Often you are relying on gifted and wonderful people to create scripts that you rely on. They are doing this for the love of it and will see little if any reward. So, often things can go wrong and you are on your own with only limited support. If you are uncomfortable with the idea of maybe jumping in and patching or changing some code from time to time, you may want to consider sticking to the most basic functions of the CMS. The advantage is that since there isn't a profit motivation behind the project and anyone can contribute, so a majority of the code is on the cutting edge. If you think that you are going to be dealing with a patch work or reversed engineered situation with tons of bugs and half finished, you will be mistaken. Most corporate website are using some open source CMS including Best Buy, McDonalds, AT&T, Zappos, Sony Ericsson, Nokia, AOL, ABC, Electronic Arts, Universal Music, and FOX who all are Drupal CMS.
There are a number of CMS out there including Drupal, MediaWiki, Joomla, Mambo, PHP Nike, Pligg, Word Press, and countless others. The right one for you depends on what functions you want your site to have and how comfortable you are adapting and using the scripts. I personally have worked with mediawiki, Joomla, Manbo, Word Press and Pigg before settling on Drupal. Not only because it has by far the largest development community but the largest collection of modules to add additional functions to a website.
Modules are scripts that can add small or large features to your website. Depending on the CMS you choose they can go by different names. For example with Word Press they are called Plug-ins, Joomla they are called extensions and Manbo they are called addons. They can do something as simple as allow you to post a special type of content like a blog to completely changing how the content is displayed to creating galleries to adding sharethis buttons. Many times it might take a number of modules to gain the effect you want on top of the core CMS scripts. For example this site has 125 modules currently active handling everything from allowing to make special content types and display to submitting to search engines and a different text editor. There really is no limit to what you can add to a site.
In the next installment I will be covering the installation of Drupal Content Management System