One of the most difficult things about web design is keeping the content fresh. Updating static HTML pages is too time consuming and costly for most sites. The answer is a Content Management System (CMS). A CMS handles the content separately from the design of the site and by adding an easy to use browser interface for managing the content, updating can be done by anyone with an internet connection and a browser.
Over the last four years I’ve evaluated and design web sites in several different Content Management Systems including: Mambo, Joomla!, WordPress, Typo3, Website Baker, and Drupal. Each has it’s strength and weakness.
Mambo/Joomla! quickly became my first choice due to it’s ease of installation and setup, but I never found it a completely satisfying solution because I wanted more control of the design of the web site. While there are numerous components and modules to add functionality, I found it difficult to modify or develop custom modules. Also, the code generated by the themeing engine produced HTML that was not standards-based, which helps web sites display properly in a web browsers. It’s possible to create valid code with Joomla!, but it is not easy to achieve.
I found Typo3 to be very powerful and flexible, but difficult to install and configure. It also has it’s own scripting language to create custom themes. This made designing custom web site difficult. The backend administration of the site is also overly complex for the typical user.
WordPress is a great blogging tool that is easy to install, easy to configure, and easy to use by the end user. There is also a strong community of developers to use as a resource. If you need a single user blog, WordPress is a great choice, but for more complex web sites it is difficult to achieve the results that I wanted.
Several of Artopa’s web site designs are built using Website Baker. It‘s page-based administration is easy for non-technical users to understand. Unfortunately, there is a small community supporting the Website Baker project. This makes support difficult for any custom development. There is also a small selection of existing modules to add functionality to a web site.
For the last year, Drupal has been my choice for designing and developing web sites for clients. It has a steep learning curve for the developer, but it’s solid coding standards mean that once you learn how to accomplish one task, many more make sense.
Drupal is a fully featured web content management platform. It is supported by an active and well organized open source development team and community. Drupal is both easy to use at the entry level for creating basic web sites, while having the power and flexibility to support complex web applications. Drupal implements the core requirements of a full-featured CMS. It has a powerful and extensible templating system, which allows a high level of control over the look of your site, with the ability to upload and manage many different data types. User access control, content approval, rich administrative control, and content display scheduling are all built-in. New features and extensions are constantly added to the core system, with many more being available and supported by the community.
