Blogs

Have you lost your 'Head' yet? Build how you want with Headless CMS

Businesses with complex web environments are rethinking their approach to content management to better support their operations. Many businesses are managing thousands or even millions of pieces of individual content, across thousands of pages and hundreds or thousands of editors.  Developers often want to use tool sets outside of the CMS to create the best user experiences with approaches like single page apps. Content also has to be delivered over multiple channels. Consider the rise of mobile and tablets in the last decade alone. And new formats are always emerging, such as wearables and voice-controlled assistants (think Alexa, Google Home), where vast stores of existing content has to be displayed in new ways. 

Traditional challenges and new innovations make it a tall task to keep content consistent and up-to-date across the enterprise web environment. Unfortunately, many of the traditional approaches to managing massive and very complex content environments fall short.  Too many marry presentation and content into the same files, creating mismatches when new creative designs are deployed or new display formats are introduced. Traditional approaches may also create issues when scaling, such as enabling accurate and useful indexing and search. Lastly, the skill sets of a great content author and a great web technician are rarely found in the same person, and in almost all cases shouldn’t be.  The content author doesn’t and usually can’t manage HTML, CSS and JavaScript, and the web technologist does not want to manage content edits and updates.

The Case for Headless CMS

Headless CMS can help businesses solve the dilemma of massively complex content environments and successful technical delivery, creating better customer experiences, support of new channels and freeing up both content editors and web developers to deliver the best experience. Also known as Content as a Service (CaaS), headless CMS does this by completely separating the storage of content from the actual presentation of content. At a high level, raw content is stored, managed, edited, indexed and delivered without any design or presentation elements included. When a user requests specific content, the platform or site dynamically applies design and presentation instruction to the raw content to deliver a fully featured content page with the right design, branding, functionality and responsiveness.

dotCMS-Headless-Model

Headless CMS enables updated, accurate and controlled content to be delivered to thousands of sites and channels. Page redesigns don’t mean updating content. Front-end developers can work with the latest tools that fit modern experiences. Architecture is simpler to manage and is scalable to adapt to the newest device, development tool or innovation.

Use Case: Building a Single Page App Using a Headless CMS and REST APIs

Unless a business is a completely new start-up, it will likely have existing software, content and other digital assets it needs to integrate with their web operations. Data is almost always stored in many places and formats, and it’s typically a major challenge to pull data together and deliver it in a meaningful way on the web. Businesses also need to easily maintain their websites without the authors who write or edit the content having the technical skills to code HTML, CSS or JavaScript. Content authors are typically the marketers, product managers or subject matter experts, and are not part of the technical team nor should they be expected to manage the technical aspects of the web sites.

While there are many website builders out there, businesses often get shoehorned into a solution (based on a past tool selection and implementation) and often don’t have the people on staff with the expertise to maintain the solution over time. In addition, many HTML experts do not want to work within the constraints of an off-the-shelf website builder. The HTML experts want to build their HTML separate from the content, and they also do not want to copy and paste every change submitted from the content authors. In massively complex content environments (e.g., thousands of pages, thousands of authors), it’s not only undesirable for the HTML skilled people to manage content changes and updates, it’s impossible.

Put simply, the content authors do not want to be involved with the HTML/JavaScript experts, and the HTML/JavaScript experts do not want to be involved with every piece of content, especially when the content might live in many places within the business.

The Solution

This is where a product, such as dotCMS, that supports headless CMS can help. dotCMS believes in a strong separation between presentation logic (HTML, CSS, JavaScript) and the content itself. dotCMS provides an excellent experience for building webpages within its system, keeping all the content separate. But as noted already, sometimes the business wants to maintain its website and web apps on their own, either in a different commercial CMS system(s), in some home-grown custom solution, or even a mix of both.

To solve this, dotCMS provides an easy place to store and index all of a business’s content while providing capabilities to access this content in raw formats or even render it by pulling it into an external application. You can have dotCMS integrate with content living in other pieces of software so that a static web solution or custom web solution can pull all of the content in a permissioned, secure and easy fashion.

This is called headless. Running dotCMS headless means dotCMS is not serving the actual webpages people are seeing in their web browser, but it organizes, stores, permissions and indexes some or all of the content being displayed.

This can be as much or little as your organization requires. Using dotCMS’s REST APIs, you can pull raw content meaning just the fields that make up a piece of content (absent of design/presentation information). For example, a news article might have the raw data fields of a title, headline, Youtube video, body and images. In the raw scenario, you get JSON back for each field within the news article. You can also have dotCMS REST APIs render this same piece of content.  For the rendered scenario, you can have a template or even scripting code parse, layout and manipulate the news article. The amazing thing is the rendering code is easy to maintain within the powerful backend of dotCMS itself.

dotCMS has templates, widgets, containers, files, pages and such, all of which can be used not only as a web building engine but in the headless case, be served to a custom or in house web solution through frameworks like Angular or React. This is where the power of running headless comes into play.

So if you want a single page app (SPA) that can pull all your business content without needing your content authors to know about web development and you want to allow your HTML and web team to do their job, a headless solution like dotCMS can be ideal.

The Capabilities of a High Performing Headless Content Environment

Smart organizations need to adopt the right capabilities to drive success in a headless content management environment. Key features a solution should provide to support a CaaS deployment should include: 

Storage features: A structured system that can support a wide range of content storage and server features, such as scripting, indexing, permissions, search, and caching. A performance capability to retrieve thousands to millions of pieces of content quickly.

APIs: The ability to interact with the content store through an API to import, manage and deliver content. API support to deliver content to any channel or device, and API support to manage and create content on the server side.    

Workflows: A flexible and customizable workflow for content creation, management and delivery processes. The ability to create and store content with third-party tools and automated processes to publish content, notify stakeholders and push content to other systems.

Flexible deployment: The capability to deploy on cloud, on-premises, or with a hybrid cloud deployment. A flexible implementation strategy for where the business want servers and how it wants to manage them.

Security: A well-defined system of permissions that are enforced by APIs, multiple authentication capabilities, and the ability to configure roles to manage content.

For enterprises with large, complex web environments, there is real opportunity to use a headless CMS strategy to improve customer experience, developer innovation and operational simplicity. As it represents a big change in the creation, management, and delivery of content across an organization, the right approach, solution and partner make a big difference in building success.

September 24, 2017

Recommended Reading

Headless CMS vs Hybrid CMS: How dotCMS Goes Beyond Headless

What’s the difference between a headless CMS and a hybrid CMS, and which one is best suited for an enterprise?

Why Global Brands Need a Multi-tenant CMS

Maintaining or achieving a global presence requires effective use of resources, time and money. Single-tenant CMS solutions were once the go-to choices for enterprises to reach out to different market...

14 Benefits of Cloud Computing and Terminology Glossary to Get You Started

What is cloud computing, and what benefits does the cloud bring to brands who are entering into the IoT era?