Review of Concrete5 CMS vs. Joomla / Drupal / WordPress
While Joomla and Drupal are the leading open-source CMS systems in terms of adoption by developers, 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 powgerful 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.
Last item;
“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!).
Update:
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.
Conclusions
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.
Karole Armitage interviewed by the BBC
Karole Armitage, one of our customers, was just interviewed by BBC America; http://bit.ly/acjzSK.
Recovering super-admin access to Joomla
If for some reason you can’t figure out the superadmin login or password, use phpMyAdmin and go into the jos_users table of your database.
Locate the superadmin user account. It will have a gid (group ID) of 25.
By default its username is admin, but the username may have been (should have been!) changed. It’s a good idea to change it, for security reasons. The “admin” username is the first one hackers will try.
Now, let’s change the password using phpMyAdmin. Edit the user using phpMyAdmin and find the password field. That is MD5-encrypted so we need to think of a new pw and MD5-encrypt it. It should look something like this example:
7da8c7fed439183092er69334b54fe01:UIBWsiwIlkk2wkHCUmC1XxD1tAd1uQgK
You need to generate a new MD5-encrypted password. Do that here:
.. or Google ‘md5 encrypt’ for other similar sites.
Just enter what you want the password to be, and it will tell you the MD5 code for it. Copy that code and put that into the password field in phpMyAdmin. Save.
See if you can log into Joomla and get the full features now using the username you just edited over in phpMyAdmin.
Note that Joomla’s passwords are MD5-encrypted *and* salted, meaning that they have a colon and then a second MD5 string after that. But using an externally generated MD5 string and pasting that in will work, at least for Joomla 1.5.15.
Detect Joomla section ID when viewing an article
Sometimes when you’re coding a Joomla 1.5 template you may want to be know which section an article is in. For example, let’s say you have designed custom navigation buttons (not using any Joomla module, just your own graphics). If you have a button called “About Us”, you’d want it to stay activated when viewing any page in the About Us part of the site. To do this, create a section called About Us, create a category within that, and put all About pages in there. Now you can reliably detect your articles’ section IDs as a way of keeping your button activated on the correct pages.
Add this in your template PHP code;
Now you can use if statements like this;
if($sectionid == ’4′){
echo “this article is in section 4!”;
}
You can use this for customized navigation, for example, keeping certain buttons highlighted when you’re viewing articles within a certain section. It can be used to display a module only if you’re in a certain section, but it’s useful for more than just modules. Enjoy.
