Idealware's first report on Open Source Content Management Systems for nonprofits, published in March of 2009, covered WordPress, Joomla, Drupal and Plone. More than a year-and-a-half later, these four systems still account for the lion's share of the nonprofit market, but a lot has changed -- in fact, all four systems have grown stronger.
All four systems have released major new versions which address some of the shortcomings we noted in our initial report, and in many ways the systems are drawing closer to each other in functionality. How do these systems actually compare to one another? We took a detailed look at 14 different areas to see how they stack up. Here's a summary of what we found.
WordPress
WordPress is a great choice for fairly small (a few hundred pages or less), simply arranged websites. It's the easiest system to install and understand, and is easy to maintain and update, putting site setup within reach of anyone with a sense of technical adventure. There are many predefined graphic themes available; adapting them to your particular needs can range from trivial -- if the theme allows you to select your own color and add your own logo, for instance -- to a relatively straightforward process for someone familiar with HTML and CSS. Updating and editing images and text is also quite straightforward, and multiple add-on modules are available.
However, WordPress doesn't scale as intuitively as the other three systems to support complex sites. For custom content types or article listings displayed based on automatic rules, you'll need to try to find a contributed plug-in or theme that provides that functionality. There is only limited support for differentiation of user roles, although plug-ins are available to support permissions based on section or type of content.
Joomla
Joomla is a solid utility player, good for a variety of different situations, and it's relatively straightforward to install and set up. There's a bit of a learning curve to understand how the menus, site structure and content work and interrelate, but once you've got it the system provides a strong infrastructure for straightforwardly creating useful site structures to support even very large sites. Add-on modules support a wide variety of functionalities, from directories to shopping carts to community features, providing a solid base for many different kinds of sites.
While Joomla supports more complex site structures than WordPress, it is not as flexible as Drupal or Plone. Each piece of content is typically associated with a single page. This makes the system more straightforward to understand, but can be cumbersome to update and limits very advanced structures (like structuring a site around a multifaceted taxonomy). It's not easy, for instance, to create your own types of content (for example, a directory of state schools that includes key information about those schools), and then show it in different views on different pages of your site. If you're not sure what any of this means, you probably don't need to worry about it -- these are advanced considerations that won't apply to the vast majority of sites.
Joomla's latest release, version 1.6, adds robust permission features to allow people to add, edit or publish information based on site section, content type or more -- if you require a complicated workflow, you will want to wait for this version. The new version also somewhat simplifies organization and display of content items. However, you are still limited to one category per article, which may lead to the need for duplication if you want to include it in more than one site section.
Drupal
Flexible and powerful, Drupal is a great choice for more complex sites. It supports a wide variety of site structures -- with widely used add-ons, you can define very detailed rules as to what content should be displayed where, and build your own custom content types. It has particularly strong support for Web 2.0 and community functionality, including user-submitted content. It's also easy for content administrators to find and update content -- once you have installed a WYSIWYG editor to let them format the text, which does not come out of the box.
But Drupal's power comes with complexities. Understanding what the system offers and how to configure it is more difficult than WordPress or Joomla. The administrative screens for configuring a site have a huge number of options and settings, making them harder to interpret. And the flexibility of the system means it's important to think through the best way to accomplish what you want before diving in. Most people will want to hire a consultant familiar with Drupal to help them set up a site rather than trying to go it alone.
Drupal's latest release, 7.0, includes a new administrative interface that makes administration and content editing more intuitive, and adds the ability to create custom content types without an add-on.
Drupal is not as strong as Plone in workflow, and may not be the best choice for organizations that want to have many different people with different roles and ownership over content.
Plone
Plone is a powerful and robust system suitable for organizations with very complex needs. It's used by major newspapers and huge businesses, and it shows. The system offers a huge degree of flexibility and control, and it supports almost infinitely complicated workflows. And since the content admin tools are well laid-out and friendly, it's easy for non-technical administrators to update body text, images and sidebar areas. Plone's features are as strong, or stronger, than the other three systems in every area we reviewed except for one -- Web 2.0/Community support, where Drupal came out on top.
Its main downside is in system installation and configuration. Plone requires a customized hosting setup (as opposed to a typical Linux/Apache/MySQL/PHP environment). Adding existing graphic themes and add-in modules, creating custom themes and setting up the site structure is all more complex than the other systems. Many seasoned technologists will likely want training to understand the system. Learning Plone to build a single website doesn't make much sense -- you'll want to hire a consultant who's already familiar with it. And since Plone is written in Python (unlike the more familiar PHP of the other systems), it may be harder to find someone to extend the system through custom code.
Wrapping Up
While none of these systems is perfect for every organization, open source Content Management Systems work well for many nonprofits. Don't be afraid to take a CMS for a test run. If you don't find what you're looking for in a core system, it may well be available as an add-on. The time you take to make the right choice will be well worth it compared to what you'll save in resources over the long term.
For more information, read the full report at http://www.idealware.org/reports/2010-os-cms.
Chris is a longtime freelance writer. Prior to joining Idealware, he worked as a newspaper, magazine and public radio journalist and managing editor, as senior copywriter at an advertising agency, as a corporate marketing and communications specialist, and as a technical writer. He also wrote a travel book about biking in New England.
