Some [More?] of the Reasons Why I Do Not Like How Contentful Represents Rich Text Fields

This blog post continues (maybe a bit repetitiously) the rant that I started at In that post I mentioned some of the implications of Contentful’s representation of the value of Rich Text Fields in a proprietary JSON format rather than XHTML, and some of the technical implications of that implementation. I understand the intention,Continue reading “Some [More?] of the Reasons Why I Do Not Like How Contentful Represents Rich Text Fields”

CMS Content Modeling Considerations and Resources

Content Modeling is basically the definition of Content Types and relationships between Entries. Content Modeling should be the main part of a CMS implementation, and should begin with detailed requirements. Thoroughly evaluate content modeling features before selecting a CMS platform. Confirm basics such as support for referenced/nested Entries and custom Field Types that you canContinue reading “CMS Content Modeling Considerations and Resources”

Why Isn’t This In the .NET SDK?

It is very valid for .NET Core developers working with headless CMS to ask why some of the code suggested in this blog does not appear in the SDK, including at least the following. .NET types to expose more functionality around Field Types, for example converting Markdown to Markup or wrapping strings with HtmlString toContinue reading “Why Isn’t This In the .NET SDK?”

How Contentstack Modular Blocks Fit .NET Core

You can use Block Model classes to model the different types of blocks that can appear in a Contentstack Modular Blocks Field as strongly-typed objects. Block Model classes are exactly like Entry Models: Plain Old CLR Objects (POCOs) with properties that expose data deserialized from JSON that is part of anContinue reading “How Contentstack Modular Blocks Fit .NET Core”

.NET Core Paging and Threading with Headless (CMS)

When invoking RESTful API calls to retrieve data from a Content Management System (CMS), search index, or other system, a common pattern is that the service returns a limited number of records of a maximum fixed size, called a page. If you need additional records, you request the next page. When the order of dataContinue reading “.NET Core Paging and Threading with Headless (CMS)”

Convert Entry JSON to Entry Model

If you can access the JSON representation of an Entry, then you can convert that JSON to an Entry Model ( This functionality works well as a .NET extension method ( This example uses the Contentstack .NET SDK ( for the following reasons: Contentstack provides a default Entry Model class (, that makes itContinue reading “Convert Entry JSON to Entry Model”

Contentstack Modular Blocks and .NET Core

In a previous blog posts ( I may have cast Contentstack Modular Blocks ( in a bad light. In fact, Modular Blocks are incredibly powerful and honestly one of the few differentiators between headless CMS providers from a .NET content delivery perspective. They aren’t difficult to model or implement. A CMS may allow multiple FieldContinue reading “Contentstack Modular Blocks and .NET Core”

The (Best) [CMS] API Has No Methods

The (Best) [CMS] API Has No Methods. I mean that in the sense that The Emperor Wears No Clothes. With twenty five years of experience in enterprise systems including twenty in CMS, I mean it with conviction. All I want are objects populated from one or more systems such as search, CMS, product information management,Continue reading “The (Best) [CMS] API Has No Methods”

SaaS is the Only Real Cloud

In addition to supporting modern JavaScript frameworks (and actually fitting well with .NET Core and ASP.NET Core), because they allow each party to focus solely on their own requirements and technologies using stable and well-defined interfaces to other platforms, complete SaaS solutions (cloud-hosted, microservice-architected, RESTful API-implemented, decoupled, including content management) derive maximum value from theContinue reading “SaaS is the Only Real Cloud”

Kentico Kontent .NET Sample Entry Model

What follows is my attempt to define an Entry Model class as described in the blog post to support the Content Type that I described in the blog post at for the Kentico Kontent SaaS headless CMS. Without the challenges of transforming JSON to HTML as required for Contentful or repeating Field valuesContinue reading “Kentico Kontent .NET Sample Entry Model”