Concrete5 Vs. Drupal 6

Posted by admin on November 9, 2010

  • What's easier about either?
  • What's different about building for them?
  • How could you help someone else with the learning curve?
  • How would you compare the core feature set?

I’ve been in web development for nearly 10 years. In the last 2 years, I’ve started to work within open source content management systems. In the past, I had created my own CMS, more as a learning tool than anything, but soon realized the inherent drawbacks to having to custom created CMS for each client.

*** Update 10/2011 ***

As I wrote this post over a year ago, and my experience with Concrete5 (as well as its maturity) have grown, I've found that some of the information is out of date or incorrect.

I've started a new blog post where I am trying to side by side the pros and cons a little more intuitively and efficiently.  

See the Concrete5 vs Joomla! vs Wordpress vs Drupal.

The company I worked for realized the mundane task of updated text and images on sites wasn’t really bringing us much money. It always seemed to take us away from the larger projects at hand. We also wanted our clients to feel empowered to make changes, and only need us for feature changes. This also meant that – like our managed web server – we didn’t want to have to manage the day to day of security updates. 

Drupal – I was intrigued with the amazing amount of plugins available, readymade themes, promise of free (forums) and paid support (Acquia). To date I have created 6 websites using Drupal as the CMS. These sites range from fairly static portfolio pages, to somewhat intricate multiple user level corporate sites. 

Concrete5 – C5… A coworker suggested I take a look at c5 about a few months ago. At first glance it felt a lot like silverstripe. If you haven’t tried out silverstripe, I think it compares to C5 more than Drupal or Joomla! (http://silverstripe.org/) at first glance. Note – I felt that silverstripe was a great framework – with a beautiful backend, but just didn’t seem ready for primetime compared to the competition. So that’s all I’ll mention about that. I’ve completed one site in C5, but have tinkered for a few months or so.

What's easier about either?

Drupal: When you need some seriously advanced functionality – there always seems to be a module that can handle that. If you need a template changed based on a user’s profile field – you can do that. If you need to redirect users after logging in based on their group – you can do that. You can make fairly complicated themes and customize them very heavily. If you need to have a block on every page, but not part of the template, you can do that. Drupal is deep, but there is the disadvantage. It is not out of the box ready for a website that expects clients to make changes. The taxonomy model is great, unless your client needs to update / change the vocabulary. I wouldn’t say it is easier – but in a way it is, since you can usually find a solution already made for what you want to do. And honestly – the documentation is huuuge. It’s everywhere online… which can sometimes be a problem, but you can pretty much hire Google as your tech support!

Concrete5: Anyone can update the site. Anyone can add a page. Anyone can modify the menu system. If you are comfortable with MS Office, then C5 will be easy to use. Blocks – it’s such a great system. Being able to drag and drop to move content. And the blocks that are standard pretty much cover 90% of what I’ll need. And the big one – updating modules and the core. Drupal requires you to backup your database, put your site into maintenance mode, delete your core, upload the new core, and run an update (multiple times possibly). Module are even less fun as you are supposed to disable them, backup database, put Drupal into maintenance mode, remove old module, add new module, enable module, run update… pray. Concrete5 is still not as good as Wordpress, but close. I would love my clients never to have to FTP… ever. 

What's different about building for them?
Drupal: Drupal’s theming can be quite laborious. Once your theme is “perfect” a module that you add on will break it. As a previous poster noted – Drupal is not ready to go out of the box. This is both a blessing and a hinderance. I tend to use the same dozen or so module, so I pretty much have a base install that I use. With that said – I have to constantly update a dozen separate installs to make sure it is secure. Also – there can be three module (ie rich text editor) that all are very good, but work better for some users than others. You really have to know a lot of the module to know which work well with each other and which will be best for your client. Integrating module is also somewhat of a headache. Sometimes you have to add a module to integrate two others. Sometimes you have to install two modules so one will work. 

Concrete5: Within 10 minutes I can have a website up and running. I can have the “architecture” (skeleton pages with lorum ipsem) and have a content person fill in the rest. If a client wants to have his form block below his navigation block, I drag and drop. With Drupal I would have to go into the block admin and move the block. Also – the standard themes with Concrete5 seem to be more realistic. I can actually use them and simply add content to start. I can tweak them with minimal effort. Also – converting a static HTML site to work with Concrete5 really seems to be straightforward. I never felt like I could go that direction with Drupal – so many tpl files everywhere. If I needed a two column page, I had to create a new theme, unless I wanted to code it into the RTE, but then that defeats the purpose.

How could you help someone else with the learning curve?

Drupal: I think everywhere you look; nobody is denying the learning curve is steep with Drupal. But – there are a ton of tutorials and a lot of people who are very willing to help you. There are also a lot of great books by actual publishers on the CMS.
Concrete5: Maybe it doesn’t really need as much documentation because it really is very intuitive. I would love a book on the CMS – I always like having something I can refer to while traveling or when I don’t feel like being in front of a computer. I’ve found the forums to be pretty responsive and most questions I had I was able to find an answer through Google or the forums. The biggest thing about Concrete5 is that I can use the base core and build a site that I can handoff to a client without any additional modules.

How would you compare the core feature set?
Drupal: limited! That’s pretty much it. Drupal has so many modules that make Drupal great, but I won’t even touch a standard install until I’ve put in about a dozen modules. But – once I’ve got those in place – it’s a contender.

Concrete5: Out of the box this thing is ready to go. I think that’s what I like so much – it just works.

Final words:
Drupal is a really great system, but takes some time to really get tweaked to work well. It has a very nice way of editing content, similar to Concrete5, but is still confusing for the end user. It has a lot of features, but you really have to dig in there to enable them, or install them. 
For me – I like using Drupal for highly complex sites that I do not expect my clients to do much with (navigation / adding pages / adding functionality etc.). 
I love Concrete5 for clients. There’s no question in my mind that my clients will feel more comfortable in Concrete5 vs. Drupal backend.

I haven’t had a chance to really see Concrete5 in a large “enterprise” environment, but from the OOP MVC code – and the minimal SQL queries per page (compared to Drupal’s), I envision it working very well.

Overall, if I wasn’t locked into Drupal, I would definitely put Concrete5 in my top three list of CMS offerings to my client.

News