How a Headless CMS can help you with internal organization

Bruno Mengaldo
birdie.ai
Published in
5 min readFeb 24, 2021

Have you ever had a hard time administering your site? Needed more flexibility to your content? If so, we have an elegant and efficient solution.

It’s called CMS and it meant to help you easily handle your data.

What is CMS?

CMS stands for Content Management System. It’s a system that allows creating, organize, publish and erase your site’s content.

In a traditional CMS, the user builds its data with tools, such as HTML editor, and saves it with the back-end in your database. Then, the CMS shows the information based on the previously constructed front-end.

Traditional CMS Schematic

WordPress is a traditional CMS example.

A headless CMS also stores and manages the user data, but it differs seeing as it’s front-end agnostic. This means that all development is based on API usage and, that way, allows for the content to be published in any framework.

Headless CMS Schematic

In this article we’ll go deeper into this CMS model, its types and applications.

CMS options

It’s possible to find a wide variety of systems designed to register data and create API for consumption. Below, we’ll list the main ones found in the market today.

Strapi Logo
strapi.io

“Strapi is the leading open-source headless CMS. It’s 100% Javascript, fully customizable and developer-first.” — Strapi Home Page

  • Custom Content Structure;
  • Easy Content Management;
  • Developer-Friendly API;
  • Roles & Permissions;
  • Plugin system;
  • Customization.
Sanity Logo
sanity.io

“Sanity is the first content platform to empower teams of all sizes with real-time collaboration, advanced version control and more.” — Sanity Home Page

  • Efficient editing, instant UI for complex fields;
  • Responsive, works on small screens;
  • Plug-in architecture and custom input components;
  • Style with your own branding;
  • Advanced block editor for structured content;
  • Use JavaScript to add field validations, organize documents, and set initial values.
getcockpit.com

“Cockpit is awesome if you need a flexible content structure but don’t want to be limited in how to use the content. Cockpit is a perfect match if you want to support multiple devices or need a content management UI for static site builders. Build unique applications and let Cockpit feed them with content.” — Cockpit Home Page

  • Manage flexible content models;
  • Uncluttered UI;
  • One system, consume it the way you want. Receive your content via a simple API.
directus.io

“Directus wraps your new or existing SQL database with a realtime GraphQL+REST API for developers, and an intuitive admin app for non-technical users.” — Directus Home Page

  • Pure — There is no predefined model or proprietary rules for your schema, and all system settings are stored separately;
  • Open — Our entire codebase is public and transparent, allowing for end-to-end audits. Nothing is obfuscated or black-boxed;
  • Portable — Data is stored in your bespoke database and can be migrated/exported/backed-up at any time. Absolutely no vendor lock-in;
  • Limitless — Create unlimited users, roles, languages, collections, and items. No arbitrary restrictions or paywall limitations;
  • Extensible — Every aspect of the platform is modular, allowing you to adapt, customize, and infinitely extend the Core engine;
  • Unopinionated — Choose your stack (node or PHP), database (all SQL vendors), API (REST or GraphQL), and infra (self-hosted or Cloud).

Why we chose to use Directus

At the moment, we use directus.io. It works both with relational and non-relational databases. You can use MySQL or MongoDB, it’s up to you and the installation is pretty simple.

Directus is written in Javascript (Node.js and Vue.js) and possesses a dynamic API endpoint for development and an intuitive application for non-technical users.

When choosing the CMS, we’ve looked for an open-source one. Besides this, we’ve picked Directus for two main reasons:

  • Active community, which means it’s very much used and supported. It has a lot of contributors, ensuring fast problem solving and frequent maintenance;
  • Among the options, it was one of the most stable.

How we use CMS

Thanks to its flexibility, Directus can be used in the most diverse problems and scenarios.

We use it, mainly, to:

  • Handle blacklists: depending on the company moment, it’s interesting to block the view of certain brands and retailers. By utilizing it, we guarantee speed and ease in our filters;
  • Collecting feedback: all user report is saved in the CMS and evaluated by our team. After published, the feedback is corrected and used for bettering assertiveness;
  • Consumption of feedbacks via API by Lambdas AWS, which makes this data available for AI training. Applying the corrections suggested in the data provided in our dashboard.

Conclusion

With a CMS tool, it’s easy to handle your metadata and application data, control your users and access, consume data through an API, customize screens to meet your business rules, etc.

There are innumerous advantages. Centering the data in a single environment is by far one of the biggest pros. But, like everything, it has its negative points.

So it’s crucial to keep in mind that it’s another system attached to your architecture and may demand adjustments and new implementations. That’s why it’s so important to study the available CMS options and find the one that fits your needs the most.

After choosing the most adequate system for your project and configuring it, the speed to implement new manageable datasets is incredibly high and removes the need for a technical developer.

Written by Bruno Mengaldo & Moisés Dourado — Feb 24, 2021

--

--