Hacking at CMSes to rapidly evaluate the most suitable tool
Our Head of Technology, Marcus Nyeholt, talks about a team hackday we held as a fun and effective way to evaluate a whole raft of CMS options to see what had changed and what was new.
We’ve always loved the open source ethos
We’ve loved using Silverstripe CMS for many years in our work at Symbiote. It strikes the right balance between being feature-rich, like MySource Matrix and Drupal, but it’s more nimble and developer-friendly than either of those.
That being said, we always keep an eye on whatever else is out there, in terms of CMSes.
A recent project (read the Circular Open Case study) gave us the opportunity to find a nice light-weight new CMS. So, rather than having one person sit through tens of “Getting started” Medium posts (the reading time suggestion never takes into account downloading docker images!), we decided that we’d get our dev team to spend a whole day cranking into different CMSes. This was a far more enjoyable way of getting a bunch of completely different perspectives.
A few definitions before we get started
A Content Management System (CMS) is the piece of software that provides simple ways for people to write text, upload images, and link to videos (just a few small examples!) and make web pages – without them needing to know anything about web design or coding.
A hackday is a day in which people start from scratch on an idea or concept, and “hack” together something that meets a loosely defined brief.
So for us, this was a hackday to learn a new CMS.
Criteria we considered when evaluating CMSes
A simple site running on your local environment that demonstrates the following capabilities:
Deployable in our existing stack, which implies PHP or Node as solutions
Provides persisted data, preferably in a RDBMS backend but not required
Can be used with Docker for running a local development environment
Group-based user login, with ability to restrict which pages someone can edit
Different page types that have different editing inputs for different field types
File upload, in particular images
Ability to create a simple “Event” type that has a date, time, location associated with it
Ability to create a listing view of events
Supports embedding of content, eg YouTube videos
Can support custom themes – bonus points for using the CSS of the Symbiote Design System
GA integration
Social media integration.
Evaluation criteria needed to cover:
Ease of use for content authors: is it simple enough for people to find and edit a page?
aesthetics
finding pages to author
editor performance: ie creating content, creating links, attaching images
Are there accessibility plugins?
Number of steps for getting started for a developer
Off-the-shelf modules
How configuration is managed.
CMSes we reviewed
The team reviewed:
Ghost CMS: Popular with the team, maybe because it touts itself as a NodeJS wordpress alternative! Slick UI, looks to be easy to build upon, perhaps a little _too_ bloglike.
TwillCMS: Built on top of Laravel, this is more of a toolkit for managing content in an existing Laravel site than a standalone CMS. If that’s your use-case, it’s absolutely worth checking out.
PyroCMS: If managing page types, fields, and render templates directly from a CMS is your thing, PyroCMS could be for you. Not as overwhelming as Drupal, and looked to be a nicer transition from Silverstripe. This was a fun CMS to play within.
Drupal: Powerful, lots of modules, but a lot to take in to get going with if it’s not your thing. Having tried various iterations of Drupal since v5 (and migrating a _lot_ of Drupal 5 content), I have to say it’s a _much_ nicer development experience in v8 than previous versions, so worth keeping in mind – particularly if you’re building a VicGov website!
October CMS: Another in the lots-of-complexity-in-the-cms space. If writing HTML via the CMS is your thing, this may be for you, but it can quickly be overwhelming if you’re wanting something simple for authors to pick up.
KeystoneJS: Another NodeJS CMS, the development process for this looked very familiar coming from a Silverstripe background, but it didn’t quite have much in the way of typical CMS functionality. If you’re wanting a rapid application development stack where you’re bringing your own frontend layer and just need a content API, this may be useful.
We all love learning and sharing
Our hackday included a couple of prescribed check-ins during the day and then, at the end of the day, we heard from each team member about how the systems they looked at matched our needs.
What did we learn about CMEes and about using a hackday?
I personally found Keystone to be really interesting. Having worked with SailsJS in the past, I liked this as an alternative to a headless CMS. I think GhostCMS is also a pretty compelling piece of software if it fits your use-case, and given Drupal’s position within the industry, it’s nice to see it with a modern framework under the covers.
Given that we were after something light-weight enough to upskill quickly, though, we settled on using PyroCMS for putting together the Circular Open site. Using PyroCMS we had the site up and running to the satisfaction of our clients within just a few weeks thanks to some great efforts by our team.
The hackday group approach not only fast-tracked our shared knowledge about all the current open-source CMS options, it was also a great way for all of our team members to have fun together and share their insights.