We’ve been on the search for a new CMS. For a long, long time, when a project required one, Drupal has been our go-to. But Drupal can be a bazooka when what we need is a laser.
Fortunately for us, over the past couple years, new CMSs have emerged. Lightweight. Flexible. And most importantly, mindful of developers that actually like to write code, not point and click. Theming pages in Drupal has never been much fun, and at times, very frustrating. It makes customizations more work than it needs to be (ever notice how easy it is to spot a Drupal site? It’s because they’re a pain to make it look like something different.) Now, Drupal has been good to us and has a spot in our arsenal, but we need some new tools and I’m on a mission to find them.
The Control & Requirements
I need a baseline to evaluate what the CMS could do, so I’ll be rebuilding the same site in each. It’s a small realtor site that has a few different content types, custom pages, a contact form, and common displays for the content. Admin users need to be able to login and edit content, of course, but I have some specific itches I am looking to scratch:
Configuration: At the end of the day, we love coding. We love to code. And clicking around a control panel isn’t coding. Keeping databases in sync and having to replay admin changes on the live server isn’t coding either. Most of our projects have three environments (local, staging & production), so keeping those in sync can get out of hand quickly. I want to find a solution that allows us to define the site in code.
Single Pages: Every project has a handful of pages that don’t fit within a content-type definition. We could hand the client a form with a WYSIWYG, but then we’d have no control over the display of that content and it isn’t very easy-to-use for the client. WYSIWYG’s are prone to writing messy markup and the chance of them breaking the page is higher than we like. I am looking for one-off pages that we can add fields to as needed and aren’t a pain to implement.
Front-end: This is a big one for us. Many times we’re fighting
against system generated markup, styles and scripts. I don’t want my
title wrapped in a
<div> inside a
<span> inside a
<div>. A simple
<h3> will do, and I don’t need you to do it for me. I want a system
that gets out of our way and let’s us control the front-end markup.
These are the requirements I’ll be basing my opinion on. Any other niceties that the CMS offers will just be icing on the cake.
LocomotiveCMS asks, “What if you loved developing for your CMS as much as your clients loved using it?” I think I would like that very much. It’s built with Ruby on Rails. We love Ruby, so this seems like a natural fit.
Statamic is a flat-file CMS, which means no database and potentially means we won’t have to replay changes across environments. This one sounds promising.
I’ve been hearing some buzz about Craft so I’ve got to see what all that noise is about. The live preview feature and matrix field look like something we could really take advantage of.
Each week, I’ll be posting an article detailing what I find out and how these CMS’s stack up against my requirements.
Do you have a CMS you’d like to see in the list above? Leave a note in the comments.