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:
The type of a field determines the basic function, appearance, storage format, and configuration options for a field. The field types available are critical to its data modeling capabilities, which are a significant differentiator between CMS platforms.
In general, each field corresponds to a key in the JSON representation of the entry. The field type indicates the storage format associated with each such key.
Scalar field types store a single value, such as a single-line of text, a date, a Boolean, or a number, which all appear as strings in the JSON representation of entries.
Complex field types can store JSON structures nested within the JSON representation of the entry. For example, some CMS (including Contentstack) provide a rich text editor that stores content as JSON (notation) rather than HTML (markup).
Some field types, such as multiselect lists, can store multiple values as JSON lists. The Contentstack multiple property allows almost any field to store multiple values.
Some CMS allow nesting of fields within other fields. For example, Contentstack provides group fields and modular blocks fields that can contain other fields, which appear as nested keys within the JSON representation of the entry.
- Contentstack JSON Data Formats: Introduction and Scalars – Deliverystack.net
- Contentstack JSON Data Formats: Modular Blocks Fields – Deliverystack.net
All CMS come with several default field types.
Most CMS allow developers to implement custom field types that can integrate with other systems and store content in any format they choose. For example, a custom field type may allow a CMS user to select a product from an external system and store its identifier as the value of the field in the entry.
CMS vendors and their technology partners often use provide custom field types as components of their integration solutions, typically including source code that can be used as examples for implementing similar solutions with other technologies. Contentstack provides several custom field types that are disabled by default and can provide source code for additional custom field types.
In general, a content type can define any number of fields of any type, and in the case of nested fields, at any level within limits defined by the CMS vendor. One exception is the Contentstack URL field type, which can only appear once in each content type and only at the root of the content type
Contentstack Documentation on Field Types: