This was an email posted in the wwwac.org listserv. It’s a nice overview of the pros and cons of the “big three” open source CMSs.
WordPress is wonderful for a basic content site, especially for blogs and personal stuff. Lots of plugins to add functionality, fairly easy to use right out of the box for a person with minor technical skills. With a bit of study, one can learn how to customize it and personalize it.
I used to use Joomla, and its predecessor Mambo, after years of building custom PHP-based CMS sites. With custom sites, I found I was re-inventing the same backend framework over and over again, and spending a lot of time dealing with security and browser compatability issues and other dull stuff. Joomla seemed pretty good at the time, but my experience was that the quality of contributed code varied wildly. Lots of it just plain didn’t work, or had dangerous security holes. Maybe it’s gotten better in the last few years, but I had a difficult time finding all the pieces I needed, and there wasn’t much in the way of support for lots of it.
I switched over to Drupal four years ago, and have been very pleased. The backend API is pretty amazing; it’s designed to allow customization at many levels. It’s like Unix in many ways; lots of small parts that all work together, with plenty of hooks to splice in your own code where needed. The core code and modules undergo heavy testing and peer review. Coding standards are enforced, there are routine security audits. There is a great sense of community and helpful support through many channels. Code quality is generally very professional. It has a very granular approach to access to content, which can be based on user roles, page contexts, even IP addresses. It has built in support for translations and internationalization.
While it is possible to build a very nice site without any custom coding, it is the flexibility in customization that has the greatest appeal to me as a programmer/developer. The downside is that it can take a while to get into the “Zen” of how everything fits together. Theming is probably he most difficult concept; it seems inside out in many ways; it is a combination of HTML templates and various places where the code is prepared for rendering. But once you figure it out, it is really neat. If you do it right, there is a wonderful separation of preparation and presentation.
What is the “best” system depends on your needs, interests, and skills. For simple sites, I’d go with WordPress, if it fits the bill. As a hard-core web developer, Drupal has great appeal to me for its power, flexibility, and stability. I don’t think there is another system with the versatility, availability of custom add-ons, openness, and support.
Thanks to Phil Glatz for this review.
Here is another email on the thread from Stephen Britton.
WordPress.org: Best for blogs, although a lot of folks are using it for a CMS. Easy to install and very short learning curve. Huge community with 13+ million downloads of WP 3.0. Not good for e-commerce unless you plan to sell a handful of items – think small pottery shop, not an auto parts store. If you are putting together a large CMS with thousands of documents and requires strict access control levels, Joomla and Drupal are probably a better choice. But WordPress is by far the best blog with excellent comment and archive capability.
Joomla! : A pure CMS that with plug-ins, can be a blog. Has everything to create a basic CMS site out of the box. Easier to program and thempate than Drupal, but not as flexable as Drupal. Community is more designers than programmers. Ecommerce is limited. Free VirtueMart plugin is very buggy. Nice object-oriented programming language. Lots of components and extensions, many good ones cost money, but rarely more than $50. The excellent, JCal Pro is only $29. Joomla has a great forum extension and can also integrated with PHPBB.
Drupal : The most flexiable CMS, but with a steep learning curve. You might want to hire a consultant to help on your first Drupal site.
Super stable. Can be used as a CMS out of the box, but requires downloading and installing extensions to get it running right. Admin control panel takes some time to get used to it. Community is the opposite of Joomla with more programmers than designers. Has the best ecommerce plugin, ubercart, but if someone wanted to build a large ecommerce site, steer them towards OpenCart, Prestashop or Megento before using Drupal for ecommerce. Big corporate user base. There are at least 5 Drupal job postings for each Joomla or WordPress job listing.
I personally find myself using Joomla more than WordPress and Drupal.
I find it easy to set up and create templates. It is easier to code than Drupal. Most of my sites are informational, magazine-type that need to be updated frequently and Joomla handles this well. Most editors and writers can learn the admin dashboard quickly. Also, the new soon-to-be released version of Joomla, v1.6 has improved access control levels.