DEV Community

Cover image for What is a Git-based CMS?
David Large for CloudCannon

Posted on • Originally published at cloudcannon.com

What is a Git-based CMS?

By Mike Neumegen

Git is one of the most popular collaboration platforms in the world. It’s a piece of software that has transformed how we build software together. Before Git, open-source software was built by a small community of renegade hackers. After Git (and GitHub), we have millions of developers seamlessly collaborating on some of the most influential and important software projects.

If Git is such a powerful, game-changing tool, why is it only used by developers? What other industries and workflows could be transformed with this technology? This is precisely the problem Git-based CMSs are addressing. They bring the power and workflows that Git enables to an entirely new non-technical audience.

In this article, we’ll see how a Git-based CMS stacks up against other CMS approaches.

Swiss army knife

The Traditional CMS

Think WordPress or Drupal for a traditional CMS. This is your Swiss army knife for websites. They include scissors that don’t work very well, a serviceable knife, a nail file, a corkscrew, and that weird tooth-pick thing. A Swiss army knife can get you out of many sticky situations.

A traditional CMS takes care of almost the entire stack from interfaces to manage content, templating, to rendering a web page on request, and much more through their ecosystem of plugins.

This is the most common approach, due to its flexibility. You know you can always bolt on new functionality as your needs and requirements change and everything can live under the one ecosystem.

The problem with the Swiss army knife is, while it can do many different things, it’s not particularly good at any individual task. Trying to cut bread with a Swiss army knife will look like your 2-year-old attempted to make a sandwich, and it’s the same with a traditional CMS. Yes, a non-developer can set up WordPress by themselves, a developer can heavily customize it, it can be an e-commerce platform, e-learning platform, communication platform, CRM, whatever you’d like really. It’s a great approach if you need something extensible, but if all you’re trying to do is slice bread? Just use a bread knife.

A knife being sharpened

The API-based CMS

Contentful and Sanity are popular API-based CMSs. These are your build-your-own-knife kits. The kit includes the raw materials, instructions, and tools that you can use to build a knife fit for your needs. Need a bread/chef’s knife combo? You can make that.

An API-based CMS is “Headless,” meaning it removes the rendering portion of a traditional CMS and replaces it with an API. Developers set up their content model in the CMS, which involves planning the categories of content and the content fields that make up each category. Editors then use these content models to build content. Developers use the API to pull in content on-demand in a dynamic use-case or on-build for a static use-case.

Frontend technology typically moves much faster than backend technology. By unbundling the frontend and backend, the frontend is developed entirely independently without the burden of the backend. An additional benefit to disconnecting the frontend is the same backend can be used by multiple frontends. Your website, mobile app, and billboard could all be powered from the same content backend.

Making knives is fun. Who doesn’t want to make their own knife? The problem is while you can build any sort of knife you’d like, the tools, materials, and instructions are not optimized for any particular knife. The backend intentionally doesn’t know anything about the frontend, so editors manage their content using a series of abstract form fields. The editor needs to use their imagination and build up an understanding of how that form field relates to a particular piece of content of the website.

A boning knife

The Git-based CMS

CloudCannon is a Git-based CMS. These are the boning knives of the kitchen. In the hands of a skilled chef, there’s no better way to remove bone, fat, or skin from meat.

Content-heavy websites are a Git-based CMS’s bread and butter (or meat and bone). Instead of storing content in a database and accessing it through an API, with a Git-based CMS, you store your content in text-based files, typically HTML, Markdown, CSV, and YAML. The Git-based CMS stays in sync with your Git repository and provides an intuitive GUI for managing the content in these files without needing any Git or web development knowledge. With Git at the core of the workflow, developers and content editors can collaborate closely using the same workflows.

With a Git-based CMS, you own your content — it’s in your repository, and you have the complete history of all the changes. There’s no need for backups, exports, or concern for data lock-in. It’s a layer on top of your Git repository that can be switched out at any time.

The added advantage of a Git-based CMS is that it understands how the content fits into your website, as it has all your website files. CloudCannon, for example, will build your site and provide visual editing for your content. Editors don’t need to use their imagination about where content will live on the page: they can edit directly on the website.

Just like the other approaches, Git-based CMSs are not a silver bullet. (Cutting bread with a boning knife wouldn’t be much fun either.) Rather, it’s a powerful and time-saving approach for content-focused websites such as documentation, blogs, corporate websites, and client websites. If you have omnichannel requirements, complex requirements, or need to manage non-web content, it might not be the best tool for your use case.

The future of Git-based CMSs

We’re still in the early stages of seeing what a Git-based CMS is capable of. While they’re already changing how many companies approach their content management needs, they’re poised to completely revolutionize content management.

The possibilities of what a Git-based CMS will do in the future is what drives us at CloudCannon. Imagine Wikipedia-style collaborative editing on any website, but with Squarespace-style editing rather than Wikicode. Review processes that give content editors the same confidence level to publish new content as the Linux foundation releasing a new Linux kernel. Or tight developer-editor collaboration workflows that put everyone on the same page.

All of this is coming, and like CloudCannon, it will be powered by Git. To get ahead of the curve, you can read more about Git workflows for editorsget started with CloudCannon for free, and bring the power of Git to your content workflows today. 

Top comments (0)