
The main advantage of a CMS like Drupal is that it is a content management system that allows you to manage the digital content of an application, site, portal or group of applications without having to code or develop new pages. Everything, from your written content to your graphics, is managed through this system and allows easy management of a digital property, there are various architectural solutions that Drupal can respond to according to the need, either by distribution model content or technical strategy, we want to explore two in particular that are key when determining the ideal architecture for a long-term project.
For many cases, a traditional CMS is a good solution. For others, a decoupled CMS will be the optimal solution. This depends on the particular needs of each case and these are some criteria to take into account:
Traditional CMS
Over the last decade, the focus of websites has been the union of CMS, UI and UX. Having the CMS as an integral part of the site design has facilitated updating content without the overhead we used to have with previous technologies such as having to manually update pages through HTML development, moving content and files with FTP, etc.
Drupal as a CMS, is a technological unit that connects the front-end and back-end of a website in an application code base in an organized and easy way. Everything from the database for the content to the presentation layer is contained in this model.
Advantages:
- The entire site is served from a single system.
- Easy to manage all content.
- Front-end design is controlled through themes and templates.
- Lower technical barrier to entry.
Disadvantages:
- Content only for websites (same content cannot be published simultaneously on other devices like for publishing companies and newspapers).
- Requires developers who know the CMS integrality.
- Any backend or frontend solution must be considered as one because there is no complete separation of responsibilities.
When to use Drupal as a traditional CMS?
Using Drupal as a traditional CMS is an excellent path that works for a variety of implementation types. If you are building a website for a product or service company, an enterprise solution that does not need to share content with other digital properties, this route of Drupal, as a traditional CMS, is the best one. It can get up and run quickly and enable you to manage your site from a single source.
It is also important to note that while Drupal as a traditional CMS is often understood as a monolithic solution, there are many alternatives and development strategies to allow access to multiple sites and/or APIs to share digital assets with external applications. Drupal is very rich in modules for this purpose.
Decoupled CMS (Headless)
A decoupled CMS differs by not connecting directly to a specific front-end at all. While traditional CMSs aim to be a single solution for managing both content and front-end, a decoupled CMS deals strictly with the content.
Once created and edited, the content is published through an application programming interface (API) and ready to go. The decoupled CMS has no impact or input on the front-end. This provides the flexibility to publish your content in as many ways as possible, regardless of how it is presented.
As an example, you can think of the decoupled CMS as a writer who writes a book and hands it off to the publisher. The author, the decoupled CMS, is providing the content while the publisher, the website, formats and delivers the content to the public via hardcover book, e-book, etc. The methods of consumption change but the content is consistent.
Advantages:
- The content is available to publish on any device.
- With the API decoupled, developers focus less on content and more on presentation.
- Using the Drupal framework as a decoupled content management system means that the platform only serves the content, allowing developers the freedom to use other front-end engines such as Angular or React.
Disadvantages:
- There is no preview of the content (A preview integration can be created, but this adds additional initial overhead).
- It requires building an API for communication with the developments that will visualize the information.
- Each content display should be managed as an independent development (This can be a disadvantage in management but also an advantage in control).
When to use Drupal Headless
When implementing the decoupled model your circumstances must be carefully considered. We recommend using this development system in the following cases:
- Websites that want to offer a very innovative experience with JavaScript frameworks such as React, Angular or VueJs.
- Mobile applications that sync with what's published on your website.
- Any environment where you need to publish content to multiple platforms at once.
- When you want to achieve a high level of optimization in both the backend and the frontend.