Bosca / CMS

The content model

A typed, hierarchical library

Everything in the CMS is organized the same way: content lives in collections, every item has a metadata record that describes it, and four complementary systems classify it — so you can organize by structure and by meaning at once.

Collections

Folders that hold folders

Collections nest into a hierarchy with configurable ordering. Standard, Folder, and Queue types shape how a collection behaves, and each one tracks its own workflow state independently of the items inside it.

  • Its own attributes, labels, workflow state, and language variants ride on the collection, not just its children.
  • Four visibility flags — Public, Public List, Public Supplementary, Searchable — gate what anonymous visitors see.
  • Group-based permissions grant view, edit, manage, and admin access at any level of the tree.
a collection tree
  • Handbook standard
    • Policies folder
    • Code of Conduct published
    • Onboarding guide
  • Incoming queue
    • Draft Post draft

Metadata

One record describes everything

Behind every item is a metadata record: name, content type, language tag, free-form attributes, labels, categories, and source tracking — the same description record for every kind of content.

  • The item's body — the rich text, the video, the data record — is separate from the metadata that describes it.
  • Free-form attributes hold whatever a content type needs — a reading time, a location, a price.
  • Explicit, directional relationships connect records — a featured image, a translation, a related article.
metadata.json
{
  "name": "Launch Keynote",
  "contentType": "video/mp4",
  "languageTag": "en",
  "labels": ["keynote", "2026"],
  "categories": ["Events"],
  "source": { "id": "upload" }
}

Item kinds

One library, many kinds

Every kind of content shares the same metadata, workflow, and publishing rules — but each has a body suited to what it is.

Documents

Rich text for articles and pages, edited collaboratively; body separate from metadata.

Guides

Ordered, step-based content — each step its own record, with optional scheduled recurrence.

Data

Structured records typed by a data template and edited through a generated form.

Media

Video, audio, and images with adaptive streaming, previews, and auto-transcription.

Bibles

Scripture translations with languages, books, and chapters, browsable in the reader.

Supplementary

Files attached to a collection or item by key — worksheets, transcripts, data exports.

Classification

Four ways to organize

Structure and meaning are different problems, so the CMS gives you different tools — used together, they organize content without ever duplicating it.

Collections

hierarchy

The 1:1 home — an item lives in a collection, which nests inside other collections.

Categories

cross-cutting

Flat, name-only buckets an item can belong to many of at once — topics, series, segments.

Traits

descriptive

Named-and-described qualifiers editors apply consistently — Featured, Evergreen, Time-sensitive.

Labels

internal

Free-form string tags on the record itself for lightweight, internal grouping.

Templates

Blueprints for new content

A template defines the shape of what editors create — typed attribute slots, a schema, and default attribute values that pre-fill on every new item. There is a template type for each content kind: document, data, guide, and collection.

  • Collection templates carry filters, ordering rules, and configuration for the collections they mint.
  • Guide templates hold the guide type, an optional recurrence rule, and the step blueprint.
  • Template changes apply to content created afterward — existing items are never rewritten underneath you.
document template
{
  "type": "Document",
  "attributes": [
    { "key": "readingTime", "type": "int" }
  ],
  "defaultAttributes": { "template": "article" },
  "schema": { /* expected shape */ }
}

Keep exploring

More on the CMS