TechSoup@PND: Comparing Open Source Content Management Systems
This excerpt from an independent sixty-page Idealware report provides a summary of what open source content management systems are, what features are often useful to nonprofits, and a detailed comparison of WordPress, Joomla, Drupal, and Plone, the content management systems most widely used by nonprofits. For the full report, see http://www.idealware.org/comparing_os_cms/.
A Web presence is critical for almost every nonprofit, but creating a Web site can be daunting. It can take a lot of time, money, and technical expertise — things that are often in short supply. And just because you have a Web site up and running doesn't mean your work is done. You still need to keep up with maintenance, updates, and desirable new features.
An open source content management system (CMS) can help. Generally speaking, a CMS is a software package that lets you build a Web site that can be quickly and easily updated by your non-technical staff members. These open source systems are created and supported by a community of developers and can be downloaded without cost. Both their feature sets and their price tags make open source systems particularly attractive to nonprofits.
In this report, we take a look at four different open source content management systems — WordPress, Joomla, Drupal, and Plone — and rate them on a variety of criteria, including system flexibility, features, ease of use, and availability of support. We chose these systems because they're the most popular in the nonprofit sector today, according to our analysis. (Please refer to Appendix C in the full report for more details on our market analysis.) We also dig a little deeper into what open source is all about and how a CMS can help streamline processes.
What Is an Open Source CMS?
At its most basic, a content management system (CMS) is a software program that makes building and maintaining Web sites faster and easier. Let's say you're using a Web site without a CMS. If you want to post an event and have that event show up in five different places on the site, you have to perform the same activity five separate times on five separate pages. With a CMS, you only have to post the event once, and any staff member can do it, regardless of his or her technical expertise. How does this work? Content management systems store the actual content (text and images) in a database. The system can then automatically pull the content out and show it on the appropriate pages based on rules that you set up in advance. The ways you can organize it, and the types of rules you can use, depend on how structurally flexible the CMS is. This setup makes it easy for your content administrators — the staff members who are writing and publishing the actual information on the site — to create content without having to worry about technical issues or even knowing all the places the content should go.
Content management systems also separate graphic design from the content itself. This is accomplished through the use of "themes" — graphic design layers that control graphic elements, font and navigation styles, and page layouts for each page on the site. You simply choose a pre-packaged theme for your site or create a theme that's completely customized to your own look and needs.
The term "open source" is a key distinction. The term means the software's source code is freely available for everyone to see and change (as opposed to the source code for MS Word, for example), but it has many wider implications. While proprietary software is created, distributed, and maintained by a business, with open source software these tasks are handled by a community of developers and users (recently, for-profit consulting and development firms have also become important vehicles for support). Just how effective that community is at its job is an important consideration when choosing an open source CMS.
Open source content management systems are free in many ways. They're free as in "free speech" — you can do what you wish with the product and the code behind it, extending and integrating it as you see fit. They're free as in "free beer" — there's no license cost for the software. Anyone can download them and install them on a Web server without cost (though you'll likely need to pay for the Web server, or someone to install the systems). And they're free as in "free kittens" — that is, an open source CMS takes work. You'll either need to put a lot of time into implementing and maintaining your system or hire someone to do it for you. And no CMS will magically design and write your whole Web site for you — that's a job for humans.
What CMS should you choose? It depends on your own needs and situation. All four are solid systems with robust communities and a huge amount of functionality that will allow your technical staff to update your site.
If your needs aren't very complex — that is, if you're planning to hire someone to build you a site that's less than several hundred pages, is generally hierarchically arranged, and will be updated by only a handful of people in your organization — any of these systems will work fine. In fact, the person you hire to build the site will be the much more important choice. Look for someone who understands your needs and your organization, is responsive, can speak in a language you understand, and seems eager to work with you, and then use whichever CMS he or she recommends.
If you're planning to build your site yourself or if you're planning a site that requires complex cross-referencing of information, a number of owners and editors, or significant custom functionality, it can be worth carefully comparing the systems to choose the one that's right for you. It's time-consuming to switch content management systems once you're up and running, so it's worth taking time up front to define an infrastructure that will work for the long run.
WordPress is a great choice for straightforward, simply arranged Web sites. 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 and adapting them to your particular needs is 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 won't scale to support complex sites as easily as the other three systems. It's designed primarily to support simple arrangements of two types of content — blog posts and pages — so if you'd like pages or posts to appear in many different places based on automatic rules, this is not the system for you. There is only limited support for differentiation of user roles, with no easy way to support permissions based on section or type of content.
Joomla is a solid utility player, good for a variety of different situations. It's relatively straightforward to install and set up. The system is divided into three types of pages: Sections, Categories, and Articles. There's a bit of a learning curve to understand how they 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 shopping carts to community features, providing a solid base for many different kinds of sites.
Joomla is not the best choice for sites that will be edited by many different internal content authors, as it doesn't offer an easy way to create a workflow based on section or type of content. And 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 limits very advanced structures (such as 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.
Flexible and powerful, Drupal is a great choice for more complex sites. It supports a wide variety of site structures — 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 group blogs and user-submitted content. It's also easy for your content administrators to find and update content.
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.
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 text and images. 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. Even seasoned technologists will likely require training to understand the system. Learning Plone to build a single Web site 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.
While none of these systems is perfect for every organization, open source content management systems work well for many nonprofits. They're community-minded, cost nothing to acquire, and can put editing Web sites within the reach of even the most non-technical people.
If you want to know more, make sure to view the full comparison of these tools at http://www.idealware.org/comparing_os_cms/.
Use the community aspect to help you make your decision as well — do some online research, ask questions on message boards. 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.