Flat File Content Management Systems : A- / B+

Posted by Chris Wellens /

Websites are a bit like fashion; what you wear says a lot about you as a person, and what your website looks like says a lot about your company. You don't want your clothes to make you look out of date, and you don't want your company to look out of date, either. So when it was time for IWL to update its website look, information flow, and content, we realized that we needed to revisit our CMS decision, as well.

Modern websites use Content Management Systems (CMS) to support the management and content of web pages in a structured and organized manner. We reviewed and ultimately used a new "bleeding edge" type of CMS: a Flat File CMS.

Our Requirements

Back in 2005, the newest CMS technology (Joomla CMS, WordPress, Drupal, and more) used MySQL to store website data. But MySQL had two major drawbacks, not well understood at the time:

  1. These websites were continuously subjected to SQL injection attacks by hackers, with the potential to rewrite and corrupt the site.
  2. Setting up and configuring MySQL, as well as to backing up and restoring the MySQL database required the skills of an IT professional.

Unfortunately, many non-technical users believed they could simply copy and paste their website content to a storage system, then, learned to their horror, that the data was non-recoverable.

In addition to the MySQL challenges, Joomla also suffered from a queer, byzantine file / folder / menu / module system. An article (a web page) had to be assigned to a menu and this had to be done in a special way to get a search engine friendly URL. IWL had a folder containing about 100 tips, cheats, workarounds, etc. for doing this correctly (as well as other functions); non-engineers faced a major challenge adding content to Joomla.

For a new CMS and ultimately a new website, we wanted a CMS that would be:

  • Easy to install, setup, backup and recover. Ideally something that non-technical staff could do.
  • Provide fast response time to user inquiries from all over the world. (We did not want to invest in replicated content and load balancers.)
  • Easy for non-technical end users to add new content and edit and maintain other content.

Our Solution: A Flat File CMS

Here are the key benefits of a flat-file CMS as summarized by Kaya Ismail:

Quick Deployment: installation can be done with an FTP client alone.

Site Speed: thanks to the absence of database queries, sites load a lot faster.

Lightweight: flat-file CMS platforms are typically very small in size.

Mobile: because they’re so small in size and because they have no databases, moving flat-file projects from server to server is a breeze.

Some of the open source flat file possibilities include:

Grav, Bolt, Monstra, Pico, Automad, Kirby, razorCMS, Yellow, Statamic, WonderCMS, NibbleBlog, PulseCMS, FileCMS, Typesetter, Ghost, and, there are many many more!

IWL experimented with some systems, and ultimately selected Grav, for non-technical reasons. RocketTheme, a leading provider of themes and templates for open source CMs platforms, offers themes for Grav, but not the others. This means more development will go towards Grav enhancements, extensions, bug fixes, new features, and so on.

How is Grav?

We have found all the claims to be true:
  • It is fast.
  • It is very easy to install and set up.
  • It is very easy to back up and very easy to restore.
  • The non-tech staff love it, especially compared to Joomla.
We have found some additional benefits:
  • Grav contains Markdown (a simplified html) and that really saves time.
  • Grav scales very well to different devices for "responsive" performance.
  • Non-tech staff can do more than edit, they create and add modular pages with ease.
Some areas requiring improvement:

Grav does not handle pdfs very well.

  • For example, our previous URL for comparing the different versions of SilverCreek was:


but now it is:


which is a long, ugly, and hard to remember pdf!

  • Anything you put in the right hand corner of the pdf turns into the meta data description / key words for the document. Some of our pdfs have our address there, thus a Google search returns "230 Mount Hermon Road" as a description of the document. That's a problem.

  • The search function in Grav does not work with pdfs!

Grav Documentation is thin and lacks the right kind of examples.

  • For example, a page in Grav, has three attributes with two states:

Routable, Visible, Published
Non-routable, Non-visible, Non-Published

and various combinations of the attributes. But what does it all mean? Routable cannot mean capable of carrying IP packets, as in the sense of a router, so what is the context? And how can a page be published, but not visible, or the other way around, visible, but not published?

The Future of Grav

Grav is off to a good start. It is time for a Grav User Conference. It is time for the "Grav for Dummies" book or possibly an O'Reilly book with an animal sketch on the cover. Rockettheme has to do some themes for businesses and not just photographers. Grav is on the way and a great replacement for all the CMSes from 2005.

Do you have comments on this blog post?

Contact Us

Previous Post Next Post