Content management systems have been through an evolution last 10 years. Started as administrator pages to manage the content on a website, more and more features where added to the system. The advantage of a ready to use CMS is clear: it provides themes, menu items, media management, SEO tools, etc. straight out of the box. But these management systems have grown into big monolith, one size fits all solutions, which offer more functionality than needed. Some CMS solutions offer modules, plugins, etc. so you can shape the system/interface to your needs, but this does not solve the underlying problem.
Existing CMS solutions are focusing mainly on two aspects: facilitating the technical access to data and providing a user-friendly interface to manage the data. One of the first and main weakness is, that most of the data managed in the CMS is disconnected from the other software, business logic & tools companies use. The user has to connect to a completely distinct environment than the one he does use every day in a natural way.
Most 'old' CMS systems are bound to a single website or webapplication. Recently a new CMS is introduced: the headless CMS. A headless CMS, also called API-first CMS, is a CMS system without a fixed output channel (e.g. website). It is basically the admin backend chopped of a normal CMS to manage content, independent from the consumer. A headless CMS provides an API to deliver the data to the end-user, this could be a website, mobile app or anything else. Although this solution is a step in the right direction, the disadvantage is that its still a decoupled environment, mainly offered as cloud service outside your regular software, tools and control.
What if we want to integrate content management & delivery logic directly in our (current) software projects? We could use the API from the headless CMS, but this does not give us full control and flexibility. The most ideal way is to have a separate CMS class library to integrate directly in your code, and use a web API only for decoupled applications. Referencing the library in our code you gives you the power to program directly against the CMS model structure and have full flexibility to build (shielded) custom solutions or (cloud) functions. We are able to develop all kinds of content providers and consumers, from webform to mobile app to micro services.
The trend these days will be connecting existing applications and the development of microservices in an even driven infrastructure.
More cloud services will be developed that offer simplified, flexible and scalable event-driven solutions. Content will be created and provided
from and to different sources, with different kind of user interfaces (or none at all). We really need to rethink our content management and delivery strategy when starting new projects.
RARIAN is currently building a new CMS SDK/API. Integrate the RARE package directly into your projects and you will have a complete content management class library structure to use for your content management logic. Together with an API, you have the flexibility to integrate the same content structure anywhere. Coming soon we will provide different example 'heads and feets' to show you the power of the RARE CMS SDK. RARE is cross platform, build on .NET Core 2.0 and will be available as NuGet package.