Joomla vs Drupal vs Wordpress

It’s been already four years ago, I guess, when I created nicolasdecorte.be v1. Based on school knowledge, the web pages were totally created in HTML written in Notepad, only using Macromedia Dreamweaver when I really couldn’t figure out how to design a certain item. I was a hardcore programmer, and I was proud of it!

It didn’t take very long before I found out that this wasn’t something to be very proud of. All I did was spending loads and loads of time on reinventing the hot water. Even worse, I reinvented the cold water when the hot water already existed. So that meant it was time for v2. The same website, the same content, but written in PHP 5. Using professional tools as Dreamweaver and Zend Studio, and implementing scripts I found on the internet, the website became more professional and more dynamic.

Some time ago, I figured that it was time for v3. I had some ideas of changes in mind, but instead of starting to program immediately, I planned some hours of research before the first code would be written. And this is how I found out about CMS software.
After some reading about this subject, I found out that there are lots of software suppliers who each have their own CMS masterpiece, but there are three that seem to be used very often: Joomla, Drupal and Wordpress.

If you’re reading this post because you finally want to figure out which one is the ultimate CMS software package that you must use, I’ll have to disappoint you. Maybe you know more about this stuff than I do. I only had a first experience with both Joomla and Drupal yet, but I read a lot about this item, and what I will bring you here are my personal ideas.

If you haven’t stopped reading now… great!

So what I did next was also install Wordpress, and then try to create a basic website in all three CMS.
The test phase could be divided in following categories:

Installation
All three CMS are kind of similar in installation. You download a zip file from the website and extract it to the source directory of your website. Then you need to create a database (If you don’t already have one), and you have to tell your CMS which database it needs to use. Joomla has a user interface where you can set your database settings, this interface starts automatically when first starting Joomla. For both Drupal and Wordpress you need to adjust a config file where you put your database settings. When this is configured, all three CMS have an installation script which does the database setup.
Guides:
Joomla:
http://help.joomla.org/ghop/feb2008/task048/joomla_15_quickstart.pdf
Drupal:
http://drupal.org/getting-started/install
Wordpress:
http://codex.wordpress.org/Installing_WordPress

First time use
Now wasn’t that easy? But beware…It might get a bit confusing now.
The first thing you need to do is to log on to the administrator page, and have a look at the possibilities. This can be done by using following urls:
Joomla: http:///administrator/index.php
Drupal: http:///?q=admin
Wordpress: http:///wp-admin/
(replace “” by the server/location where you installed your CMS)

There you are, this is where your website will be born. Quite overwhelming, isn’t it?
What’s important to know is that the purpose of every CMS is the same: to let you create a website. They give you the possibility to create structured content, create a specific design and use several add-ons (e.g. calendars, RSS,…).
But still there’s a big difference between them. First of all in the way of working, and secondly in what they can or can’t handle.

Structured content
That the content of your website is the most important part is something I probably don’t have to tell you. But how do we structure this content? Let’s take my website as an example, I will have four main topics: photography, writing, travelling and web development. So I need a way to categorize everything I publish under one of these topics. But after I’ll be posting for some time, maybe I have too much content for one specific category, so I’ll need to create subcategories. E.g. Color photography and black & white photography. Each CMS has its own way of structuring content:

Joomla:
Joomla works with sections and categories. Each section can contain several categories, and the content can be linked to a certain category.

Drupal:
Drupal uses something they call “taxonomy”. The point is that you make a tree structures (called “vocabularies”), in which you categorize your content.
So, I’ll create four vocabularies: Writing, photography, travelling and web development, and then I divide these vocabularies into terms, which can also be divided in other terms, and so on.
Here’s an example of a “Photography” vocabulary:

Photography
      Portraits
            Color
            Black and White
      Landscapes

This can go on and on as far as you want to categorize.
A good tutorial on taxonomy can be found here

Wordpress:
In Wordpress, you have categories. The usage is quite similar to Drupal, you create a main category (e.g. photography), and then you create sub categories with that main category as parent.

As you can see, there are different ways of categorizing your content, so it’s very important to take some time to think this over before you start creating content. In the beginning, this might sound boring and useless, but when you become a Problogger, managing thousands of articles, blog posts, stories, pictures, videos and so on, you’ll thank me for this.

Content types
When you reread my previous sentence, you already see that there are different types of content that can be on your website: blog posts, stories, articles,… You have already categorized them under your different categories or sections or whatever you prefer to call it, but that’s not enough. You want them to look differently from each other and you want each content type to have other functionalities. E.g. my “about me” page should be static, my blog posts should be able to receive comments, …

Again, the different CMS have different ways to handle this. They all have certain content types installed by default and the option to add new “non-standard” content types. A short overview:

Joomla:
By default, Joomla works with “articles”, and that seems to be the only content type you can use. However, there seem to be lots of modules and plug-ins which you can use within your article to create an image gallery, make it look like a blog post, and so on.

Drupal:
Drupal has Pages and Stories by default. They both look similar, but pages should be used for static content (e.g. the “about me” section) and Stories should be used for sections that are updated regularly (e.g. a blog). Furthermore, you can install several modules like blog (so each user can have his own blog), image gallery, and so on.

Wordpress:
In Wordpress, several content types are ready to use be default: Posts, Pages, Media, Links and Comments. Pages can be compared with the pages in Drupal, and Posts are similar to Drupal’s Stories. Media is used for images, videos,… Comments manages the comments that are given to a certain post, and Links speaks for itself, I guess, it’s for managing links (duh!)

Themes
Now that you’ve created some content (with the right content type of course), and you categorized it, it’s time for some designing (woohoo!)
If you’re not used to web development (html, php,…) that’s not a big problem, because thousands of others have done the designing for you. It’s called “Themes”.
Each CMS comes with its standard theme, which is normally the same theme as they use on the CMS website. But you probably want things to be more personal, right? That’s why there are lots of free themes available. They can be found on the website of your CMS, but also on specialized websites like proWebCreative , osskins and many others.

Still not personal enough? No problem! You can also build a theme yourself. Or start from a certain theme and make adjustments to it. But this requires at least some basic skills in html, css, php and javascript.

This topic will certainly be discussed in future posts.

Modules/plug-ins/add-ons/extensions
Each CMS has a standard installation package which includes the basic components to get you started. But there’s more…much more! There are lots of pieces of software available that add certain functionalities to your CMS, these are called: extensions (Joomla), modules (Joomla, Drupal), plug-ins (Joomla, Wordpress) or add-ons (Drupal).
A good example is a forum module. It’s not available by default, but you can easily download and implement it. Another example is an image gallery.

Just like themes, these modules are available on the website of the CMS, and on a lot of specialized websites (just google it). And like themes you can also program them yourself, if you have the knowledge.

Conclusion
So far my first comparison of the three major CMS. This is only the top of the iceberg, but I guess it gives a wide overview of what CMS are and what’s the main difference.
So now the big question: Which one will I use?
Based on my experience up to now, I think that I won’t use Joomla. It looks a bit like a mess to me.
So there are two left: Drupal and Wordpress.
Word’s on the street that you need to use Wordpress if you want to create a blog. If you want to create a “real” website, you need to go for Drupal. This means that I should go for Drupal... But I’m not going to decide yet. I’ll test Drupal and Wordpress further, and then I’ll see which one will fit best to me.

Another conclusion that could be made is that there is no such thing as the “best” CMS. If you read about this on forums, you’ll find Joomla-people, Drupal-people and Wordpress-people. I guess I’m just not a Joomla-person myself.

5 comments:

joomla themes said...

Nice post about joomla theme.A+ to this post. thanks for posting.

Waldorf27 said...

Hey, thanks for your comment. You might also enjoy my new post: Drupal vs. Wordpress

andy said...
This comment has been removed by a blog administrator.
Waldorf27 said...

Sorry Andy, I had to remove your comment as it was pure publicity for a certain web design company.

cms design said...

Thanks for the posts we are the professional web design and development company offering an array of services like template customization,web designing, CMS solutions, eCommerce solutions, Search engine optimization and Internet marketing.
CMS DESIGN

Post a Comment