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 can implement to provide a browser-based UI that accesses other systems and store values to Entries using JSON schema of your choice.
CMS modeling feature considerations include the following.
- The range of available Field Types.
- Support for repeating Values within a single Field.
- Support for Groups of Fields.
- Support for repeating Groups of Fields.
- Support for nesting Fields within Fields.
- Flexible but consistent data structures akin to Contentstack Modular Blocks (https://deliverystack.net/2020/07/22/how-contentstack-modular-blocks-fit-net-core/)
- Data modeling component reusability (reusable Field definitions, Content Type inheritance, and so forth)
- Support for hierarchies of Fields within Content Types.
- Support for hierarchical relationships between Entries.
- Support for validating references between Entries.
- Minimal use of vendor-specific data formats.
- Support for validating Field values including relationships between Fields.
- RESTful API support for serialization/deserialization of Content Type definitions, Entries, Assets, and any other data to JSON files for import/export between systems.
Choosing to use .NET Core for content delivery should have little, if any, impact on content modeling.
Some resources on content modeling:
If you know of additional CMS content modeling considerations or resources, please comment on this blog post and I will update these lists accordingly.