Deliverystack.net

Information about Hosting Ukrainians in the United States

This blog post contains information for Ukrainians that intend to relocate to the USA and Americans interested in hosting Ukrainians. I have identified a candidate for some space available in my home, but I have not completed this process, so I apologize for anything that is misleading or incorrect. Americans can initiate sponsorship of UkrainiansContinue reading “Information about Hosting Ukrainians in the United States”

First Experiences with WebAssembly 

This blog post describes my first experiences with WebAssembly. I have always tried to avoid front-end development in general, and JavaScript in particular, especially for anything complex, and increasingly as the library churn has increased and relevant toolchains have demonstrated their significant risks. Recently, I investigated TypeScript, which has some advantages, but is just aContinue reading “First Experiences with WebAssembly “

Пансіон у США для української сім’ї або окремих осіб/USA Boarding for Ukrainian Family or Individuals

Hello, my name is John West. I am incredibly saddened to think that the tragedy in Ukraine would cause anyone to leave their country. I can offer free room and board in Portland, Oregon, USA for one Ukrainian family of up to four people, or between one and three adult individuals. I have no experienceContinue reading “Пансіон у США для української сім’ї або окремих осіб/USA Boarding for Ukrainian Family or Individuals”

Linux: Use Ctrl+Esc for Activities Overview

This blog post, intended to assist readers transitioning from Microsoft Windows to Linux, explains how to configure at least Ubuntu 20.04.4 LTS to show the Activities Overview when the user presses Ctrl+Esc, providing functionality that matches existing Windows usage patterns. In the days of Windows 95, keyboards had no “Windows” key (called the “Super” keyContinue reading “Linux: Use Ctrl+Esc for Activities Overview”

Limitation Forwarding though Godaddy Workspace Email to Google Gmail

This blog post describes a workaround for an issue that I experienced while configuring email forwarding, specifically using godaddy webmail email forwarding to gmail addresses. This issue may apply to other configurations and providers. To summarize, it appears that if you forward through godaddy Workspace Webmail to a gmail address, google does not seem toContinue reading “Limitation Forwarding though Godaddy Workspace Email to Google Gmail”

Reusing Modular Blocks with the Contentstack SaaS Content Platform

This blog post suggests patterns for reusing content from modular blocks fields of the Contentstack SaaS content platform. To address multiple possible interpretations of the phrase “reusing modular blocks” in the title: This blog post describes how to use data from modular blocks fields of separate entries when rendering or otherwise processing an entry. ThisContinue reading “Reusing Modular Blocks with the Contentstack SaaS Content Platform”

When to Use Group, Reference, Global, and Modular Blocks Fields in the Contentstack SaaS Content Platform

This blog post provides guidance on when to use group fields, global fields, reference fields, and modular blocks fields with the Contentstack SaaS content platform. Effective use of these data modeling features provides significant capabilities that can improve CMS user experiences as well as developer productivity and satisfaction. If you have perspectives on when toContinue reading “When to Use Group, Reference, Global, and Modular Blocks Fields in the Contentstack SaaS Content Platform”

TypeScript with the Contentstack JavaScript SDK: The signature Stack of Contentstack.Stack is deprecated

This blog post provides a solution for the following deprecation warning message that may appear when using the Contentstack JavaScript content delivery SDK with TypeScript: The signature ‘(api_key: string, access_token: string, environment_name: string, region?: string, fetchOptions?: object): Stack’ of ‘Contentstack.Stack’ is deprecated. ts(6387) Here is an example line of TypeScript that generates this warning: constContinue reading “TypeScript with the Contentstack JavaScript SDK: The signature Stack of Contentstack.Stack is deprecated”

CMS Glossary: Extension

This blog post provides perspective on the term extension as it is used in content management systems, specifically the Contentstack SaaS headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net An extension provides additional functionality to an existing solution, such as to integrate with otherContinue reading “CMS Glossary: Extension”

CMS Glossary: Entry

This blog post provides perspective on the term entry as it is used in content management systems, specifically the Contentstack SaaS headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net An entry, sometimes called an item or an entity, is a record in the contentContinue reading “CMS Glossary: Entry”

CMS Glossary: Headless

This blog post provides perspective on the term headless as it is used in content management systems, specifically the Contentstack SaaS headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net A headless content management system does not provide software for content delivery. To access theContinue reading “CMS Glossary: Headless”

CMS Glossary: SDK

This blog post provides perspective on the term SDK, or Software Development Kit, as it is used in content management systems, specifically the Contentstack SaaS headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net An SDK is a technology-specific programming library that allows developers toContinue reading “CMS Glossary: SDK”

CMS Glossary: Webhook

This blog post provides perspective on the term webhook as it is used in content management systems, specifically the Contentstack SaaS headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net A webhook is an outbound HTTPS request from one system to another, typically signaling theContinue reading “CMS Glossary: Webhook”

CMS Glossary: API (Application Programming Interface)

This blog post provides perspective on the acronym API, or Application Programming Interface, as it is used in content management systems, specifically the Contentstack SaaS headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net An API is a computer programming interface that allows access toContinue reading “CMS Glossary: API (Application Programming Interface)”

CMS Glossary: Publish

This blog post provides perspective on the term publish as it is used in content management systems, specifically the Contentstack SaaS Headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net Publishing refers to making data from a content management system available to a content deliveryContinue reading “CMS Glossary: Publish”

CMS Glossary: Environment

This blog post provides perspective on the term environment as it is used in content management systems, specifically the Contentstack SaaS Headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net In the context of content management, the term environment can refer to: the difference betweenContinue reading “CMS Glossary: Environment”

CMS Glossary: Asset

This blog post provides perspective on the term asset as it is used in content management systems, specifically the Contentstack SaaS Headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net An asset consists of a binary resource and text metadata about that resource, such asContinue reading “CMS Glossary: Asset”

CMS Glossary: Block

This blog post provides perspective on the term block as it is used in content management systems, specifically the Contentstack SaaS headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net A block is a group of fields. A content type can define a block structureContinue reading “CMS Glossary: Block”

CMS Glossary: Field

This blog post provides perspective on the term field as it is used in content management systems, specifically the Contentstack SaaS headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net A field is an individual data element within an entry, where an entry is aContinue reading “CMS Glossary: Field”

CMS Glossary: Field Type

This blog post provides perspective on the term field type as it is used in content management systems, specifically the Contentstack SaaS Headless CMS. This post is a member of the following glossary: [Contentstack] [SaaS] [Headless] CMS Glossary Index – Deliverystack.net The type of a field determines the basic function, appearance, storage format, and configurationContinue reading “CMS Glossary: Field Type”

[Contentstack] [SaaS] [Headless] CMS Glossary Index

This blog post is a permanent work-in-progress that intends to provide an index of posts in a glossary of terms and acronyms used in the content management industry. Some of these entries and explanations are specific to, or use examples from, the Contentstack SaaS headless CMS. If you know of additional relevant terms or resources,Continue reading “[Contentstack] [SaaS] [Headless] CMS Glossary Index”

All About the URL Field in the Contentstack SaaS Headless CMS

This blog post contains all the information that I have been able to gather about the URL field in the Contentstack SaaS headless content management system. If you have questions or additional information about the URL field, please comment on this blog post. Read the Contentstack documentation for the URL field: About URL field |Continue reading “All About the URL Field in the Contentstack SaaS Headless CMS”

.NET 6: Normalize JSON Before Deserialization with the Contentstack SaaS Headless CMS

This blog post demonstrates how to use .NET 6 to modify JSON from the Contentstack SaaS headless CMS before deserialization of that data to entry models, which are .NET types arranged to match the structure of the JSON. .NET Core Headless CMS Entry Models and Entry Model Classes – Deliverystack.net Almost any use of aContinue reading “.NET 6: Normalize JSON Before Deserialization with the Contentstack SaaS Headless CMS”

.NET 6: Modify JSON in Memory with the System.Text.Json.Nodes Namespace

This blog post contains some notes to help me remember how to use the System.Text.Json.Nodes namespace in .NET 6 and beyond to modify JSON in memory. The C# code that I previously migrated from Newtonsoft.Json to System.Text.Json serialized and deserialized between objects and JSON, but never explicitly updated the JSON. Recently, I had a needContinue reading “.NET 6: Modify JSON in Memory with the System.Text.Json.Nodes Namespace”

Previewing without Publishing in the Contentstack SaaS Headless CMS

This blog post describes an experimental technique that uses content delivery APIs to access content management environments in the Contentstack SaaS headless CMS. For solutions that use a limited subset of content delivery APIs, this approach could support CMS previewing environments that render saved content immediately, without the need to publish those changes to aContinue reading “Previewing without Publishing in the Contentstack SaaS Headless CMS”

Contentstack JSON Data Formats: Complex Fields

This blog post, part of a series about JSON data formats in the Contentstack SaaS headless CMS, describes how Contentstack represents complex field values. Complex fields are those that consist of JSON rather than scalar values. Contentstack JSON Data Formats: Introduction and Scalars – Deliverystack.net Rather than storing zero or more simple, scalar values, complexContinue reading “Contentstack JSON Data Formats: Complex Fields”

Contentstack JSON Data Formats: Assets and File Fields

This blog post, part of a series about JSON data formats in the Contentstack SaaS headless CMS, describes how Contentstack represents media asset metadata and references as JSON. Contentstack JSON Data Formats: Introduction and Scalars – Deliverystack.net In Contentstack, assets store metadata about files uploaded into the CMS. Technically, assets are like entries in thatContinue reading “Contentstack JSON Data Formats: Assets and File Fields”

Contentstack JSON Data Formats: Entry Structure

This blog post, part of a series about JSON data formats in the Contentstack SaaS headless CMS, describes how Contentstack represents entries as JSON, where entries are records in the CMS that contain values for the fields defined by the content types associated with those entries. Contentstack JSON Data Formats: Introduction and Scalars – Deliverystack.netContinue reading “Contentstack JSON Data Formats: Entry Structure”

Contentstack JSON Data Formats: Modular Blocks Fields

This blog post, part of a series about JSON data formats in the Contentstack SaaS headless CMS, describes how Contentstack represents data stored in modular blocks fields as JSON. Contentstack JSON Data Formats: Introduction and Scalars – Deliverystack.net Contentstack modular blocks fields contain blocks of data. In an entry, a modular blocks field may containContinue reading “Contentstack JSON Data Formats: Modular Blocks Fields”

Contentstack JSON Data Formats: Introduction and Scalars

This blog post introduces a series about JSON data formats used by the Contentstack SaaS headless CMS. Contentstack JSON Data Formats: Introduction and Scalars – Deliverystack.net Contentstack JSON Data Formats: Modular Blocks Fields – Deliverystack.net Contentstack JSON Data Formats: Entry Structure – Deliverystack.net Contentstack JSON Data Formats: Assets and File Fields – Deliverystack.net Contentstack JSONContinue reading “Contentstack JSON Data Formats: Introduction and Scalars”

What Does It Mean for a CMS to Be Headless?

This blog post provides perspectives on what it means for a content management system to be considered headless. A content management system structures and separates data from its use, allowing domain experts to maintain content used by delivery systems such as websites and mobile applications. Rather than providing HTML generation engines, headless CMS expose contentContinue reading “What Does It Mean for a CMS to Be Headless?”

Coupling in [Headless] CMS

This blog post discusses forms of coupling between content management and content delivery systems in the context of headless CMS. Vendors use the term decoupled rather loosely and inconsistently, generally to indicate that content delivery does not depend on content management, but without describing exactly how. As I tried to understand what decoupled means, aContinue reading “Coupling in [Headless] CMS”

Use Static Files and Vercel without the .html Extension in URLs

This blog post explains how you can configure a Vercel website to allow URLs for static HTML files without requiring the .html extension in URLs. By default, Vercel requires that URLs for static HTML files include the .html extension. An HTTP request for the URL /path/file.html will retrieve the file at that path, but anContinue reading “Use Static Files and Vercel without the .html Extension in URLs”

Export Child Entry Metadata with Entries from Content Management Systems

This blog post suggests that, when exporting the JSON representation of an entry (record) from a content management system, that JSON should include metadata about the children of the entry based on its URL path. For example, when exporting the JSON representation of the home page at the URL /, that JSON should include metadataContinue reading “Export Child Entry Metadata with Entries from Content Management Systems”

Render Links to Edit Content When Previewing with Headless CMS

This blog post suggests techniques for rendering links to edit content when previewing or otherwise viewing content rendered from a headless content management system (CMS), which can facilitate CMS users maintaining the site. This post describes the URLs used to edit entries (records) in the Contentstack SaaS headless CMS, but rather than describing an implementationContinue reading “Render Links to Edit Content When Previewing with Headless CMS”

Use Your Own Domain for a Vercel Site

This blog post explains how to use your own domain for a site managed by Vercel. For each project, such as a website, Vercel creates subdomains within its own domains. For a project named vercel under the deliverystack Vercel account, Vercel created the following subdomains: vercel-git-main-deliverystack.vercel.app vercel-gamma-self.vercel.app vercel-deliverystack.vercel.app The pattern appears to be projectname-source-branchname-accountname.vercel.app whereContinue reading “Use Your Own Domain for a Vercel Site”

Azure .NET Core Headless CMS

This blog post intends to clarify an apparent misunderstanding about .NET with headless CMS, which is that you can use Azure and .NET with any SaaS headless CMS, whether or not that CMS uses .NET internally. If you can use SaaS for headless CMS, then consider all available SaaS headless CMS offerings regardless of underlyingContinue reading “Azure .NET Core Headless CMS”

System Values in the Contentstack SaaS Headless CMS

This blog post describes some values to note when working with the Contentstack SaaS headless content management system. If you know of additional important values for working with Contentstack and Contentstack solutions, please comment on this blog post. Username: The username or email address of the CMS user. Password Hint: A reminder of the passwordContinue reading “System Values in the Contentstack SaaS Headless CMS”

Notes on Static File and Directory Naming for Headless CMS (and Vercel)

This blog post discusses some issues mapping URLs to file system paths and entries in headless content management systems. At least in the context of web solutions driven by content management systems, solutions that involve static files must implement file and directory naming rules. If you have experience or perspectives on this issue, please commentContinue reading “Notes on Static File and Directory Naming for Headless CMS (and Vercel)”

CMS and Headless CMS Components and Implementation

This blog post describes major components and features of content management systems, which let non-technical subject matter experts edit content used by downstream systems such as websites. It then lists some aspects specific to headless CMS solutions. If you have any suggestions to add to these lists, please comment on this blog post. This postContinue reading “CMS and Headless CMS Components and Implementation”

General Page Modeling with the Contentstack SaaS Headless CMS

This blog post presents some perspectives on data modeling to support a simple, generic web page with the Contentstack SaaS headless CMS. This topic considers site data (visible on almost every page), shared data (visible on multiple pages), metadata at the page level, and page data. If you know of additional categories of data orContinue reading “General Page Modeling with the Contentstack SaaS Headless CMS”

Export Data from the Contentstack SaaS Headless CMS to Files

This blog post describes some considerations for exporting data from Contentstack to a file system including both JSON and binary media. I have already implemented a static site generator for .NET and intend to extend that to generate JSON and media files described in this post as time permits (and especially if anyone shows anyContinue reading “Export Data from the Contentstack SaaS Headless CMS to Files”

SaaS Headless CMS Fundamental Concepts

This blog post attempts to provide an overview of some fundamental concepts for working with SaaS headless content management systems. Content Management System (CMS) A content management system separates text and media content from presentation and logic, allowing re-use of content managed by non-technical subject matter experts. Developers write code that retrieves data from theContinue reading “SaaS Headless CMS Fundamental Concepts”

Where Do .NET Developers Fit in the Jamstack?

This blog post provides information about opportunities in the Jamstack for .NET developers. There are doubtless other opportunities for .NET developers in the service-oriented software economy. If you have additional suggestions to share, please comment on this blog post. Introduction In general, Jamstack refers to technologies used to manage websites that consist of static HTMLContinue reading “Where Do .NET Developers Fit in the Jamstack?”

Quick Introduction to GraphQL with the Contentstack SaaS Headless CMS

This blog post provides pointers for using GraphQL with the Contentstack SaaS headless CMS. I am not an expert on or proponent of GraphQL, but these are some things I have learned from working with Contentstack. GraphQL is a data query and manipulation technology intended for HTTPS service APIs that accept and return JSON. YouContinue reading “Quick Introduction to GraphQL with the Contentstack SaaS Headless CMS”

Troubleshooting the Contentstack SaaS Headless CMS

This blog post contains guidance for troubleshooting potential issues with the Contentstack SaaS headless content management system. There are many different kinds and causes of potential issues; not all these suggestions apply in every case. Some of this guidance may apply to troubleshooting any system, but especially service-oriented applications on SaaS. If you have additionalContinue reading “Troubleshooting the Contentstack SaaS Headless CMS”

Avoiding Direct Headless CMS Service Access

TThis blog post describes techniques to avoid tighter coupling introduced by calling service-oriented application APIs directly, such as those exposed by headless content management systems (CMS). If you have suggestions for further insulating systems, please comment on this blog post. Service-oriented architectures including headless CMS intend to loosen coupling between systems. Using HTTPS APIs ratherContinue reading “Avoiding Direct Headless CMS Service Access”

Differentiating Headless CMS Products

The headless CMS software space is crowded with competitors, which can make it difficult for prospective customers to evaluate available offerings. This blog post presents some criteria that can help to differentiate headless CMS products. If you have additional significant factors by which to evaluate headless CMS products, please comment on this blog post. WhenContinue reading “Differentiating Headless CMS Products”

Data Access Points in the Contentstack SaaS Headless CMS

This blog post contains information about techniques that you can use to access data in the Contentstack SaaS headless CMS. First, the Content Management API and Webhooks sections describe facilities not intended for content delivery environments. The remaining sections describe Contentstack content delivery services, also called APIs. Content Management API The content management API isContinue reading “Data Access Points in the Contentstack SaaS Headless CMS”

Comparing Rust and C#

This blog post contains perspectives on similarities and differences between the rust programming language and the C# programming language for .NET. This post focusses on command line and background processes and does not consider native user interface technologies for Windows or Linux, although for now at least, C# is almost certainly more appropriate for WindowsContinue reading “Comparing Rust and C#”

View and Configure Keyboard Shortcut in Visual Studio and Visual Studio Code

Knowledge of a few keyboard shortcuts can significantly increase user and especially developer productivity. Microsoft Visual Studio and Visual Studio Code have countless features and therefore a significant number of keyboard shortcuts. To get the best value from these tools, use the techniques in this post to learn or set keyboard shortcuts fore the featuresContinue reading “View and Configure Keyboard Shortcut in Visual Studio and Visual Studio Code”

Working with Single and Multiple Reference Fields in the Contentstack SaaS Headless CMS

This blog post explains how the Contentstack SaaS headless CMS stores the values of reference fields as lists even when there is only a single referenced entry. In Contentstack, each simple field type can store either a single value, or multiple values. For example, to associate a single date with a event, a developer couldContinue reading “Working with Single and Multiple Reference Fields in the Contentstack SaaS Headless CMS”

Contentstack SaaS Headless CMS Content Delivery Differentiating Factors

This blog post describes factors that I believe differentiate Contentstack from competing SaaS headless CMS products considering only features that affect content delivery. I tried to focus on features that are not present in almost every SaaS headless CMS. Contentstack is not the only vendor that provides each of the features listed here, although IContinue reading “Contentstack SaaS Headless CMS Content Delivery Differentiating Factors”

SaaS Headless CMS Vendor and Customer Responsibilities

This blog post contains some notes on SaaS headless content management system vendor and customer responsibilities. If you have additional perspectives on this topic, please comment on this blog post. Update 24..June.2021: This diagram does not reflect that Customer Applications can deliver data to the Content Delivery tier via HTTPS services and webhooks, nor thatContinue reading “SaaS Headless CMS Vendor and Customer Responsibilities”

Oh No, Could Web Tracking Move to the Application Server Tier?

Statistics can be useful but can also lead to false conclusions, especially when the data is inaccurate. Web statistics are no exception, particularly when different systems provide different numbers. For example, I use the WordPress blogging platform, which provides some traffic statistics. I recently upgraded the hosting plan to include google analytics and the numbersContinue reading “Oh No, Could Web Tracking Move to the Application Server Tier?”

Fields Absent when Limiting Responses with Only in the Contentstack SaaS Headless CMS

This blog post explains one reason why expected fields may be absent when attempting to limit fields returned for entries in the Contentstack SaaS headless CMS. By default, when you retrieve an entry, the CMS returns all its fields, potentially excluding some system metadata such as workflow state unless explicitly requested. You can use theContinue reading “Fields Absent when Limiting Responses with Only in the Contentstack SaaS Headless CMS”

Konabos Konaverse Podcast with Deliverystack.net Author John West

My friend Akshay at @Konabos Consulting invited me to join him in an episode of his #Konaverse podcast series. We did not intend to talk about technology, and I don’t think I even mentioned anything relevant to this blog. Hearing our conversation might help readers get to know a little about me as a person.Continue reading “Konabos Konaverse Podcast with Deliverystack.net Author John West”

Shortcut/FavIcon with SaaS Headless CMS and ASP.NET Core Razor Pages

This blog post explains one way to let CMS users control shortcut/favorite icons with SaaS headless content management systems and provides an ASP.NET Core razor pages view component implementation. This prototype is almost exactly like the prototype for google analytics that I described in a previous blog post, so I will not repeat that content.Continue reading “Shortcut/FavIcon with SaaS Headless CMS and ASP.NET Core Razor Pages”

Google Analytics with SaaS Headless CMS and ASP.NET Core Razor Pages

This blog post explains one way to add tracking for google analytics to a web content delivery solution for a SaaS headless content management system. To add google analytics tracking analytics, we can embed a piece of JavaScript with a google identifier on every page. While .NET provides various techniques for managing store such identifiers,Continue reading “Google Analytics with SaaS Headless CMS and ASP.NET Core Razor Pages”

SaaS Headless CMS and Service Oriented Application Objectives and Advantages

This blog post describes some of the objectives and advantages of SaaS headless content management systems and service-oriented architectures in general. Of course anything can be implemented well or poorly, and it is possible to build any solution on any platform. SaaS headless CMS systems endeavor to provide the following advantages relative to other contentContinue reading “SaaS Headless CMS and Service Oriented Application Objectives and Advantages”

Deserializing to Custom Types with System.Text.Json

This blog post contains information about using System.Text.Json (STJ) to deserialize JSON to custom types rather than simple primitives such as string. I am in the process of migrating from Newtonsoft.Json to System.Text.Json (STJ). Migrating C# from Newtonsoft.Json to System.Text.Json for .NET 5 – Deliverystack.net I am not necessarily well-informed, so this is an overviewContinue reading “Deserializing to Custom Types with System.Text.Json”

Workaround for Circular Dependencies in .NET and ASP.NET Core

This blog post explains an approach to resolving circular service dependencies in .NET and ASP.NET Core. In this context, services are .NET types that the dependency framework injects into the application, not HTTPS services for exchanging JSON. Sometimes, two services depend on each other. For example, I have an IDeliveryClient implementation that deserializes JSON entriesContinue reading “Workaround for Circular Dependencies in .NET and ASP.NET Core”

Evaluating [SaaS] [Headless] [CMS] Data Modeling Capabilities

This blog post contains information about evaluating data modeling capabilities in SaaS headless content management systems, specifically features available in content types that define different types of structures for data storage. Data modeling is one of the critical features of and differentiating factors between headless content management systems. If you have additional perspectives about modelingContinue reading “Evaluating [SaaS] [Headless] [CMS] Data Modeling Capabilities”

SaaS Headless CMS ASP.NET Core Razor Pages Data-Driven Breadcrumb View Component

This blog post describes a prototype ASP.NET Core razor pages view component that renders a breadcrumb based on the information architecture of the website as determined by its URL hierarchy. This post is a continuation of a series progressing an ASP.NET razor pages solution architecture using the Contentstack SaaS headless CMS. The following post containsContinue reading “SaaS Headless CMS ASP.NET Core Razor Pages Data-Driven Breadcrumb View Component”

ASP.NET Razor Pages Legacy/Vanity URL Redirect Prototype for SaaS Headless CMS

This blog post explains a prototype for a solution that ASP.NET Core razor pages with the Contentstack SaaS headless content management system to manage redirects from legacy and alternate to current URLs with the Contentstack SaaS headless content management system. This post is about the architectural approach rather than the code shown. When a URLContinue reading “ASP.NET Razor Pages Legacy/Vanity URL Redirect Prototype for SaaS Headless CMS”

SaaS Headless CMS ASP.NET Core Razor Pages Data-Driven Top Navigation View Component

This blog post describes a prototype ASP.NET Core razor pages view component that renders a top navigation based on the information architecture of the website as determined by its URL hierarchy. This post is a continuation of a series progressing an ASP.NET razor pages solution architecture using the Contentstack SaaS headless CMS. An ASP.NET CoreContinue reading “SaaS Headless CMS ASP.NET Core Razor Pages Data-Driven Top Navigation View Component”

Use JsonConverters to Mimic Dependency Injection During Deserialization

This blog post presents an approach that abstracts access to the entries specified in reference fields in the Contentstack SaaS headless CMS, demonstrating a technique that provides functionality similar to dependency injection during deserialization from JSON with .NET and System.Text.Json. Contentstack content types can include reference fields, which allow entries to reference other entries. TheContinue reading “Use JsonConverters to Mimic Dependency Injection During Deserialization”

Contentstack .NET Group Model for Page Metadata Fields

This blog post explains how I modeled a group of fields that appear in all content types that represent pages in the Contentstack SaaS headless content management system for a solution that uses ASP.NET razor pages. Specifically, this group contains metadata fields used for navigation, sitemap.xml and robots.txt, search results, to control the layout viewContinue reading “Contentstack .NET Group Model for Page Metadata Fields”

Cannot get the value of a token type ‘StartObject’/converter ‘…’ read too much or not enough

This blog post describes two exceptions that I experienced while converting Newtonsoft JsonConverters to System.Text.Json JsonConverters and the related solutions to both issues in the hopes that it may assist developers that may face the same issue(s). Update 1.June.2021: This is a bit embarrassing, but I eventually remembered/realized that the CMS models a Reference fieldContinue reading “Cannot get the value of a token type ‘StartObject’/converter ‘…’ read too much or not enough”

Migrating C# from Newtonsoft.Json to System.Text.Json for .NET 5

This blog post contains my notes in migrating a small C# .NET codebase from Newtonsoft.Json to System.Text.Json (STJ). First, let me thank Newtonsoft, which has close to a billion dowloads, for making JSON processing possible before Microsoft and for shaping STJ. There are plenty of existing resources about this, but to help me remember, theseContinue reading “Migrating C# from Newtonsoft.Json to System.Text.Json for .NET 5”

Hosting ASP.NET Core Razor Pages and Web APIs in a Single Project

This blog post explains one way that you can host ASP.NET Core Web APIs and Razor Pages in a single project. Performance is best if the client has a fast network connection to the server. The fastest connection is probably from a host to itself. This is not the most scalable configuration for production (soContinue reading “Hosting ASP.NET Core Razor Pages and Web APIs in a Single Project”

ASP.NET Core Web API Prototype, Part IV: Code and Concerns

This is the fourth and final blog post in a series that explains an approach to implementing ASP.NET Core Web API servers and .NET clients and provides an example implementation of a service that maps URL paths to information about corresponding entries in the Contentstack SaaS headless CMS. This entry describes some of the outstandingContinue reading “ASP.NET Core Web API Prototype, Part IV: Code and Concerns”

ASP.NET Core Web API Prototype, Part III: Prototype Implementation

This series of blog post explains an approach to implementing ASP.NET Core Web API servers and .NET clients and provides an example implementation of a service that maps URL paths to information about corresponding entries in the Contentstack SaaS headless CMS. This entry describes the prototype implementation. ASP.NET Core Web API Prototype, Part I: .NETContinue reading “ASP.NET Core Web API Prototype, Part III: Prototype Implementation”

ASP.NET Core Web API Prototype, Part II: Requirements for Mapping URL Paths to Contentstack Entries

This series of blog post explains an approach to implementing ASP.NET Core Web API servers and .NET clients and provides an example implementation of a service that maps URL paths to information about corresponding entries in the Contentstack SaaS headless CMS. This entry requirements and considerations for the example Web API. ASP.NET Core Web APIContinue reading “ASP.NET Core Web API Prototype, Part II: Requirements for Mapping URL Paths to Contentstack Entries”

ASP.NET Core Web API Prototype, Part I: .NET Web API Server/Client Overview

This series of blog post explains an approach to implementing ASP.NET Core Web API servers and .NET clients and provides an example implementation of a service that maps URL paths to information about corresponding entries in the Contentstack SaaS headless CMS. ASP.NET Web APIs use JSON to expose data and functionality as HTTPS services. ThisContinue reading “ASP.NET Core Web API Prototype, Part I: .NET Web API Server/Client Overview”

Layers, Types, and Considerations for Content Delivery Caching with Headless Content Management

This blog post contains information about layers and types of caches in content delivery tiers of headless content management systems. For the purposes of this blog post, features such as edge caches and CDNs are considered as a single layer. While the internals of content management tiers of headless content management systems doubtless leverage databaseContinue reading “Layers, Types, and Considerations for Content Delivery Caching with Headless Content Management”

Content Modeling with the Contentstack SaaS Headless CMS

A solid, long-term information architecture, specifically in the form of stacks, content types, and collections of entries, optimizes implementation and maintenance. This blog post contains information about content modeling with the Contentstack SaaS headless content management system. If you have additional suggestions about related topics, please comment on this blog post. I am trying toContinue reading “Content Modeling with the Contentstack SaaS Headless CMS”

Making the Transition to SaaS Headless CMS and Service Architectures

While the concepts are simple, my experience with other systems and architectures presented obstacles to comprehending and adopting SaaS headless content management philosophies and techniques. This blog post intends to provide guidance for architects, developers, and organizations migrating to headless content management systems from other web experience management platforms, though some suggestions are more broadContinue reading “Making the Transition to SaaS Headless CMS and Service Architectures”

CMS and Web Industry Trends, May 2021

In no particular order, this blog post written in May of 2021 presents some perspectives on technical trends in the web application industry, especially the paradigm shifts towards SaaS-hosted service-oriented applications and serverless infrastructure. I don’t expect any of this to be new information to most readers, but maybe it deserved a summary. HTTPS ServicesContinue reading “CMS and Web Industry Trends, May 2021”

Headless CMS ASP.NET Razor Pages Partial View Component Architecture

This blog post provides an example of using a modular field in the Contentstack SaaS headless CMS to let the CMS user select an ASP.NET Core Razor Pages partial view to render each block. This blog post depends on information and code provided in the following previous blog posts. .NET Core Headless CMS Entry ModelsContinue reading “Headless CMS ASP.NET Razor Pages Partial View Component Architecture”

Use .NET Attributes to Specify Entry Model Classes for CMS Content Types

This blog post explains how you can use .NET attributes to indicate entry model class(es) to represent entries based on different content types in the Contentstack SaaS headless CMS, although this technique should work with any headless CMS. .NET Core Headless CMS Entry Models and Entry Model Classes – Deliverystack.net When you need to retrieveContinue reading “Use .NET Attributes to Specify Entry Model Classes for CMS Content Types”

Loading…

Something went wrong. Please refresh the page and/or try again.


Follow

Email.