A Content Management System - CMS is a collection of tools designed to allow easy creation, modification, organization and removal of content from a web site.
The problem
The majority of websites today cannot be maintained by a notepad with HTML for the following reasons:
- Most of the users and website administrators are not technical gurus
- It is extremely time-consuming and error-prone
- A significant quantity of the content is dynamic
- Most websites are just too large to be hand edited by HTML
- Successful websites change and evolve continuously
Difficult Decision
It is easy to understand why a CMS is needed and upon this understanding, logical do decide to use a CMS. However, choosing a CMS which suits your needs is a much more difficult decision. There are plenty of content management systems out there. Most of them support the essential features that a CMS is expected to have but they all differ greatly in terms of their usability, extensibility, and support. A common trick to go around this problem is to ask seasoned webmasters or industry gurus. Surely, they would give you the right answer. Unfortunately, the answer you would get would depend largely on who you ask. People are usually accustomed to the CMS they use and are often unwilling to try something new or move to another CMS, unless they come across serious issues. Therefore, they usually end up recommending what they use themselves.
Among the various content management systems, Drupal and Joomla! stand out as the two most widely used. Drupal is the preferred choice of programmers, coders, geeks, and anyone who seeks absolute control over their CMS. Joomla! is preferred by web designers and anyone who seeks a powerful and easy to implement solution with emphasis on a great looking website. Joomla! does have superior design and template functionalities.
Go for Joomla! if
- you want a quick and easy setup
- you are not concerned about Search Engine Optimization (SEO)
- you don’t need to integrate with other software such as coppermine
- you are short on time
- you are not worried about the consumption of server resources
- you won’t have a complex set of login, group, and permissions
- you won’t be running membership sites
- you want to be able to change your website’s design in a jiffy
- you won’t be needing much besides what the CMS is offering
- you would like a user-friendly GUI
- you would like to benefit from a large array of graphically appealing template
Go for Drupal if
- you absolutely need Search Engine Optimization
- you need to integrate with other software such as coppermine
- you must use your server resources very prudently
- you have a complex set of login, group, and permissions
- you will be running membership sites
- you will be changing your website’s design frequently
- you might be needing more besides what the CMS is offering
- you want a powerful templating system
- you would be willing to invest some of your time to realize exactly what you want
- you seek more flexibility and fewer limitations
- you would like to get assistance from large drupal community
- you want to work with a powerful CMS with an extensible API
How about a specialized CMS
Most people who have worked on CMS development realize that one size doesn't fit all. Which is why there are several specialized content management systems which concentrate on precise tasks. For example,
coppermine concerns itself with photo galleries.
Moodle is designed exclusively for elearning.
Conclusion
The content management system technology is essential, inexpensive, efficient, powerful and mature. It should also be noted that not all content management systems can fulfill you needs. A CMS must be chosen prudently. After reading this page, if you still think that drupal is the right solution for you, then read on. Otherwise, I wish you luck with whatever other technology you use to achieve your objectives.