Drupal and Joomla Comparison


Drupal
and Joomla are two of the most widely-spread and used open source content management systems (CMS) in recent years.

They are both quite usable and provide lots of functionality. The age-old question of which one is better makes no sense. Because how useful any of them to you is a question of taste and requirements ;)

What follows is by no means a comprehensive guide. It is just a brain-dump of my current views on this topic. So feel free to add your comments if you feel I severely lacked something.

If you have not got (much or any) experience with any of them, let me show you two recent and quite prominent examples:

http://www.linux.com/ - is a joomla site

http://www.foreignaffairs.com/ - is a drupal site

The way to identify them is usually looking at the source code.

  • Drupal usually has references to something like ‘/sites/…’ and ‘/files/…’. Or you could try adding /user to the URL of a drupal site and it should show you a login screen (if not overridden via views or custom url rewrites, htaccess otr any other way - usually not)
  • Joomla’s admin URL is at /administrator. However this URL also can be renamed or redirected via htaccess rewrites so it does not always work. In the case of linux.com it has been disabled. But there’s an other way to spot joomla sites: look for references to ‘/templates/…’, ‘/media/…’, ‘/components/…’, .’/plugins/…’ in the source code. The more you found them the better chance of it being a joomla site. You can also try adding ?tp=1 to the URL which enables something called a template preview. It will highlight the different modules positions on the site :) To me best knowledge it cannot be disabled (maybe by hacking the core code only)

At the moment my opinion is that joomla is the winner in the beauty and core features category while drupal is the winner in the flexibility and extendability category. I have several years of drupal and approximately a year of joomla experience so far - my preference is slightly towards drupal for several reasons. I do need to add, however, that both systems have literally thousands of extensions available on their site. 99.9% of drupal extensions are free whilst joomla extensions are only like 95% free. Not much of a difference, but if what you want is in that 0.1% or 5% category you should think twice if it worths the money.

I also think that both systems have adequate documentation now. Drupal has at least 10-20 books now on the market, and more are in the works. Most of these are from packt publishing. Joomla also has a good 5-10 books on theming, programming or just using them. Most of the packt books are quite good (with lots of screenshots…). Both drupal’s and joomla’s online documentations are also good now.

If you like learning through seeing someone telling and showing you how to do things, and you are a beginner then I suggest you have a look at the Lynda website (look for the learn by software… dropdown) for both drupal and joomla tutorial videos. They are not free but worth the price and time saved if you want to quickly get up to date.

Also both of them have their own little nomenclature. It is good to know that:

  • a module in drupal is a component or a plugin in joomla
  • a block / region in drupal is a module / module position in joomla
  • a node (story/page) in drupal is an article in joomla
  • a view / node listing in drupal roughly equals a menu type in joomla
  • a theme in drupal is a template in joomla (layout / look of the site)

By default joomla (v1.5) has built in support for article rating, newsflash, banner ads, different menu types (these are basically how the content is listed), it has a rich text editor which allows for image uploads, and it has built in support for editing the templates html and css files. It’s user system (roles/permissions) is quite limited.

Drupal by default has no rich text editor, but it has something called ‘content-types’. This means that if you want to allow for different content, like a product description page, and a blog entry to look differently you can easily do that with drupal. It’s not so easy with joomla, but now it also has several options that can help (the best imho is k2 however it’s documentation at the moment is pretty much non-existent). Drupal’s image handling and file uploads are also severely limited in its core form. But drupal has a built-in forum, and much better user / role management features. It also has a built-in commenting module, and has some support for multilingual sites in core. Joomla can also provide these but for that you need some extensions. Drupal also has a taxonomy module. It basically allows you to tag / mark content into a hierarchical category and its depth is virtually unlimited. Joomla (v1.5! I’ve heard 1.6 has something regarding this in the works) has sections and categories. You can define several sections and put several categories into a section. Basically it is a 2 level content categorization tool.

Also, joomla has lots of professional template designers like JoomlArt, YooTheme, TemplateWorks, RocketTheme, Shape5, JoomlaJunkie, TemplatePlazza, YouJoomla, etc. Lots of these templates look very good and can be used to jump start your site-building process.

Drupal mostly has free (open-source) templates and those are listed on the main drupal website in a searchable form. Drupal’s professionally designed templates are quite rare, there’s only a few sites that provide them: TopnotchThemes and TemplateMonster (templatemonster sells not only drupal but myriads of other stuff).

This is neither bad nor good. Designing a theme for any of these systems is not really a big deal - drupal allows for more flexibility in my opinion but I imagine joomla can also be hacked to do that - or the above k2 or some other extensions can be used to do that.

Also, please note that my above descriptions on the core features are not limiting in any case. Both systems can be expanded to do what you want it to do - it just depends on  your or your developers experience and capabilities.

My verdict:

Both systems are quite capable. If looks are important to you, and your site’s functionality is of a simple site with some pages of content, a webshop or blog, or a site with lots of articles categorized maximum 2 levels deep then joomla is a good fit. If you want a multilingual site - joomla is still a good fit thanks to its excellent joomfish! extension which provides multilingual capabilities.

Drupal also can be used for the above mentioned features but it really shines when you want to build something more complex. Given its pretty standard (by any Drupal “practitioner”) cck and views modules your options of presenting content are much much more open than with joomla. Its user administration capabilities are also much more suitable for something that demands more granularity. Drupal can also be used to build a blog, forum, webshop (ubercart, e-commerce modules) or just anything you can think of. For a webshop you should also consider Magento which is a relatively new contender in the open source market for webshop engines (in PHP).

I also have to add that if your future website is not that much about content but about interactivity then you should consider using any of the currently available open-source web application frameworks to build your site. For instance you have cakephp, symfony, code igniter, yii, etc. in PHP; django, pylon and turbogears in Python; ruby on rails, ramaze, merb (soon to be rails 3.0) in Ruby all available for free. All of them are pretty good and provide very similar features but obviously from a different point of view ;)

If you have any questions regarding the above - please feel free to get in touch with me above on the contact form. I am glad to help you or even build you a site choosing the best solution available. Of course time and experience costs money so keep that in mind when contacting me.


Leave a Reply