Tuesday, August 17, 2010

CMS: Joomla vs Concrete5 -- First Look

I've been delving into the fun world of web design lately and have been trying my hand at using a Content Management System to make it easier. Turns out, using a CMS makes the website simpler in some ways, but adds its own complexities. As I'm working between the different CMS's, I think it would be worth sharing some top level opinions for those who are trying to decide between them.

All 3 systems are open source and typically freely available on most web hosting services. If not, they are easy enough to install. I am not going to look at that right now. Perhaps in later posts we'll drill down further into the differences, but for now, I am just looking at the admin interface.

I started with Joomla, since it is best known, discarded it, tried Drupal, discarded it, played with WordPress, liked it but discarded it, and finally hit upon the lesser known Concrete5. For a while, I had hit upon a gem, made my site, then as I tried to add a few features, I found myself limited. I then began my way backwards through Drupal and eventually found myself with Joomla again. Each have their strengths and weaknesses...

Concrete5 is phenomenal in terms of interface for contributors. Setting up the page is rather simple; take a template you like and insert just a few php statements, then upload it to the Concrete5 backend. From there, using the front end you can just click around on the page itself (when it edit mode) and do wyswig style edits. You can add blocks of text, html, images, flash content, etc. Once added, if you want to change the layout, you can just grab the blocks and rearrange them. There is version control as well! Each edit versions that page and you can roll back to other versions.

Joomla on the other hand is much harder to setup. The backend is not as simple or user friendly/intuitive. Editing content is not as visual and requires work in the admin console. Once you get used to it, Joomla can become easy, but adding/modifying content is nowhere near as easy as it is in Concrete5.

So why did I switch back to Joomla? Concrete5 fails when it comes to extendability and community support. As I wanted to add advanced features to my site, like eCommerce shopping carts, I found that Concrete5 couldn't compete with the other CMS's available. They did offer modules to extend Concrete5, but at a cost. Now, I pursued an Open Source CMS enticed by the no-cost solution, so hearing that I have to pay to extend it turned me off. Joomla, Drupal, and WordPress blow Concrete5 out of the water in this arena. Not to say they are all free...All of them have paid and free extensions/modules/plugins. The difference is there is usually a free version of everything and paid versions for more advanced/professional features.

Drupal is a little weak compared to Joomla in terms of eCommerce, so I glossed over it in my search and moved back to Joomla. WordPress was a very good solution too, but I discarded it since it really is designed for blogging sites. There are ways to use WordPress for a non-blog site, but I didn't want to force the circle peg into the square hole. (Side note: this blog is hosted on Blogger.com, not a WordPress site). Joomla finally fit the bill here.

I'll try to talk in more detail about the features later, but since this is a blog, I'll have to curb myself here from going on and on. My quick summary:

1. Concrete5 is great for simple sites with content contributors that are not too technically savvy.

2. Joomla is great for a lot of different tasks, very flexible, very powerful, but pays for this all with added admin complexity.


  1. My firm also went through the same comparative machinations. We decided that Concrete5 was the horse we wanted to hitch our wagon to.

    For us, the most important consideration was empowering non-technical clients to update the site with an intuitive interface. All the backend power in the world doesn't mean squat if the client can't use it because they don't understand it. As strategic development partners, the work we do shouldn't be trying to make a powerful back-end friendly, it needs to be making a friendly interface powerful.

    If you need Concrete5's additional firepower, sure the plug-ins cost a few bucks, but if you (and your client) are taking their online presence seriously, are you really going to worry about asking them to invest a couple bucks in add-ons?

    We've found that focusing on an "everything's free" attitude actually eroded our own value in the marketplace. Larger businesses have a tendency to view us open source guys as a bunch of bearded zealots, and so justifying us to C-level superior is an uphill battle.

    Businesses spend a bundle just on basic licensing fees when they go with a Microsoft solution. And because they do, they take Microsoft solutions providers more seriously. And pay more for them.

    We have a client that spent $500 on a pile of Concrete5 add-ons... on a very large 5 figure project. Worth it to us? Absolutely. The extra expense added value.

    Concrete5's e-commerce admittedly is not great. But if we've developed a strategic partnership with a client, e-commerce won't be a surprise after the site is built. If the customer is serious about their e-commerce, then a something like Magento becomes the better solution, because most of the content management is product-based. Its CMS isn't as good, but it can handle the other stuff just fine.

    Concrete5's blog add-on alos admittedly isn't great. If blogging is going to be a critical component of the site, then we use Wordpress as the main CMS despite its weaknesses.

    But the bottom line is that it's always doing what's best for the customer, even if it costs them a little bit more. They'll take us...and their Web site...more seriously.

  2. @triveraguy

    Thanks for the great input. I definitely agree with you that, when a company is serious, spending a little money to get a quality product is essential.

    Unfortunately, as you admitted as well, C5 is still lacking in the eCommerce arena. But so what? They are not made for eCommerce. Each CMS has its strengths and you should choose according to your need.

    If I had to do a quick ranking, I would say the winners in each category are:

    -Blogging: WordPress
    -eCommerce: Joomla or Drupal
    -Content Rich: Concrete5

    The user friendly front-end of Concrete5 blows away the others, but for advanced features, I would still go Joomla or Drupal. They also require you to pay for the advanced modules, but at least you can start with free to try your hand at it and scale up from there to the professional paid tools.

  3. Hey Gang,

    Thanks for taking the time to do this review, it's great to see concrete5 being compared to these larger projects after just 2 years of being open source.

    Our eCommerce add-on was very much designed for smaller design centric stores. If you want complete control over how your store looks, our ecommerce approach will really shine. I agree however, if you just need to put a few thousand products on the web quickly and enterprise features like importing/exporting products is more important than design control - something like magento is a good choice.

    Don't think you can't build big beefy sites with concrete5, you absolutely can. We've built online communities with more than a million pages, we've seen big corporate extranets and large schools use concrete5 quite effectively. Like any big project there's going to be some custom work and extension involved, but concrete5 was very much designed to do this type of thing, so I don't think it's accurate to consider concrete5 as a light weight solution for small sites.

    Where it does really shine is the ease of use around editing, so if you want a client who can actually make changes on their own, you owe it to yourself to learn how concrete5 works so you can help them build and own a great site.

    Thanks again for the review
    ceo, concrete5

  4. I disagree with the original article here. Here's my real-world scenario:

    10 years ago I was a career software developer (Microsoft-oriented). Then I switched careers into the health care field. I haven't done much coding in a decade.

    Recently, myself and one other guy (who has no developer experience) were tasked with rebuilding our 4,000-member-strong organization's website (which was originally built on Drupal years ago). This is an organization of mostly non-technical users.

    I had never used a CMS at all before this project. We started the process by looking at Drupal (and to a lesser extent, Joomla), and became quickly frustrated by their geek-oriented design and admin-heavy responsibility. Drupal, in particular, has NUMEROUS add-on 'weaknesses' and problems. For example: sending bulk newsletters to our members generates no viable feedback to let you know if emails were or were not sent...you click a button and pray, basically). This proved to be a *major problem* for us after 2 of our members were killed while on duty in a motor vehicle accident late in 2010. In the process of notifying our members about this incident, it turns out that a major ISP was rejecting all of our emails to our members...except because Drupal and it's poorly coded addons don't provide any real feedback letting you know what happened to those emails, we didn't realize that approx. 1/3rd of our people didn't get notified.

    That was the end of Drupal for us. When software doesn't, or can't provide end-users with realistic, BASIC feedback, then it does not serve its purpose and MUST go.

    **Thank god we found Concrete5.**

    Inside of 2 months, on a part-time basis, we've rebuilt the site from the ground-up. I've even built my own custom addons and modules with relative ease. Interfacing with this CMS is nearly flawless and painless.

    What this CMS does that others like Drupal can't, is it:

    - provides a flexible framework that's easy to extend, even for guys like me who are no longer professional coders

    - makes routine tasks easy for end-users (sending bulk newsletters, even adding news items and blogs, editing pages)

    - provides an 'override' layer on top of the core CMS where you can override and extend the core system files to do whatever customizations you need, and preserves the core at the same time. Lemme say it again: You don't have to modify the core to make this CMS do what you want! Example: copy the core login page to the override layer, make your changes, and have no fear of breaking the core itself...this feature alone is GOLD

    - provides drag/drop/rearrange functionality for page layouts

    - allows WYSIWYG-style editing of pages that's as simple as editing a Word document (and very similar)

    - has built-in version control (! This is priceless for our non-technical members who afraid of breaking things...in short, if they screw a page up, big deal, we roll it back to a prior working version)

    - allows installing modules and add-ons with 1 button click

    - upgrading the CMS does not break your custom changes. Upgrading the CMS is virtually an automatic process, too

    ...and on and on.

    In short, from an end-user point of view, Concrete5 is godly. From a developer point of view, this CMS can let you do things that the other CMS's can only dream of.

    If you believe you can't extend Concrete5 to meet your needs, then you haven't worked with it enough.

    So what if you have to pay a few bucks for addons. Most of them are in the $25 range...or write your own in no time flat, then sell it yourself on the Concrete5 marketplace and make some $ in the process!

    Everyone wins with this CMS.

    PS: I have no relationship with any of the afore-mentioned CMS companies.