This blog post contains some of my perspectives regarding implementation of headless content management systems.
- All implementations must use SaaS, Content Delivery Networks, or serverless computing (SaaS is the Only Real Cloud – Deliverystack.net).
- All applications must build only on programming interfaces that expose data and services over HTTPS.
- Think of the CMS as a UI for editing JSON, with HTTPS services to access that data.
- From a content delivery perspective, a primary differentiating factor for headless CMS products is data modeling including the variety of field types, repeating field values, repeating groups of fields, referencing records stored separately, and complex field structures.
- Whenever possible, solutions should query and retrieve data directly from the search index rather than the CMS (What and How to Index for Search with Headless CMS – Deliverystack.net).
- Customers should centralize access to the CMS and its search indexes (Centralizing [Headless] [CMS] Data Access – Deliverystack.net).
- Solutions should minimize use of CMS APIs, primarily to retrieve data (The (Best) [CMS] API Has No Methods – Deliverystack.net).
- Other than the JSON data structures and relationships between records that those structures define, content delivery solution developers should have minimal knowledge of the CMS.
- While I understand the advantages of using content delivery services provided by the CMS vendor, I believe that customer solutions should use services implemented by the customer, even if they primarily wrap services provided by the vendor, potentially even for binary media.
- While I understand the advantages of JavaScript including NodeJS and Jamstack, for applications and service interfaces, I see advantages in .NET 5+ and ASP.NET Core relative to static files and server-side JavaScript. Update 26.March.2021: I would use ASP.NET when I know I need logic during request processing for HTML generation; otherwise I would consider static CMS export and client-side JavaScript options (see ASP.NET Core vs. NodeJS – Deliverystack.net).
If you disagree with any of these points or have additional important considerations, please comment on this blog post.
3 thoughts on “My Headless CMS Philosophy”