This month I want to look at which CMS is right for you, and how you figure that out. Before we can do that though, you need to ask yourself some questions--like who you are and what you want.
Maybe you're a small business looking for an e-commerce site...or a mid size corporation looking for an internet/intranet solution for multiple sites, or maybe you're a developer wondering where to best invest your talents. No matter who you are, the questions come down to the same things.
- What do you want?
- What do you need?
- What can you afford?
"What you want" considers the functionality of your site, the volume of traffic it's likely to see, who your front and back end users are going to be, and what turns you on. After that, you need to pare down the shopping list of functions that you just asked for to those that will deliver significant and measurable benefits. You'll need this because any open source CMS can be made to do nearly anything that code can do...but time and cost are directly related to scope.
Ok, pencils down. Let's talk about the contenders.
Last month I went to CMS Expo in Evanston, IL where they were running programming tracks on Wordpress, Joomla!, and Drupal as well as a smattering of presentations on others including Plone (a Python based CMS) and Alfresco (a semi-open sourced CMS). In addition to the chance to see folks kicking the tires on different systems, I was looking forward to getting together with George DeMet of Palantir a Chicago Drupal shop, to go over the results from the South By Southwest (SXSW) CMS Showdown he'd created for the March SXSW new media festival. George recapped the showdown at a session that kicked off the Expo and introduced folks from teams for Joomla! (Steve Fisher) and Drupal (Colleen Carroll, Jeff Eaton)
The SXSW CMS Showdown took the Iron Chef concept and pitched three teams against each other using three different CMSs to create a website based on a common design given to them. The teams had 100 hours to work on the project (team hours, not man hours) and had to give the fruits of their labors back to the open source community. Palantir, which George is an owner of, being a Drupal house, went in with high expectations.
The good news for everyone is that all three teams turned in pretty reasonable sites. Look and functionality were both uniform with slight differences. Mark Boulton, the designer who provided the look and architecture for the project, dinged the Joomla! team for being slightly off typographically, but declared an overall tie. The functional tester, Marybeth Schroeder, Sr. Program Officer for the Evanston Community Foundation came up with almost the same conclusion, though she found WordPress "really difficult", which I find interesting.
As a comparison of the CMSs, while dramatic, the showdown didn't settle anything, providing little useful information to anyone trying to sort things out and make a selection. Showmanship marks went to WordPress hands down, which went beyond the competition to add content to the site, channeling the pop-cult movie Zoolander by hosting the "Zoolander Center for Kids that Can't Read Good." That's actually relevant, because it points up the front end focus of the WordPress community, which is not a bad thing.
The numbers (see table) do tell an interesting story though, so let's take a quick look at it.
SXSW CMS Comparison Results |
|||
Drupal |
Joomla! |
WordPress |
|
Total Hours |
79.25 |
57.25 |
90.5 |
Hours spent on front end |
21.75 |
15 |
36.5 |
HTML Validation |
No (8 errors) |
Yes |
No (8 errors) |
CSS Validation |
No (7 errors) |
No (1 error) |
No (21 errors) |
Page weight |
180K |
140K |
154K |
Lines of custom PHP/JS code |
220 |
30 |
1,808 |
Though the judges decided that everyone was a winner, the effort required to cross the finish line varied widely. True, the WordPress team created a great looking and highly functional site, but at what cost? The team obviously took the challenge seriously, using up 90% of the allotted time and creating nearly two thousand line of custom code.
Compare that to Drupal and Joomla! who did the job with basically unmodified systems and in less time. Though all three turned in credible results, I think Joomla! won this competition on the numbers.
You can try the sites out for yourself by visiting:
However, the SXZW Showdown doesn't really answer the question posed at the beginning of the article. Fortunately, I'm getting there.
I work with all three CMSs on a regular basis, both for myself and for clients, and am pretty active in the local (Northern VA/DC) development community, and I've written a multisite CMS using the LAMP stack myself, so I consider myself qualified to have an opinion, which is summarized in the table below.
Hopefully you'll see that the three columns on top map into the three questions I asked at the outset. What do you want, what do you need, and what resources do you have to do it with.
Extensible Functionality |
Core Functionality |
Cost |
|
WordPress |
Low |
Low |
Low |
Joomla! |
Med |
High |
Med |
Drupal |
High |
Med |
High |
Let's hope no one has a heart attack over any specific score. Keep in mind that I'm talking relative scores, not absolute ones. In terms of Extensible Functionality, for instance, all of these systems beat closed source systems to a pulp. Let's look at each.
WordPress
WordPress started out as a blogging tool, but has gradually evolved to be a full-fledged CMS. That makes sense because blog articles are just one type of content, and it's not that much of a reach to add in other content types, like events, forums or pictures. Still, it's user base is overwhelmingly people who logged onto the WordPress site, started up a blog, and were happy with the result. WordPress, despite the fact that it was dinged in the SXSW competition for usability, is blog-user-centric, and it takes a lot of effort to get beyond its roots. If your site is fairly simple and you want to do it yourself, this is the package for you.
There are heavy duty sites running on WordPress, but they're not doing it out of the box. There are cool sites running on WordPress out of the box though, because the community is focused on the front end.
Joomla!
Joomla! split off from Mambo (see my last column) because the community worried that Mambo was becoming less open source. It was created as a CMS from the start, and to my mind has a great balance between users and developers. The core is free, as an open source platform should be, but a lot of the modules for it are commercial, which doesn't bother me at all, as long as they give me the code along with them. This has caused some lively debate among the Joomla! Community, as to whether or not "extensions" need to be released under the same GPL license that the core is released under...and the "ruling body" of The Joomla! Core Team and Open Source Matters Board has come down firmly on the issue by saying that open means open, though it doesn't have to mean free.
This is mostly a happy medium between the needs of businesses and the wants of the open source community.
So who do I think Joomla! is well suited for? Small to medium sized sites whose owners are willing to work with developers to get exactly what they want, but have somewhat limited resources. You can get a Joomla! site built using standard modules with a strong graphic presentation without a lot of customization...but you may have to choose to do things the way the existing modules want to do them, so you may have to consider the "what you really need" part of your self examination.
Not that you can't do serious extension to the capabilities of Joomla!. The network of developers out there is capable of either modifying existing modules or creating new ones from scratch...but it winds up costing money.
Drupal
Drupal can be anything you want it to be, but it's not aimed at everyone.
In my chart, I gave Drupal a "Med" for core functionality, by which I mean that "out of the box" you don't get a site you'll want to leave as is. While one of the goals of the Drupal project was to be able to build sites without having to code them, they wanted the architecture, as well as the source code, to be wide open. Drupal is intended to be extended by the developer in order to match the needs of the user.
Drupal is all about customizing the content types and views to give you exactly what you want, not something that more or less fits you. It's got a strong academic/developer vibe in the community, where a somewhat obscure language of nodes, taxonomies and other terms from the semantic web are tossed around. It's very cool, but not especially friendly; even seasoned developers go through a period of beating their heads against the wall until they figure out the conventions of the CMS.
Nevertheless, there are rewards on the other side of the wall. Using the granular development structure of Drupal, you can build almost anything.
The other thing about Drupal is that the community doesn't tend to get the whole "cool looking site" thing. They're into function, not flash, and it shows.
That's a good thing if what you're after is a site with high navigability and utility, and while there's no reason that cool designs can't be used in Drupal "themes," if you're looking for a flashy site you may find that the UX designers working with Drupal don't see flash as enhancing usability. Whether they're right or not depends on the audience your interested in.
Who would I recommend Drupal to? I think it's found its niche in large organizations (including the government) and a number of foundations. It's good for multisite organizations, and is gaining some real traction in the online publishing community.
It will do whatever you want, but it won't do it cheap, and it's definitely not easy.
Plone
Plone? I said I was only going to talk about the others, and I won't say much here, but Plone is a CMS based on the Python, an alternative to PHP, which has a very solid reputation in the same sorts of spaces that Drupal is doing well in, including the FBI's site, www.fbi.gov.
Conclusion
Though there is significant overlap between CMSs they really do break into distinct groups, largely based on how much time, money, and effort you can put into the project.
One good thing to note about choosing a CMS is that there is a fair amount of content transport available from one to another so that you can opt to "trade up" over time. That's going to become easier as the Content Management Interoperability Services (CMIS) specification introduced in 2007, gains acceptance. CMIS allows different systems to share content, but is still a developing standard. I expect I'll be talking more about it in the near future.
A recent report out from IdealWare, a nonprofit organization that reviews software for nonprofits, comparing WordPress, Joomla!, Drupal, and Plone. It's an excellent report, and it's free from their site. Not only does it rate the CMSs in a series of "Detailed System Reviews" where they rate everything from "Ease of Setting Up a Simple Site" to "Scalability and Security", but they list relative market share and offer an extensive agency directory showing which platforms are used by which agencies.
Trusting Open Source
Paul Markum's article on "Choosing the BEST Content Management System" comes down hard on open source solutions. "Open source isn't synonymous with free...support fees and development and maintenance costs can be higher than with commercial software." He also points out that open source lacks the support and training that proprietary systems provide, and "may not deliver the performance, security, reliability and functionality needed to sustain a high-quality, compelling customer experience."
He's dead right.
However, it's not a given that a proprietary system will give you those things either. Indeed, since their code is closed to you, there's no real way to audit their security practices or to support their code beyond the life of the company. Their development depends on the amount of money the company is willing to put into them. Open source has its own set of caveats, but if the Federal government is comfortable with running high profile sites on open source CMS, sites like www.Recovery.gov (Drupal) or FBI.gov (Plone), it seems like a valid vote of confidence.
Admittedly, these are some of the heavier hitters in the open source world, and his points are still well taken, as is his advice in what to look for in a Web Content Management (WCM) system.
Open source, however is clearly already in use at the highest levels of government and the busiest sites in the world. If you're waiting for an engraved invitation from the White House before you consider it, you may consider it sent.
In his memorandum on "https://www.whitehouse.gov/the_press_office/TransparencyandOpenGovernment/" issued on January 21, 2009, Barack Obama said, "My Administration is committed to creating an unprecedented level of openness in Government" and specified that Government should be transparent, participatory, and collaborative.
He directed the Chief Technology Officer, the Director of the Office of Management and Budget (OMB) and the Administrator of General Services, to "coordinate the development by appropriate executive departments and agencies, within 120 days, of recommendations for an Open Government Directive, to be issued by the Director of OMB, that instructs executive departments and agencies to take specific actions implementing the principles set forth in this memorandum."
Let's see...120 days...that's about four months. Time should run out just before this column goes online. In fact, it's due on May 21, and though there's been no appointment yet of a Chief Technology Officer the initiative is still going strong. On the 21st, I'll be at a conference a few blocks from the White House on "Federal IT on a Budget" which translates as "How Open Source CMS Saved The Budget, Created Jobs and Stopped Global Warming." Ok, the connection to global warming is tenuous, I admit....but there is telecommuting to consider.
Ernest Lilley is a former columnist for Byte.com and Sr. Editor of TechRevu www.techrevu.com). He's been trying to organize the world by developing database applications since he owned his first PC and is currently dividing his time between writing about technology and web development and putting together CMS driven sites for clients.