Content modeling
A content model is the set of content types (each a named schema of fields) and taxonomies (category trees for classification) your authors work with. You define both from the admin area; every content item then belongs to exactly one type, and its fields, search behavior, and GraphQL shape follow from that type’s definition. This page covers modeling from the administrator’s seat; for how the model appears to API consumers, see the content model developer page.
How the model is organized
Section titled “How the model is organized”Types and taxonomies are defined once, instance-wide, and then assigned to repositories: each repository’s settings list the types its authors may create and the taxonomies they may categorize with (see Repositories). The same type can serve several repositories.
Five core asset types ship with CM Box — File, Folder, Image, Upload, and Video — and cannot be edited.
Type administration requires the admin.types.* permissions, and taxonomy
administration the admin.taxonomies.* and admin.categories.*
permissions; the Content Architect bundle covers all of them (see
Security).
Create a content type
Section titled “Create a content type”- In the admin area, open Types. The list shows every type as a card (or a table), with a repository filter and name search; core types are labeled Core Asset.
- Click the add button and fill in the Add New Type dialog:
- Display Name: — the human name authors see.
- Name (formatted): — filled in automatically as the API-safe name. It cannot be changed later.
- Description (optional):
- Click Add, then open the new type to define its fields.
Edit a type
Section titled “Edit a type”The type editor is arranged as panels: Type Properties, the field editor, the Field Configurator, and the Available Type Fields palette.
Type properties
Section titled “Type properties”- Type Name — the immutable API name (read-only).
- Display Name and Description — editable.
- Type Icon — pick the icon shown for items of this type.
- Type Locked? — see type locking below.
- Contributor Form Options — Metadata Only (items of this type have no attached file), Require File (a native file must be attached to save), and Enable External Preview. Metadata Only and Require File are mutually exclusive.
- Sites Options — Use as Site Page? marks the type as usable as a page in the site builder.
Fields
Section titled “Fields”Drag a field type from Available Type Fields into a field group in the editor (click Add Field Group if none exists yet — groups organize the contributor form). Then select the field and set its options in the Field Configurator:
- Label — what contributors see; Field Name — the machine name, editable only until the type is first saved with the field; and a Description.
- Default Value, Required, Hidden, Read Only.
- Searchable — adds the field to the search index.
- Type-specific options, for example: List on a text field (accept a list of values), Include Time on a date field, Content References on an item reference (which types may be referenced), dropdown options with Value and Label on select fields, and a JSON Schema form definition on JSON fields.
Click Preview Form to see the contributor form, and Save to apply the changes.
Field datatypes
Section titled “Field datatypes”| Field type | Holds |
|---|---|
| Text | Text up to 2,000 characters |
| Large Text | Unlimited plain text |
| Rich Text | Unlimited rich text (WYSIWYG editor) |
| Single Select | One value from a dropdown |
| Multi Select | Multiple values from a list |
| True/False | A boolean |
| Number | A signed whole number |
| Decimal | A decimal / floating-point value |
| Date | A date, optionally with time |
| Site Page | A link to a CM Box site page |
| JSON Data | Structured JSON, optionally with a schema-driven form |
| Item Reference | References to other content items |
| Content Query | A saved query over content items |
Field names to avoid
Section titled “Field names to avoid”The editor blocks saving when field names are missing, duplicated, or
collide with the built-in field type names (such as text, large_text,
rich_text, boolean, number, datetime, json, item_reference) —
you will see “Reserved Field names found, please update.” and the offending
name highlighted in red. CM Box also reserves its system field names —
id, slug, name, type, status, and others — for every item; do not
use them as your own field names. The full reserved list is in the
content model reference.
Lock a type
Section titled “Lock a type”Once a type is in production use, switch Type Locked? on in its
properties and save. A locked type shows a padlock in the type list, and CM
Box rejects any edit or deletion of the type until it is unlocked — the
guard is enforced server-side, not just in the UI. Locking and unlocking are
separate permissions (admin.types.lock and admin.types.unlock), so you
can allow a wider group to lock types than to unlock them.
Administer taxonomies
Section titled “Administer taxonomies”Taxonomies are trees of categories that authors apply to items. Like types, they are defined instance-wide and assigned to repositories in repository settings.
Create a taxonomy
Section titled “Create a taxonomy”- In the admin area, open Taxonomies and click Add taxonomy.
- Enter a Name and an optional Description, then click Add.
- Open the taxonomy to build its category tree.
Build and maintain the category tree
Section titled “Build and maintain the category tree”- Add categories — type into Add top-level category… (or the add child row under an expanded category) and press Enter. Each category gets an API name, suggested automatically and editable at creation; it is used by content filters and must be unique within the taxonomy. Pasting multiple lines creates categories in bulk.
- Rename — double-click a category name (or press F2, or use the pencil button) and edit inline.
- Reorder or re-parent — drag a category by its handle. Trees can nest to any depth.
- Edit details — select a category to open its drawer and edit its Name, Description, and Custom Properties (its API Name is fixed after creation).
- Delete — the trash button removes a category and all of its sub-categories after confirmation. Deleting the whole taxonomy from the taxonomy list likewise removes all its categories and cannot be undone.
The Taxonomy properties panel edits the taxonomy’s own Name, Description, and Custom Properties; its Short Name is assigned by the system and read-only.
Related
Section titled “Related”- Content model — system fields, reserved names, and how types appear through the API
- Repositories — assigning types and taxonomies to a repository
- Security — granting the
admin.types.*and taxonomy permissions