In the previous article, we talked about creating a high performance static HTML website and retrieving the content from Kentico Kontent, a headless content management system (CMS). A headless CMS stores only the content and does not includes any presentation elements. This allows the content to be used in many places, with the look-and-feel depending on the location. You can style the content vertically for a mall's directory display, or style it for a mobile app.
What happens if you need to have to implement business logic to the content, for example, to display only certain articles to users who had registered and login to the website.
In this article, we will look at how we can use a CMS to integrate with Kentico Kontent to provide such functionalities.
A normal CMS helps users to create, manage and modify content on the website without the need for specialised technical knowledge. It allows the content to be displayed in a standard format using templates for the look-and-feel, and provides a technical layer to manage the business logic.
Since we are already using Kentico Kontent, we have relinquished the management of the content, so we can focus on the business logic layer.
Kentico Kontent is technology agnostic, as it is able to support whatever CMS is available in the market. From Kentico to WordPress, it is possible to integrate directly into these systems.
Let’s assume we want to display certain articles to users who had logged into the CMS. We can use the CMS’s login function to enable the user to login.
The CMS will be able to retrieve the set of articles based on the status of the users. This is done by the CMS calling the Kentico Kontent’s API and providing the correct query according to the business logic.
The returned result will be displayed in the templates to the users directly.
This way, we can also display a fixed number of articles to the users who had not logged-in. If they want to read more, they can sign up at the site and result in more registrations.
Together with the CMS, the system can also remembers what articles a logged-in user has read and only display the ones he/she hasn't.
Why not just use the CMS?
Some would ask why can't we just use the same CMS to store the content and avoid the hassle of using a headless CMS such as Kentico Kontent?
It is possible to do that without any issues. However, for some business cases where the content can be shared across different platform such as shopping centre kiosks, mobile apps, or even other websites, it is better to store it in a central location where the content can be easily accessible via APIs whilst ensuring that it can a huge amount of traffic can be managed relatively easily without high overheads.
If your content is used in more than one location or requires to support high load, consider implementing a headless CMS.
In our next article, we will talk about implementing Sitecore in the China market.