The Daunting World of CMSs

As mentioned in my previous, opening blog post my journey in web design properly started to get going when my girlfriend said she wanted a new website with which she could have more control over. At the time her website was being hosted and run by a company which specialises in hosting sites for creative professionals. This was all well and good, but like many blogging and creative based hosting platforms, it required the use of a template created by a specific templating language - in this case Handlebars, a JS based templating language.

To be truthful, looking back at it now I could have probably looked into using Handlebars and the templating language they use for this particular host, but at the time it seemed all rather daunting. Little did I know what I was in for...

Anyhow, some time went by and I started mocking up a basic site for her in static HTML and CSS and then it occurred to me - how is she going to be able to update any of this herself without having some long, drawn out lessons in HTML. This led me to doing a lot of researching as to how this is managed in the real world and the same acronym kept popping up; CMS (Content Management System). So I was like, cool this sounds like just what I need! So where/ how do I get one? I of course then realised that Wordpress is a CMS albeit with a lot of unnecessary clutter which would not be required in my use case - at the time it all seemed like I was up a bad-smelling creek without a paddle and felt like I was in way over my head. All I wanted was a light, easy to use and implement CMS... How hard could one be to find?

I persevered though and kept trawling through thread after thread on stack exchange and other such sites with this new acronym being thrown into google with inhibition - "Best CMS 2016", "Easiest to use CMS" and other such strings of words were the resultant queries coming from the clackity clack of my keyboard. These queries eventually unfurled another key phrase in my search for the crystal skull of the CMS world, "flat file". These two seemingly small words were vital. While most big names in the CMS world (Drupal, Joomla and Wordpress) utilise some form of database (MySQL etc.) to manage content of a website or webapp; a "flat file" CMS stores data in a plain text file and usually also relies upon the folder structure of a given website to manage a website's content. I do realise databases have their place, but for what I needed they just seemed unnecessary, even if you put aside their apparent security risks.

Armed with this golden nugget of knowledge, my search became rather more fruitful. Systems such as jekyll and pico came up, and whilst both of these are great I'm sure, they both looked like they required the user to update their site using text files and Markdown. This is great and quick if you are technically minded, my girlfriend isn't. I was trying to find a way for her to update the site I created as painlessly and easily as possible. After searching some more, utilising key words such as admin panel etc. I found what seemed to be a great candidate, Grav. Whilst initially this looked like a great, open-source CMS I would settle on there were a few things that made me cautious to adopt it. Mainly the requirement of the use of a template language (in this case Twig), which is something I was trying to initially avoid from the very beginning - it also seemed like that a lot of unnecessary plugins/ bloat was making its way into the system. Then I found it... Kirby, Kirby ticked every box:

  1. -Easy to use.
  2. -Front facing admin panel.
  3. -No templating language required.
  4. -No database.
  5. -Installable plugins, only if you want them.
  6. -A great community.

Best of all it is easy to implement and offers so much flexibility that in my use, I have barely scratched the surface with what can be done with it. You will need to get to know some PHP to use it, however that seemed like a common thread throughout all CMSs that I looked over. Another good thing about Kirby is the fact that it is free to try on a local development basis and if you decide you like it and use it the pricing is very reasonable, so I tried it out and after a few hours of playing around with it I knew my search was over. It also went over very well with my Girlfriend after she tried it out - it was settled, Kirby was all I was looking for and more! In a future blog post I will be explaining exactly what I love in particular about Kirby :).

Of course, your mileage may vary and what works for me may not be ideal for you - so try out and investigate the options yourself, there are so many out there!

Even though the documentation on the Kirby site is very thorough, I will be showing some basic hints and tips in using Kirby every once in awhile on this blog so keep your eyes peeled!


If you want to get updated with the latest blog entries directly to your inbox, put your e-mail address in the form below!