Why do I need a content management system (CMS)
If you’re creating an online game or an application whose main function is to perform some task like edit images or provide a real-time chat experience, you probably don’t need a CMS. In these cases the data you store is a side effect of users interacting with the application, so an API that accepts CRUD requests for data might suffice. The application itself can take full control of creating, updating, and deleting data as needed.
However, if your product is content, written, edited, and moderated by humans, then you’ll need to provide an interface for them to perform that work. For some of the more basic use cases you can likely get by with flat files in a Git repository, and use the web editor on GitHub or similar to allow users to edit content. But this starts to break down when your project requires:
- Complex editorial workflows
- Categorizing, highlighting, and promoting content
- Media asset management
- Managing the relationships between content and media assets
- Fine-grained permission control
- And more
A CMS like Drupal provides a web-based interface for managing your content and editorial needs. It also allows you to customize both the interface used for creating content and the underlying data model for that content, to fit your specific use case.
Think of this as a user interface on top of the database that stores your content that you don’t need to code yourself. It exposes not only the data but also the processes used to create it.
Drupal is an API-first CMS
In addition to all the features listed above that you might expect from a CMS, Drupal can also provide a powerful web services API that can be used to retrieve and manage content, as well as perform all of the other actions that a CMS is expected to be able to do.
Since the release of Drupal 8 in 2015, the community has been heavily focused on improving the API features of Drupal and ensuring that all of the system’s features are available via the APIs it provides. Those might be managing users, configuring the application itself, or creating, updating, and listing content.
Combining a CMS with a full-featured API gives editorial teams a singular workflow, and interface, to produce content once, in an environment tailored to their needs, that then gets distributed efficiently to a variety of devices and online experiences. Using a COPE approach (Create once, publish everywhere) allows web (React) and mobile applications (React Native), desktop clients, and business partners, to all access your content.
Traditionally, Drupal is used to both manage content and present it. Your entire website sort of exists inside of Drupal. Decoupled drupal – or “headless Drupal” – is when Drupal is used strictly as a content backend without the inclusion of a presentation layer.
There’s no public-facing part of the installation, only the content, the administrative UI, and a web services API for accessing it. If you’re looking to use Drupal as the backend for your React application then this is what you’re looking for.
Drupal 9 and on is going into the headless CMS world.
I copied only the main idea of the article but if you have the time review the full article and it will pure some light on the direction of drupal. headless will become more and more required and familiar
Call me today to get your drupal site well supported