While Drupal and Joomla are the leading open-source CMS systems in terms of adoption by developers (not counting WordPress, which is aimed more at blogs), both still have room for improvement (and are indeed improving rapidly).
In a nutshell, Joomla comes pre-installed with most everything you would expect to have on a site, and with a few extra addons you’re good to go. The Joomla 1.5 MVC architecture is powerful and the template coding is a clean and straightforward implementation of views in an MVC structure. On the other hand, Drupal is a framework that can be a blog, corporate site, social community, you name it. Out of the box it is not going to do very much for you; it requires customization, adding modules, etc. It offers much more fine-grained control over user permissions, event triggers, customizable views of content presentation (the “Views” module together with CCK), and .. dare I say it … an awful theming system. Consider it the price to pay for getting to use what is certainly a very powerful system.
In terms of interface usability (for the regular user, not us web developers), Drupal and Joomla both can be quite easy to use, but not out of the box. Drupal takes a bit more work to get user-friendly. Especially input formats need attention. The FCK editor with IMCE for file uploads is great, and the Wysiwyg module is probably the next big thing in Drupal editors – very nicely done.
WordPress beats both Joomla and Drupal in usability, hands-down, but customizing WordPress to make it function like a CMS is not as simple as one would like. It’s not WordPress’s fault: it’s a blogging platform.
OK, and now the reason for this post. Concrete5.
Concrete5 is yet another CMS built on PHP/MySQL, and claims to beat Joomla and Drupal, both in terms of usability and superior code. A big claim, for sure. We tried it out on the Plethora Design development server and LOVED the ease of use when editing pages and customizing the look and feel of things. Joomla has some extensions that allow in-line editing, but not in-line template modification like this, except in very early alpha stages. Drupal is working on similar things but this is all still in alpha and beta, and months if not years way from being in core. So, one point for Conrete5.
Since it claims to be so easy to use, I tried to put myself in the shoes of one of our clients. I gave myself 10 minutes to figure it out, with using any tutorials or documentation, because if it is easy to use, tutorials and documentation should not be needed. So here’s what I did. I said to myself:
“I want to add a page. Oh, look, there’s an Add Page button”. Great.
“I need to edit this page. Aaah, an Edit Page button.” Cool.
What is especially wonderful is the ability to drag and drop page elements on the fly, and there is a nice context menu available when you click on an editable item.
Note that frontend editing is possible with both Joomla and Drupal but Concrete5 presents it in a (much) slicker way.
A very nice feature is the ability to edit the built-in image gallery.
Well, that covered most of the needs a small “brochure” site might need.
“I need to add a contact form and also an application form with file uploads.”
I was not able to find a way to add a form. I know in Concrete5 forms are called “widgets” and you can also use external forms. Why is there no simple “Add Form” button like there is an “Add Page” button? I could find no way of doing this, even though the default installation (with sample data) does have an About page with a form embedded in it, and there is a Forms core block installed by default. I also know that file uploads are supported on forms. That’s all well and good, but now I want to add one, and I can’t. I spent about 10 minutes looking into this, checking their forum and documentation, and was none the wiser. I’m sure the answer is simple, but it should be obvious, especially for a CMS claiming such superiority. I may give it a whirl again at some other time, because it does look very well-suited to small sites … not for anything beyond that in my opinion (although I do realize it has a solid API and a dedicated developer community, so I could be taking this back in the future!).
See Tony’s comment below and this screencast on how to add a form in Concrete5. More videos for end users here.
Adding forms *is* very easy. The “Add to Main” link is not visible enough, but once you know where to look it’s not a problem. I think there ought to be an “add to main” icon floating to the left or right of the main content area, so one doesn’t need to scroll all the way down the page to find it. But the form editing here certainly blows Joomla and Drupal out of the water with its ease of use.
In terms of ease of use it is in the same league as hosted site builders such as Google Sites and Yahoo SiteBuilder (and that is not an insult!!), but with more control, and the ability for developers to extend the functionality. It’s as easy to use as WordPress, with the added bonus of being able to adjust the look and feel on the fly too. Overall it looks like a great CMS and is worth trying out. Why haven’t Joomla and Drupal added this kind of easy editing, after their many years and thousands of dedicated developers? It’s a bit baffling.