First Look: Concrete 5 CMS
When I was doing work for my recent CMS Smackdown article on Drupal, Joomla and Wordpress, I uncovered, quite by accident, a new CMS that has recently arrived on the Open Source scene. Dubbed concrete 5 by its creators, it claims to be a Content Management System (CMS) “made for Marketing but strong enough for Geeks!”
The truth is, many CMSs lay claim to the fact that they are the easiest to navigate, the easiest to use, and that you can get a fully-functional and complex web site up and running quickly and painlessly. As I hoped to express in my CMS smackdown, this is not necessarily the case, even for something that is as straightforward as WordPress. Building your site on a CMS requires time and there is a learning curve no matter which option you select for your site.
So I tasked myself with installing and configuring a basic Concrete 5 site, just to get a feel for the experience that it provides over its competitors.
Step 1: Installation
Many, many, many hosting companies offer the ability for you to easily install any number of open source content management systems via a control panel system, forgoing the need to use what might be slightly more complex installation scripts offered by the products themselves. Really, by offering this simplified installation process, the hosting company is blessing the software and indicating, if tacitly, that they’ll support you during the installation process.
Concrete 5 is at a slight disadvantage here; because it’s still a relatively new offering in the CMS arena, not many hosting companies “support” its installation and have therefore not written an installation script. That said, the manual process of installing the software isn’t that bad, provided you know your way around a web server a little bit. Primarily, you’re going to need the following setup/information:
- You’ll need to know how to check if your installation directory is modifiable by the web server on which you’re going to host the site.
- FTP information for your server so you can load up the Concrete 5 files to the appropriate location.
- You will either need to create or get access to a MySQL database that is set up specifically for your project.
- You will need to be able to update permissions in your directory if possible.
Most hosting companies allow you to do all of what I mentioned above, it’s just a matter of figuring out how to do it. If you’re not technical at all, you’ll need the help of a consultant, but overall the installation process should take a seasoned developer an hour or less.
Step 2: Configuration
After the installation has been completed, you’ll find that the script has installed a basic web site template at the location you’ve chosen. The template provides a few example pages, with additional pages demonstrating the concept of “blocks.” Blocks are small bits of code that are selected and help build your page look and functionality quickly.
The page isn’t editable at all when you first get there, and it’s not completely obvious how you can edit the page. Down in the footer, however, is a small link telling you to “Sign In to Edit this Site.” Clicking it brings you to the Concrete sign-in page. Use the User ID and Password that you used when you first installed the package, and Concrete will take you to your dashboard.
The Concrete 5 back-end is a very clean, very straightforward interface, with categories for each component laid out in a manner that’s easy for the layman to conceptualize. As long as you’re familiar with the basics of working with a computer, you probably are capable of quickly coming up to speed as to how you can navigate the back-end. The back-end is divided into 9 primary areas:
- Sitemap: This gives you an overview of the pages you currently have on your site.
- File Manager: from here you can add or remove files that are accessible from your site or displayed as an image, movie or some other asset on your site.
- Reports: Data and logs concerning the people visiting your site and activity you may need to be aware of as a site administrator.
- Users and Groups: A user and group manager, allowing you to grant different levels of access to your site. In theory, different people could access and edit different areas of your site using this setup.
- Scrapbook: The menu item says that this feature allows you to share content across your site, though it’s not entirely obvious exactly how the scrapbook works. Certainly something I’ll need to research.
- Pages and Themes: Allows you to select different themes for your site, either installed locally or installed on the concrete 5 web servers.
- Add Functionality: Allows you to research and install new features for your site that aren’t part of the base install.
- Maintenance: Site cleanup scripts that you can run to improve performance on the site.
- Sitewide Settings: If you want to restrict access, setup debugging, or activate any number of other features, you can do so here.
As I navigated through the different options, I liked the look and feel of the setup, though it almost seemed too spartan. I am probably going to need to do a lot more research to be able to leverage this site to its fullest, which is not something that a non-technical person is going to want to hear. That said, a developer may appreciate the clean and spartan look of the back-end, given the notion that Concrete 5 provides extendability to rival the Joomla! and Drupal installations of the world.
Step 3: Build
Once your site is configured (which really is the hardest part), Concrete really shines in its content management capabilities. Edit mode is set up with a control bar that extends across the top of the web page to be edited, and all your options appear up there. Most are pretty straightforward, and their title describes exactly what they do:
- Exit Edit Mode: Put the page back in a “view” mode so you can see the live version of the page.
- Properties: From here you can change a page name, give it a new location in the structure of your site, or give the page some custom meta tags for search engine optimization.
- Design: From here you can choose a different layout for your specific page based on what’s available for the theme you’ve chosen, or you can even change the theme itself. The theme is only applied to the page you select, so you could theoretically have multiple themes, or looks, for your site. This is great if your company has 2 distinct products you’d like to promote from the same site, or two services for different types of customers.
- Permissions: Indicate the types of users that can view and/or edit the page.
- Versions: Another great feature, Concrete’s versioning information allows you to revert back to previous versions of a page if a change you’ve made needs to be removed. You can even compare differences of two revisions if your site is configured correctly.
- Move/Delete: Move or delete a page from this menu.
- Dashboard: Takes you to your access of the back-end for sitewide changes.
- Help: Gives access to Concrete’s help system. There are also several videos online which can help users to navigate the system and get used to how it works.
- Sign Out: Takes you out of edit mode and back to the live site.
I played around with editing pages for a while, and most of the features were very easy to conceptualize and would likely require minimal training for the non-technical user. They are essentially editing the blocks of the pages they wish to edit, and the system, through both main menu options I described above and contextual menus that appear as you click on text blocks, give the casual user the guidance they need in order to update their pages. I would feel pretty comfortable giving one of my customers access to edit pages based on this platform.
The Story So Far
So far, I do like Concrete as a CMS, and I think if I spend a little more time with it I could end up using it for projects in the future. I think the learning curve for my customers would be much lower than even a WordPress site, and the capabilities for changing content, I feel, rival even seasoned applications like Joomla!.
That said, I do think there are still a few things that need to be worked out. Here’s a list of just a few of the issues I encountered:
- I tested my site on a Mac using Safari and on Firefox, and in both instances I would occasionally lose the navigation bar when I was editing content. The behavior may have been part of the functionality and I’m just not yet aware as to the reason, but a non-technical user would regardless see this as a problem.
- Another issue I had was that my site map suddenly stopped working in the back-end because “the connection was refused.” If that was the case, why was I able to access all other areas of the site? It didn’t make sense. Eventually this fixed itself, but again, not good from a support perspective.
- Theme previews didn’t always work. This may be due to the fact that I was running Safari when I first tested the preview feature out (it later worked in Firefox), but still, something to be aware of.
- To make “Pretty URLs” basically means to make the URLs for your web site a little more search engine friendly. Concrete gives you the ability to access this feature in their sitewide settings, but rather than editing the appropriate files on your server to set this up, it gives you the code you need and asks you to put it in your configuration files.
In spite of my issues, Concrete 5 is definitely something I’m going to watch. It’s still in its youth in the open source market, though it’s got underpinnings as a private corporate solution which give it an advantage over something written from scratch. Who knows? For your next project, it might just be the perfect blend of power and simplicity.
If you enjoyed this post, please consider leaving a comment or subscribing to the feed and get future articles delivered to your feed reader.


I am definitely going to have to take, I always like the idea of a new cms out there.