by Tommi West
You need a content management system (CMS), but you don't know which application framework to choose. The software must be free and open source, with a web-based user interface. Perhaps your employers have already mentioned that they want to avoid committing to a proprietary, closed application. With all the choices available, it can be daunting to choose one.
Whether you want to build the next big social networking site or a personal weblog, there is a CMS for you. Rather than searching for the CMS par excellence, choose the solution that best fits your project's requirements.
This article provides an overview of five of the top open source software (OSS) solutions: CMS Made Simple, Drupal, Joomla!, WordPress, and XOOPS. I describe their differences and similarities — based on my personal experience — to help you choose.
All five OSS applications are free and licensed under the GNU General Public License. Their server-side code is written in PHP, and they use MySQL as the database. And all five are operating system–independent.
All five CMSs have:
They can be used to create the following and more:
While these five CMSs have many similarities, each one also has unique benefits and limitations. The following sections describe each application and make comparisons based on my experience.
CMS Made Simple and Drupal both include workflow engines for process management beyond basic approval of content. You can get up to speed much faster with CMS Made Simple, but Drupal has far more features (which you may or may not need).
I found that setting up a CMS Made Simple site was very straightforward, but not nearly as easy as using WordPress. Creating site navigation is easy, and you can quickly launch a simple site.
CMS Made Simple, Drupal, and WordPress all follow the W3C specification for XHTML compliance.
Unlike the other CMSs, CMS Made Simple does not offer support for creating the following features:
On the support forums, there's a great deal of activity in the German language section, which creates a bit of a barrier for English-language speakers. The documentation is not as extensive as the other CMSs reviewed in this article, so accessing help in the forums is essential.
Sample site: Russell Davis Architects
Drupal is pronounced droo-puhl. (To hear the correct pronunciation, listen to the Drupal song.) This CMS won Packt Publishing's Overall 2007 Open Source Content Management System Award.
I've found that Drupal is flexible and accessible, while being fairly easy to use as a powerful solution for a wide variety of projects. However, its vast feature set may be too much of a good thing if you are only planning to build a simple blog.
Unlike the other CMSs, Drupal offers some database replication for better scalability. And only Drupal supports NTLM authentication.
Drupal includes a PHPTemplate theme engine to create custom themes. PHP code snippets are used to define the look of the site, and are kept in a presentation layer — enabling designers to own the page layout without interacting with site functionality code.
After installing modules, the process of enabling, setting, and configuring permissions feels a bit redundant. Locating the areas to perform each of these tasks in the Administration menu can be challenging until you have done it a few times.
Drupal really shines in the way taxonomy and permissions can be assigned at a granular level. Rather than being limited to groups, individuals can each have their own access levels. And the level of categorization in Drupal is unlimited, so you can set up infinite views.
Drupal's global developer community participates enthusiastically and contributes new modules with add-on functionality at an amazing rate.
Sample site: FIEL
Joomla! is a forked evolution of Mambo. The differences between Joomla! and Mambo are subtle to the end user. Joomla!'s administration panel has been redesigned, but the primary difference is the large online community involved with Joomla! that is committed to the principles of open source development (there is a frenzy of activity on the Joomla! forums).
Developers create free extensions to add functionality, and these are available in the Joomla! extensions directory. It is worth noting that, for now, extensions that work with Mambo also work with Joomla! without requiring modifications, although this may change in future versions.
Joomla! supports e-commerce functionality, such as shopping carts, inventory tracking, and payment processing through third-party vendors. However, taxonomy is an area that could be improved because you are restricted to only a few levels. This may or may not affect your development — depending on the levels of categorization you need for your site.
Although I haven't experienced it myself, I have read that sites with high traffic report slower load times. I have also found the WYSIWYG editor to be less intuitive to use than the other CMSs I evaluated.
Sample site: ArtSessions.net
Since 2003, WordPress has become the largest self-hosted blogging software in the world, visited by millions of people every day.
Due to its popularity and longevity, there are more themes available online for WordPress than for any other CMS I investigated. The ThemeViewer is a great way to find one to use for your site.
According to WeblogToolsCollection.com, 0.8% of the Internet is run by WordPress. They project that at the current growth rate that number could reach 2–2.5% in a few years.
Some high-traffic sites report slow performance, but by installing the WP-Cache plug-in and doing some tweaking to the wp-config.php file, you can enable caching to help increase load times. Many online tutorials address this if you happen to run into this issue.
Sample site: Ford Motor Company
Pronounced zoops, XOOPS is very customizable for controlling the layout of content blocks. The modules, while not as numerous as some of the other CMSs, are easy to install. Future versions promise to add even more Web 2.0 functionality, which is exciting.
Like Drupal, XOOPS has a template engine (named Smarty) to help you customize page design while keeping the presentation code separate from the functionality.
XOOPS and Drupal both offer the ability to display product information and can also manage inventory — making them good candidates for building e-commerce sites.
XOOPS is popular globally, and it is nice to see such a variety of translations for both the software and the user documentation. However, that can also be a disadvantage if you are an English speaker because there is less online support.
Sample site: Concrete Connections
Drupal, Joomla!, and XOOPS are best for building an e-commerce site because all three offer:
If you are looking to build a single blog website that doesn't need all the bells and whistles — then I recommend WordPress. It's easy to use, has a huge collection of available themes, and is XHTML-compliant.
I tend to agree with Packt Publishing's award. I think Drupal is the best overall CMS available — based on its high level of customization, flexibility, scalability, taxonomy, SSL support, e-commerce functionality, and extremely enthusiastic user community that develops modules and provides technical advice and support.
I hope this has given you some sense of direction as you navigate the many options and determine the CMS that best suits your requirements.