TechSoup Stock connects nonprofits and public libraries with donated and discounted technology products. Choose from over 240 products from companies such as Microsoft, Adobe, and Symantec. Visit TechSoup Stock.
Full list of partners and products.
Learn about TechSoup Global
Comparing Open-Source Content Management Systems
Idealware weighs the strengths and weaknesses of Joomla, Drupal, and Plone
January 2, 2007
This article is courtesy of Idealware, which provides candid information to help nonprofits choose effective software. For more articles and reviews, go to www.idealware.org.
Every Web site needs up-to-date content, intuitive navigation, and a great design. And every site administrator wants to be able to get a Web site up quickly, make changes easily, and add new content with a minimum of effort. That's where a content management system (CMS) comes in. A CMS does three things:
- Makes it easier to get your Web site up and running — once you've designed exactly what will best serve your site visitors, of course.
- Promotes good Web-site practices.
- Allows your non-technical staff members to make site updates easily.
You can do all of this without a CMS, just as you can stay in touch with people without using email. But like email, a CMS can make your life a lot easier.
Open-source CMSs have been getting a lot of attention recently. Much of this is due to an attribute which nonprofits find very attractive: they're free. Typically, they are free both in the sense of "free beer," as there is no license cost for the software, and in the sense of "free speech" — meaning the product and the code behind it are available for you to do with what you will. The tools are developed and supported by a community of developers.
Three particular tools have been dominating nonprofits' open-source CMS discussion in the last year: Joomla, Drupal, and Plone. All three of these tools provide solid, useful functionality for building and maintaining a Web site. Which is the right one for you?
We talked to champions of each system in order to learn more about each tool. Each champion demoed the CMS they advocate and answered detailed questions to allow us to understand the strengths and weaknesses of each system. As usual, there are no simple answers, but in this article we look at the key attributes of each system and break down some of the trade-offs.
A Common Set of Core Features
These tools have perhaps more similarities than differences. All are useful, sophisticated CMSs that will support most of the tasks that your content editors and your site visitors care about. They can:
- Help you set up a useful site structure and navigation system.
- Allow non-technical content editors to update content, add new pages, or change navigation menu items.
- Support a completely configurable graphic design — there is no reason for your site visitors to know what CMS you are using, or even that you're using one at all.
- Facilitate internal work-sharing by allowing some staff members to update only one set of things and other staff members to update others.
- Automatically pick the appropriate content items to show site visitors based on rules — for instance, your home page could automatically display only the four most recent news stories or the events you have upcoming over the next four weeks.
- Provide accessible sites, search engine optimization, and human-readable URLs.
- Offer lots of plug-ins to support a wide range of common needs — and plenty of not-so-common needs as well.
- Allow a good programmer to modify the Web site and CMS so that they do exactly what you want them to do.
- Answer your questions, provide updates, and supply plug-ins through a strong user and developer community.
But there are certainly differences between the tools. Let's delve into each CMS in more detail.
Joomla
Marquee nonprofit clients:
Joomla strives for power in simplicity. Its programmers believe that anyone with a bit of technical know-how should have no problem setting up and maintaining a Web site. They have created a tool that is friendly, comparatively easy to get started with, and that prioritizes ease of use.
Joomla is designed to work just fine in basic shared hosting environments (the least expensive, most common Web hosting package). Its installer looks much like the simple installers used for common desktop software, and the administrative interface that content editors use looks much like a desktop program as well. There are few barriers to entry with Joomla, which means it should not take a Web developer much time to get you up and running, and if you're technically savvy you may be able to do it yourself.
If you need to extend Joomla in a way not covered by its extensions — which happen to be beautifully documented and easy to find in Joomla's Extensions Directory — you should not have to pay too much for a programmer, because Joomla is written in PHP, a widely-used general-purpose scripting language that is especially suited for Web development.
As is usually true, this ease of getting started comes with a trade-off. Joomla can be a great choice to build a sophisticated Web site with hundreds of pages, solid navigation, and common content types such as news items or events. However, it has limited out-of-the box functionality for dealing with sophisticated dynamic content structures. For instance, the site navigation is limited to no more than two levels of hierarchy, and you can only link one page to another (for a "you-might-also-be-interested-in" type of structure) based on free-form page tags, rather than more rigorous metadata and rules.
The next major release of Joomla, version 1.5, is expected in early 2007. This version will include a rewrite of the underlying code in order to make it easier for programmers to extend certain functionalities and organize underlying frameworks, but it is not expected to change the way that content editors interact with Joomla. Site visitors should have no idea that anything has changed.
Joomla is fully integrated with CiviCRM and integrates well with common packages like DemocracyInAction and GetActive.
Drupal
Marquee nonprofit clients:
Drupal walks the line between power and ease of getting started. Like Joomla, it is built in PHP, can be hosted in a basic shared hosting environment, and provides a number of tools to allow non-techies to set up a Web site. In general, it requires more of a learning curve than Joomla, but offers more functionality for sophisticated Web sites out of the box, as well as a richer platform for programmers to extend. One of Drupal's strengths is its wide variety of a nonprofit-centric plug-ins, such as event registration, email newsletters, and online donation functionality.
Drupal, like Joomla, will work fine in a shared hosting environment. Also, like Joomla, it is fairly easy to get started — if you are technically savvy, you may be able to install Drupal yourself and begin customizing it. It likely will not be quite as easy to get a simple Drupal site set up as it is to get a simple Joomla site set up (compare Joomla's installation guide to Drupal's installation guide or the site interface for Joomla's extensions directory with Drupal's modules), but an experienced Web developer should not have much trouble with either.
Drupal offers extensive and powerful tools for content editors or Web developers to create Web sites without having to delve into the code, and serves standards-compliant, accessible pages out of the box. Its native workflow makes life easier for content editors who require mutli-level approval processes. Those looking to build complex custom applications, though, may find that Drupal, in comparison with Plone, has not yet been as widely deployed and proven in mission-critical applications and large institutions.
Drupal has a pragmatic and integrated approach to functions that are not core to a CMS, such as email newsletter and online donation functionalities. While Joomla and Plone emphasize a "best-of-breed" approach, which involves integrating other specialist tools (for instance, Democracy in Action or Salesforce), Drupal offers deeply integrated (but often less powerful) plug-ins for many of these tasks. The CivicSpace distribution of Drupal provides a set of nonprofit-specific add-ons that address a number of common requirements. This project takes advantage of Drupal's full integration with CiviCRM.
By the way, Drupal doesn't rhyme with "RuPaul" but rather is pronounced "droople."
Plone
Marquee nonprofit clients:
Plone is the product of careful, well-planned programming. It provides a powerful, mature platform for complex, world-class applications, combined with strong ease-of-use for the content editors responsible for maintaining sites on a day to day basis. However, the learning curve for Web developers responsible for creating a site is substantial, and there are special hosting requirements. Plone can be a great choice for meeting sophisticated Web site needs, but may not be the best one for someone with no Plone experience who is looking to get a straightforward site set up quickly.
Plone is rarely used by hobbyist Web developers because its barriers to entry for small projects are higher than those for Joomla or Drupal:
- It requires a more unusual, and thus typically more expensive, hosting environment.
- The learning curve for understanding how to create and tailor a new site is steeper than with other tools. Configuration is done in a number of different layers in the system, requiring a fair amount of understanding of Plone's structure in order to setup a basic site, though documentation, books, and training classes are widely available.
- It is written in Python, which is a powerful but less commonly used language than PHP. While many highly skilled programmers prefer Python, it is likely to be more difficult to find a Python programmer to extend Plone — if extension should be needed — than a PHP programmer to extend Drupal or Joomla.
What this boils down to is that unless you hire someone with Plone experience, you will likely have to spend more time and money than with the other two CMSs.
However, of the three tools here, Plone is the most robust and proven application, with implementations in major institutions and organizations world wide. It offers powerful functionality and customization features, while still providing strong ease of use so that non-technical staff can be easily trained in how to update content once the site has been set up. Like Drupal, it provides standards-compliant, accessible pages out of the box, and strong support for administrative workflow.
Plone's developer community strongly emphasizes software quality and reliability — and has built thousands of automated "unit tests" to help demonstrate that it continues to function as intended even as it rapidly evolves. Plone also excels at more complex content-management tasks such as versioning (the CMS equivalent of Word's "Track Changes" feature), internationalization/multilingual content, permissioning, and custom workflows.
Plone has a regular release schedule: its next major release is scheduled for March 2007, and the one after that is scheduled for October 2007. The March release is focused on out-of-the-box usability, which should make it even easier for Web developers to give content editors exactly what their site's visitors want.
Plone is being integrated with Salesforce and already integrates with DemocracyInAction and GetActive. Plone also integrates smoothly with systems found in larger organizations such as Microsoft Active Directory and LDAP servers.
The investment — particularly the learning curve — is substantial, but the result is a powerful, flexible platform on which to build world-class Web sites.
In Summary
So which tool do we recommend? That depends on your circumstances. Are you going to install and configure the tool yourself, or are you going to hire a Web developer to do it for you? What's your budget for setup and ongoing hosting? In general there's a tradeoff: Do you want something that is less expensive and more focused on getting a basic site up quickly, or do you want something that focuses more on powerful features, stability, and extensibility?
For simpler requirements or lower budgets, Joomla, or possibly Drupal, should suit your needs. If you need something powerful and proven, and are willing to commit the resources to make it happen, Plone is likely to meet your needs, but Drupal is also worth a look. Do you want tool that serves groups that are somewhere in the middle, that need a straightforward setup but also a fair amount of power? That's where Drupal excels. Of course, this may change over time. Joomla is getting more powerful (and, as our examples show, it is already serving large, highly visible organizations), Plone is learning from Drupal and Joomla, and Drupal is getting both easier to use and more powerful with each release.
There is no doubt that all three of these tools are ready for prime time. You may need a Web developer to help you get your Web site to look the way you want and do what you want it to do, but these three projects' feature set and maturity all provide a reliable base for building useful, attractive, secure Web sites. Any of the three CMSs in this article will make it easy for you to post images; keep your design clean and consistent across all the pages on your site; update your site's text any time you need to' and make it easier for you to help your site's visitors easily access and interact with your organization.
Ultimately, that's the major benefit of having these three great open-source CMSs available: Your site's visitors will have a better experience with your organization.
Many thanks to the CMS champions who provided demos, answered questions, took screenshots, reviewed the article, and were just generally patient with us as we wrote this article: Ryan Ozimek of PICnet (for Joomla), Zack Rosen of CivicSpace Labs (for Drupal), and Jon Stahl of ONE/Northwest (for Plone). Thanks as well to Ben DiMaggio for his insights on creating a custom look and feel for these applications.