Skip to main content
A Content item is a concrete instance of a ContentType that follows the structure defined by its associated layout component. Content items maintain status-based versioning (draft/published) and reference specific package versions for stability.

Key Concepts

ContentType Binding

References a specific ContentType version that determines the layout, allowed components, and package version.

Self-Contained

Stores type version reference and maintains derived package and layout references for rendering stability.

Template Support

Content can serve as templates that inherit type structure and can be used as starting points for new content.

Compiled Output

System automatically generates BindJS code from JSON content structure for native rendering.

The Content Object

string
Unique identifier (UUID)
string
Reference to the ContentType
number
Version of the ContentType used
number
Content version number (increments on publish)
number
Last published version number (null if never published)
string
Package version being used (derived from typeVersion, immutable)
string
Display name
string
Structured markdown description for semantic search
string
Current status: draft, modified, published, unpublished, or deleted
boolean
Indicates if this is a template content
object
JSON structure where layout properties and component arrays are direct properties
string
Auto-generated BindJS code for rendering (system-managed)
string[]
Categories/attributes for filtering
object
Additional content metadata
string
Creation timestamp (ISO format)
string
Last update timestamp (ISO format)

Example Content

Content Structure

Content is stored as JSON where layout properties and component arrays are direct properties:

Single Section Example (Article)

Multi-Section Example (Quiz)

Key Principles

  1. Direct Properties: Layout properties and component arrays are direct properties of the content object
  2. Layout Properties: Properties defined by the layout component (title, subtitle, etc.)
  3. Component Arrays: Arrays of components, conventionally named “components” but can be any name
  4. Multiple Sections: Layouts can define multiple component arrays (e.g., “questions”, “answers”)
  5. Type Validation: All properties validated against the ContentType’s generated schema

Description Best Practices

Content descriptions follow a structured format for semantic search:
Aim for 250-350 characters. Maximum is 500 characters.