Blog

Manage Custom Media Metadata in the Contentstack SaaS Headless CMS

This blog post provides some perspectives about managing custom metadata for media assets stored in the Contentstack SaaS headless CMS. I do not have anything implemented as I do not have any related requirements; these are just some ideas that I wanted to write down while I was thinking about the topic. If anyone isContinue reading “Manage Custom Media Metadata in the Contentstack SaaS Headless CMS”

Call Contentstack HTTPS JSON APIs from ASP.NET Blazor Clients

This blog post provides pointers for calling HTTP APIs that return JSON from ASP.NET Blazor client applications, specifically using the Contentstack SaaS headless content management system. If I understand correctly, with Blazor, developers can write C# code that runs as WebAssembly in the browser. I do not understand the details, but my first challenge wasContinue reading “Call Contentstack HTTPS JSON APIs from ASP.NET Blazor Clients”

Cool Tools for [Contentstack] [SaaS] [Headless] [CMS] [.NET] Developers

This blog post lists tools that can improve productivity for developers, especially those working with .NET and headless content management systems. Microsoft Windows 10: Even though I do not need to reinstall Windows every few months anymore, I might move to Linux completely if Microsoft Office and Visual Studio could run without Windows. I tryContinue reading “Cool Tools for [Contentstack] [SaaS] [Headless] [CMS] [.NET] Developers”

All About Validation with the Contentstack SaaS Headless CMS

This blog post contains information about validating data with the Contentstack SaaS headless content management system. Throughout the system, roles and access rights validate which users can perform what operations. Contentstack provides some basic field validation options. Content Validations: Types of Validation Checks (contentstack.com) In each global field and content type, each field can beContinue reading “All About Validation with the Contentstack SaaS Headless CMS”

Setting Field Values Programmatically in SaaS Headless Content Management Systems

This blog post suggests a technique for setting field values programmatically in entries as they move through workflows in SaaS headless content management systems, specifically considering my experiences with the Contentstack SaaS headless CMS. Full disclosure: I wrote it some time ago, moved on, forgot about it, never reviewed it, and published it to clearContinue reading “Setting Field Values Programmatically in SaaS Headless Content Management Systems”

Use Windows Terminal for Visual Studio Run and Debug

This blog post explains how get Visual Studio to use Windows Terminal to run and debug your projects rather than using the Windows console. Right-click project and select properties. Click the Debug tab. Create a new profile. Set Launch set to Executable. Set Executable to the full path to the Windows Terminal executable (maybe C:\Users\<username>\AppData\Local\Microsoft\WindowsApps\wt.exe).Continue reading “Use Windows Terminal for Visual Studio Run and Debug”

Contentstack SaaS Headless CMS UI Extension Hosting

This short blog post explains some differences between Contentstack hosting and external hosting of custom user interface extensions to its headless content management system. As described in the following blog post, you can extend Contentstack with three types of user interfaces: custom field types (at the field level), custom widgets (at the entry level), andContinue reading “Contentstack SaaS Headless CMS UI Extension Hosting”

Use a Widget to View Entry JSON in the Contentstack SaaS Headless CMS

This blog post explains how you can use a widget to view the JSON representation of an entry in the Contentstack SaaS headless CMS user interface. You can create a widget based on the JSON custom field to view the JSON representation of entries in the Contentstack UI. In a stack, click the gear, andContinue reading “Use a Widget to View Entry JSON in the Contentstack SaaS Headless CMS”

Contentstack SaaS Headless CMS .NET SDK Exception Management

This blog post explains how you can access information about errors that occur when using the .NET SDK for the Contentstack SaaS headless content management system. For background information about accessing error data from the underlying .NET HttpWebRequest class, see this previous blog post: Access Error Data from HTTP Response When HttpWebRequest Throws an ExceptionContinue reading “Contentstack SaaS Headless CMS .NET SDK Exception Management”

Code Dump: .NET Contentstack Media Importer

This blog post describes a prototype .NET command line solution for importing media into the Contentstack SaaS headless content management system. While this tool functions, it could use testing and refactoring. More importantly, it demonstrates relevant APIs and techniques for working with folder paths in Contentstack. You can use these techniques to create asset folderContinue reading “Code Dump: .NET Contentstack Media Importer”

Access Error Data from HTTP Response When HttpWebRequest Throws an Exception

This blog post explains how to access the response body that may contain error messages when an HTTP request returns an error. You can use this technique to diagnose HTTP service API calls that return errors and raise exceptions. The following raise an WebException or an AggregateException if the HTTP request returns an error. stringContinue reading “Access Error Data from HTTP Response When HttpWebRequest Throws an Exception”

Troubleshooting Webhooks

This blog post contains information about troubleshooting webhooks, which I have been exploring specifically with the Contentstack SaaS headless CMS. Webhooks are just HTTP requests, so troubleshooting them is not unlike troubleshooting any HTTP request. Webhook – Wikipedia About Webhooks (contentstack.com) For me, problems that appear significant often have trivial solutions, often involving simple user errors.Continue reading “Troubleshooting Webhooks”

Synchronize Content between Headless Content Management Systems

This blog post describes techniques that you can use to syndicate content from one headless content management system to others from the same CMS vendor, typically from production to test, development, and other systems. Organizations often deploy separate instances of a content management system for development, test, production, and potentially other purposes. Changes to contentContinue reading “Synchronize Content between Headless Content Management Systems”

Part II: Prototype Contentstack Update Webhook Handler .NET Azure Function to Set Field Values for Validation

This blog post presents code for a prototype .NET Azure function that handles entry update webhooks from the Contentstack SaaS headless CMS to set the value of a field in the entry that presents messages to the CMS user. Specifically, this example ensures that two date fields exist and contain values, and that the valueContinue reading “Part II: Prototype Contentstack Update Webhook Handler .NET Azure Function to Set Field Values for Validation”

Part I: Use Update Webhook Handlers to Update Entries in Contentstack

This blog post describes a technique that uses an entry update webhook handler to update field values in the Contentstack SaaS headless CMS. You can use this technique to validate existing data in entries, to set default values for empty fields, and otherwise to manipulate field values programmatically. This is my simplified understanding of whatContinue reading “Part I: Use Update Webhook Handlers to Update Entries in Contentstack”

Prototype .NET Class to Invoke [Contentstack] [SaaS] [Headless] [Content Management] HTTPS JSON Service APIs

This blog post presents a prototype for a .NET class that invokes HTTPS service APIs in the Contentstack SaaS headless CMS that accept and return JSON. This is just a short post to publish the sample code that I intend to reference from one or more additional blog posts. Contentstack provides a .NET SDK thatContinue reading “Prototype .NET Class to Invoke [Contentstack] [SaaS] [Headless] [Content Management] HTTPS JSON Service APIs”

Generate sitemap.xml and robots.txt from Content Management Metadata

This blog post suggests that solutions use metadata from the content management system to generate sitemap.xml and robots.txt. You can use sitemap XML and the robots exclusion standard to influence SEO for your website and to affect the functionality of search engines including google. Each website can have a URL that exposes XML containing metadataContinue reading “Generate sitemap.xml and robots.txt from Content Management Metadata”

Access Contentstack Entry Workflow Information

This blog post explains how to include workflow information when you retrieve entries from the Contentstack SaaS headless content management system. Default JSON representations of Contentstack entries, including those sent to webhooks, do not include workflow details. To access workflow details, set the include_workflow query string parameter to true when you retrieve the entry. TheContinue reading “Access Contentstack Entry Workflow Information”

Advantages of Event Systems with Headless Content Management Systems

This blog post lists some potential advantages in leveraging event systems with headless content management systems and potentially any system that uses microservice architecture. Event systems pass messages between applications. Headless CMS uses webhooks to pass messages to applications. To integrate an event system with headless CMS, implement an HTTPS listener that generates events fromContinue reading “Advantages of Event Systems with Headless Content Management Systems”

Relationships between Records in Content Management Systems

This blog post contains information about relationships between records in content management systems. Content management systems provide mixed support for hierarchical and relational record structures. CMS developers define content types, where each record can have values for the fields defined in its content type. Records can have relationships with other records. Together, content types andContinue reading “Relationships between Records in Content Management Systems”

SaaS Headless CMS Architectural Considerations, Part II

This blog post lists some considerations for architecting SaaS headless content delivery solutions. This blog post serves as Part II of a previous blog post, Considerations for Headless CMS Architectures – Deliverystack.net. CMS Vendor: While all SaaS headless CMS may have similar architectures, each vendor has distinct features and implementation differences, for example regarding userContinue reading “SaaS Headless CMS Architectural Considerations, Part II”

Differences between Decoupled CMS and SaaS Headless CMS

This blog post describes differences between decoupled and SaaS headless content management systems. Different people working for different vendors use terms differently, but for the purposes of this blog post, decoupled refers to content delivery using HTTPS service APIs to access CMS facilities rather than using platform native APIs, direct database connections, and other tightlyContinue reading “Differences between Decoupled CMS and SaaS Headless CMS”

Managing Content Types with the Contentstack SaaS Headless CMS

This blog post contains information about managing content type definitions with the Contentstack SaaS headless CMS, meaning migrating content type definitions between stacks. These and similar considerations apply to any headless CMS. A content types specifies the fields that appear in entries of that type. Contentstack stores content type definitions in its repository. You canContinue reading “Managing Content Types with the Contentstack SaaS Headless CMS”

Headless CMS with Event System Diagram

This blog post presents a diagram of a possible headless CMS architecture with search that uses a brokerage architecture and an event system for webhooks and API calls. For background information, see: Centralizing [Headless] [CMS] Data Access – Deliverystack.net Web Service Brokerage Architecture [for Headless CMS] – Deliverystack.net Integrating Event Systems with Headless CMS –Continue reading “Headless CMS with Event System Diagram”

Customizing and Extending SaaS Headless CMS User Interfaces

This blog post contains information about customizing and extending SaaS headless CMS, though some of this information may apply to any SaaS solution. By customizing, I mean anything that a CMS user with appropriate access can achieve by setting values through a browser-based user interface or HTTPS service endpoint. By extending, I mean anything thatContinue reading “Customizing and Extending SaaS Headless CMS User Interfaces”

Multiple [Headless] [CMS] Repositories

This blog post contains ideas for content delivery applications to leverage multiple headless CMS repositories with specific information about stacks (repositories) in the Contentstack SaaS headless CMS, though much of this information may apply to any CMS or other repository. Along with content type definitions, content entries, and media assets, stacks contain system data suchContinue reading “Multiple [Headless] [CMS] Repositories”

Web Service Brokerage Architecture [for Headless CMS]

This blog post suggests that organizations, especially headless CMS customers, employ service brokerage architectures for service-oriented applications to control the endpoints used by their applications. This post focuses primarily on HTTPS endpoints that serve JSON for content delivery in headless CMS implementations, but many of these considerations apply to other systems as well as webhooksContinue reading “Web Service Brokerage Architecture [for Headless CMS]”

ASP.NET Core vs. NodeJS

This blog post intends to describe similarities and differences between ASP.NET Core (.NET 5+) and NodeJS for server-side web application functionality. I do not specifically intend to discuss technologies such as TypeScript and Deno, which likely address some of these concerns. I also didn’t mention some elements where I consider the technologies to be basicallyContinue reading “ASP.NET Core vs. NodeJS”

Process Headless CMS Webhooks with Serverless Azure Functions

This blog post demonstrates a way to implement (serverless) Azure functions that use ASP.NET Core and .NET 5 to process webhooks generated by headless Content Management Systems, including how to run functions locally and use ngrok to invoke those local functions from cloud environments such as SaaS headless CMS. Azure functions provide ASP.NET processing inContinue reading “Process Headless CMS Webhooks with Serverless Azure Functions”

My Headless CMS Philosophy

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 aContinue reading “My Headless CMS Philosophy”

What and How to Index for Search with Headless CMS

This blog post provides some perspectives on what data from headless content management and potentially other systems to index for search operations and options for implementing those indexing operations, where indexing makes search engines aware of data. All headless CMS systems provide APIs that allow developers to select zero or more records that match specificContinue reading “What and How to Index for Search with Headless CMS”

Centralizing [Headless] [CMS] Data Access

This blog post presents potential advantages of centralizing access to data in Content Management System (CMS). While often used to manage the content of websites, content management systems can manage any type of data for any delivery channel such as print, mobile apps, kiosks, and otherwise. Content management systems can provide access to data inContinue reading “Centralizing [Headless] [CMS] Data Access”

Serverless Computing Really Means Less Server [Customer Responsibility]

This blog post provides perspective on the term serverless as it relates to computing, especially in the context of web solutions and headless content management systems. For background, concerns, and related information, especially regarding serverless computing with .NET, see the blog post Implications and Considerations for Serverless ASP.NET – Deliverystack.net, much of which applies toContinue reading “Serverless Computing Really Means Less Server [Customer Responsibility]”

EDI as a Reference for Integration Services

This blog post suggests consideration or even use of Electronic Data Interchange standards when implementing integration services between applications. Electronic Data Interchange (EDI) “can be defined as the transfer of structured data, by agreed message standards, from one computer system to another without human intervention” (Electronic data interchange – Wikipedia). EDI standards such as X12Continue reading “EDI as a Reference for Integration Services”

Data-Driven Navigation with Headless Content Management Systems

This blog post provides perspective on implementing data-driven web navigation with headless content management systems. Hierarchical Data-Driven Navigation Web navigation refers to elements that allow visitors to navigate the site including tab strips, eyebrows, toebrows, accordion menus, breadcrumbs, both visual and XML site maps, and so forth. Data-driven navigation refers to presentation components that useContinue reading “Data-Driven Navigation with Headless Content Management Systems”

Getting Data from Headless Content Management Systems

This blog post describes techniques that you can use to retrieve data from a headless Content Management System (CMS). Content delivery for headless Content Management Systems consists of HTTPS service endpoints for which the CMS vendor provides CDN or other caching services around three types of data. Content types define the fields that make upContinue reading “Getting Data from Headless Content Management Systems”

SHCDAS: SaaS Headless CMS Integrations and Extensions

This blog post is part of the SaaS Headless Content Delivery Architectures Series (SHCDAS). SaaS headless Content Management Solutions (CMS) expose the following primary extension points: Content Delivery HTTPS services including CDN and data synchronization Media Delivery HTTPS services including image manipulation and CDN Content Management services for the CMS UI and custom applications Extensible user interfaceContinue reading “SHCDAS: SaaS Headless CMS Integrations and Extensions”

SHCDAS: Headless Content Delivery

This blog post is part of the SaaS Headless Content Delivery Architectures Series (SHCDAS). Headless CMS vendors do not provide content delivery toolsets. Headless CMS products focus on services shared to all delivery channels, whether custom build processes, Software Development Kits (SDKs) for specific platform technologies, or otherwise. Headless CMS vendors provide integrations with mainstream static siteContinue reading “SHCDAS: Headless Content Delivery”

SHCDAS: CMS Deployment and Page Request Cycles

This blog post is part of the SaaS Headless Content Delivery Architectures Series (SHCDAS). A web server can respond to an HTTPS request with a static resource, such as the contents of a file or database record, or the web server can invoke an application service platform to generate content dynamically. Application service platforms include anything that canContinue reading “SHCDAS: CMS Deployment and Page Request Cycles”

SHCDAS: Static and Dynamic Content Delivery

This blog post is part of the SaaS Headless Content Delivery Architectures Series (SHCDAS). A web server can respond to an HTTPS request with a static resource, such as the contents of a file or database record, or the web server can invoke an application service platform to generate content dynamically. Application service platforms include anything thatContinue reading “SHCDAS: Static and Dynamic Content Delivery”

SHCDAS: Headless CMS, Advantages and Disadvantages

This blog post is part of the SaaS Headless Content Delivery Architectures Series (SHCDAS). The term headless differentiates CMS vendors that include toolsets for content delivery, sometimes called traditional CMS vendors, from those that do not, which are considered headless. Traditional CMS vendors provide toolsets to generate static files, replicate database changes, and so forth, as wellContinue reading “SHCDAS: Headless CMS, Advantages and Disadvantages”

SHCDAS: Content Management and Content Delivery

This blog post is part of the SaaS Headless Content Delivery Architectures Series (SHCDAS). Content Management systems separate content from presentation and logic to allow non-technical CMS users to control content available to content delivery systems such as web sites and to to allow re-use of content between multiple pages on any number of web sitesContinue reading “SHCDAS: Content Management and Content Delivery”

SHCDAS: Web Browsers, Web Servers, and Application Servers

This blog post is part of the SaaS Headless Content Delivery Architectures Series. To oversimplify a bit, consider the Internet as only clients that use web browsers to access servers that host websites. Websites consist of HTML pages that contain external content, CSS styles, JavaScript including data in JSON format, images and other media, andContinue reading “SHCDAS: Web Browsers, Web Servers, and Application Servers”

SHCDAS: SaaS Headless Content Delivery Architectures Blog Post Series Index

The move to headless content management systems (CMS) is part of a necessary paradigm shift towards web applications composed from multiple SaaS providers using MACH architectures (Microservice-implemented, API-first, cloud-native, headless). SaaS and headless provide support agile development environments by allowing composition of applications from services using appropriate technologies and hosting platforms at each layer ofContinue reading “SHCDAS: SaaS Headless Content Delivery Architectures Blog Post Series Index”

Implications and Considerations for Serverless ASP.NET

This blog post describes implications and considerations for running ASP.NET in a “serverless” environment. First, I believe that the term serverless is misleading. Without a server, nothing gets served. Without web server software such as the Apache HTTP Server or Internet Information Services (IIS) sitting on some type of hardware device traditionally called a server,Continue reading “Implications and Considerations for Serverless ASP.NET”

Jamstack and Alternative Architectures for Headless CMS with ASP.NET Core

Last week (18.Jan.2021) I conducted a webinar hosted by my friends at Konabos Consulting about Jamstack and alternative architectures for headless CMS with ASP.NET. I talked about the headless CMS metaphor and terminology and getting webhooks through firewalls before conducting a short technical demonstration of a proof of concept using the Contentstack SaaS headless CMSContinue reading “Jamstack and Alternative Architectures for Headless CMS with ASP.NET Core”

The Headless [CMS] Metaphor

This blog post provides my perspective on the headless CMS (Content Management System) metaphor, although some of this content may apply to any headless system. Different CMS vendors use different terminology and definitions. This is my general summary assuming a website as the default delivery channel. Body: The CMS back-end, where content management users maintainContinue reading “The Headless [CMS] Metaphor”

Resources about Windows Subsystem for Linux (WSL)

This blog post contains a list of links to resources about Windows Subsystem for Linux (WSL). WSL allows running Linux, specifically Bash interactive shells and shell scripts, under Windows. Whenever possible, I use Bash shells and keyboard shortcuts in favor of the Windows user interface. Because they are not specific to headless content management orContinue reading “Resources about Windows Subsystem for Linux (WSL)”

[Hard] Questions for [Headless] [CMS] Vendors

I intend to use this blog post to catalog questions for headless CMS (Content Management System) vendors that I do not consider to be excessively specific to an individual project. Many of these questions may apply to related implementation scenarios. These issues are in no intended order, are not intended to benefit any specific vendor,Continue reading “[Hard] Questions for [Headless] [CMS] Vendors”

Example .NET Core Controller Action for [Headless CMS] Repository

What follows is a draft of a simple controller action that could support any headless CMS using the repository pattern described in this blog. Most of my ASP.NET project is just template from Visual Studio. Update: This is NOT about generic classes; I should not have used the word generic in the original title ofContinue reading “Example .NET Core Controller Action for [Headless CMS] Repository”

Calling All .NET Core Architects and C# Developers…Refactor Unhappy Code for Free!

I am not an architect or a developer, but I wrote more C# code to abstract CMS repositories than I can describe in sufficient detail on this blog, including a pretty comprehensive provider for Contentstack and with the roots of provider implementations for Contentful and Kentico. I have more notes than I can blog atContinue reading “Calling All .NET Core Architects and C# Developers…Refactor Unhappy Code for Free!”

Group Field (and Contenstack Global Field) Models

This blog post explains how you can model Group FIelds in Entry Model classes as Group Model Classes that are just like Block Model Classes for Modular Blocks, but without all the JsonConverters. You can use the same technique to model Contentstack Global Fields, which are basically reusable Field Groups. https://deliverystack.net/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/ I do not meanContinue reading “Group Field (and Contenstack Global Field) Models”

Generic Base Class with JsonConverter for Contentstack Block Model Classes

This is one of those cases where I left a bunch of leather and nails on my desk before bed and woke up to find crumbs on the keyboard and a working prototype (cobbled together, no doubt) that I can barely read, let alone understand, but seems to work. My fingers thank C# generics andContinue reading “Generic Base Class with JsonConverter for Contentstack Block Model Classes”

Entry Model structs for Markup Fields

I use the following two prototype structs in Entry Model Classes (https://deliverystack.net/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/) to represent Field Values from Entries where those values may contain markup or markdown. These classes use HtmlString properties to expose values without the need for method calls such as @Html.Raw() to prevent ASP.NET MVC from encoding HTML that should not be encoded.Continue reading “Entry Model structs for Markup Fields”

Mapping Field Types to .NET Types in Headless CMS

This blog post is my attempt to maintain a list of the Field Types available in various headless CMS and the .NET types that I would try to use to model those fields in Entry Model classes (https://deliverystack.net/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/). This is relevant when defining Entry Model classes (https://deliverystack.net/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/) based on a content model (https://deliverystack.net/2020/07/22/cms-content-modeling-considerations-and-resources/) You canContinue reading “Mapping Field Types to .NET Types in Headless CMS”

.NET Repository Pattern for Headless (CMS)

In a previous blog post (https://deliverystack.net/2020/07/23/expose-entry-json-from-entry-model/) I mentioned that I’m using a repository class to abstract access to the CMS, in my case Contentstack (though I have developed partial prototypes for Contentful, Kentico, and elastic). What I mean by a repository is just an abstraction layer on top of the CMS or other system. AContinue reading “.NET Repository Pattern for Headless (CMS)”

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 https://deliverystack.net/2020/07/21/contentful-net-sample-entry-model/. 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”

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. https://deliverystack.net/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/ https://deliverystack.net/2020/07/21/contentstack-net-sample-entry-model/ https://www.contentstack.com/docs/developers/create-content-types/modular-blocks/ https://deliverystack.net/2020/07/21/contentstack-modular-blocks-and-net-core/ 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”

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 (https://deliverystack.wordpress.com/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/). This functionality works well as a .NET extension method (https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/classes-and-structs/extension-methods). This example uses the Contentstack .NET SDK (https://www.contentstack.com/docs/platforms/dot-net/api-reference/api/index.html) for the following reasons: Contentstack provides a default Entry Model class (https://www.contentstack.com/docs/platforms/dot-net/api-reference/api/Contentstack.Core.Models.Entry.html, https://github.com/contentstack/contentstack-dotnet/blob/master/Contentstack.Core/Models/Entry.cs) that makes itContinue reading “Convert Entry JSON to Entry Model”

Contentstack Modular Blocks and .NET Core

In a previous blog posts (https://deliverystack.wordpress.com/2020/07/21/contentstack-net-sample-entry-model/) I may have cast Contentstack Modular Blocks (https://www.contentstack.com/docs/developers/create-content-types/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”

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 https://deliverystack.wordpress.com/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/ to support the Content Type that I described in the blog post at https://deliverystack.wordpress.com/2020/07/21/entry-data-formats-in-headless-cms/ 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”

Contentstack .NET Sample Entry Model

What follows is my attempt to define an Entry Model class as described in the blog post https://deliverystack.wordpress.com/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/ to support the Content Type that I described in the blog post at https://deliverystack.wordpress.com/2020/07/21/entry-data-formats-in-headless-cms/ for the Contentstack SaaS headless CMS. Somehow I managed to name three fields incorrectly. I already published entries and pastebinned the JSON soContinue reading “Contentstack .NET Sample Entry Model”

Contentful .NET Sample Entry Model

What follows is my attempt to define an Entry Model class as described in the blog post https://deliverystack.wordpress.com/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/ to support the Content Type that I described in the blog post at https://deliverystack.wordpress.com/2020/07/21/entry-data-formats-in-headless-cms/ for the Contentful SaaS headless CMS. https://pastebin.com/qKsX4DMW I receive NullReferenceException when I try to access the Assets. This could make sense, because theContinue reading “Contentful .NET Sample Entry Model”

Entry Data Formats in Headless CMS

We can use the .NET SDKs from the headless CMS vendors to retrieve data and evaluate the JSON formats uses to represent Entries in each system. While we should use strongly-typed Entry Model classes as described in the blog post https://deliverystack.wordpress.com/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/, we can evaluate the raw JSON to see how the systems represent data, whatContinue reading “Entry Data Formats in Headless CMS”

.NET Core Console Apps for Headless CMS

You can use the following procedures in Microsoft Visual Studio Community 2019 (https://visualstudio.microsoft.com/vs/community/) to create .NET Core Console Apps with the SDKs for the Contentful, Contentstack, and Kentico Kontent headless Content Management Systems (CMS). To create a console app in Visual Studio: Click the File menu, then click New, and then click Project. The CreateContinue reading “.NET Core Console Apps for Headless CMS”

Using LINQPad to Access Headless CMS

You can use LINQPad (https://www.linqpad.net/) to access headless Content Management Systems with C# code. LINQPad provides convenient visualizers for JSON and images. You can use LINQPad for scripting, and both visualized and raw access the JSON can be useful when implementing Entry Model classes (see https://deliverystack.wordpress.com/2020/07/20/net-core-headless-cms-entry-models-and-entry-model-classes/), diagnosing issues, and otherwise. The code in the followingContinue reading “Using LINQPad to Access Headless CMS”

Resources about Headless CMS [and Commerce] [and Microservice Architectures] [with .NET Core]

I intend to use this blog post to maintain a list of links to blogs and blog posts about headless CMS, especially headless CMS with .NET Core. Below is what I have run across up to now. https://robertlinde.se https://www.hanselman.com/blog/HeadlessCMSAndDecoupledCMSInNETCore.aspx https://dottutorials.net/top-open-source-asp-net-core-cms/ http://deliverystack.net?y! If you know of any great blogs about headless CMS or any blogs aboutContinue reading “Resources about Headless CMS [and Commerce] [and Microservice Architectures] [with .NET Core]”

What Is SaaS Headless CMS?

With SaaS headless CMS, the vendor provides a hosted environment for content management. According to the metaphor, this content management environment is the body. Using webhooks to signal events, a headless CMS provides RESTful APIs and typically a browser-based UI with which to manage Content Types and Entries (sometimes called Items). Each Content Type isContinue reading “What Is SaaS Headless CMS?”

Deliverystack Author: John West (commodore73)

I have been playing with computers since I gained access to a Commodore VIC-20 in the mid-1980s. In the late 1990s, using mainly Solaris, Oracle, and C++, I implemented systems that automated diverse business processes responsible for hundreds of millions of dollars in transactions annually. In 2000 I started consulting with the (now defunct) InterwovenContinue reading “Deliverystack Author: John West (commodore73)”


Follow

Email.