Core concepts
Almost everything on this site builds on a small set of ideas. If you read only one page, read this one. It introduces the vocabulary in the order the platform actually depends on it, using a single running example: a real Packt book, Hands-On Machine Learning with Go.
The most important idea is the separation between the thing you own and the thing you sell. Packt owns a Work — the intellectual property and the rights that govern it. From that one Work, the platform produces many sellable things: a paperback, an ebook, an audiobook, a translation. Keeping "what we own" and "what we sell" apart is what lets one manuscript flow into dozens of products without anyone re-keying the content or losing track of who is owed what.
Below, each concept gets a plain definition, one concrete example, and a diagram where the shape matters. Terms link to the Glossary for a one-line reminder.
The ladder: Work → Expression → Manifestation → Product
This is the "what are we actually selling?" model. It has four rungs, and it is worth learning because contracts, products, and royalties all hang off it.
- A Work is the intellectual property — the book as an idea, together with the rights that govern it. Hands-On Machine Learning with Go is one Work. Contracts attach here.
- An Expression realises the Work in a particular medium and language: the English text, its audiobook narration, a French translation. Same Work, different realisations.
- A Manifestation is a sellable embodiment of an Expression — the SKU. The paperback, the ebook, and the audiobook download are three Manifestations, each with its own ISBN.
- A Product is the thing a customer actually buys, wrapping one or more Manifestations and classified by a product type (Book, Audiobook, Course, …).
flowchart TD
W["Work<br/>Hands-On Machine Learning with Go<br/>(rights live here)"]
W -->|realised as| E1["Expression<br/>English text"]
W -->|realised as| E2["Expression<br/>English audio"]
E1 -->|embodied as| MP["Manifestation<br/>Paperback"]
E1 -->|embodied as| MB["Manifestation<br/>Ebook"]
E2 -->|embodied as| MA["Manifestation<br/>Audiobook"]
MP -->|offered as| PB["Product · Book"]
MB -->|offered as| PB
MA -->|offered as| PA["Product · Audiobook"]
Why the separation matters
Because rights live on the Work, a contract that permits ebooks but prohibits audiobooks is expressed once and automatically constrains every product downstream. And because the paperback and ebook are different Manifestations, each can carry its own ISBN, price, and format without duplicating the underlying content.
The product type (what is sold) and the manifestation class (how
it is embodied) are deliberately different axes. Contracts speak only
the manifestation vocabulary — PRINT, EBOOK, AUDIOBOOK,
ONLINE, and so on — never product types. Building a course from a
book is therefore a rights question about derivation, not a product
setting. See Product types.
Resource, Source, Version — where content actually lives
The ladder describes what you sell. Underneath it sits the content itself, in the Content Lake.
- A Resource is the unit
of content: one document, image, video, audio file, or code
repository. A single chapter of the book is a Resource
(
res_ml_go_ch3). - A Source is where a Resource came from — the original manuscript file. When one big manuscript is split into many chapter Resources, they all share one Source.
- A Version is a saved snapshot of a Resource. Versioning is explicit: the live working copy is latest, and the platform snapshots meaningful moments (a submitted draft, an approved edition) rather than every keystroke.
flowchart TD
SRC["Source<br/>manuscript.docx"] -->|split into| R1["Resource<br/>Chapter 1"]
SRC --> R2["Resource<br/>Chapter 2"]
SRC --> R3["Resource<br/>Chapter 3"]
R3 -->|belongs to| W["Work<br/>(holds rights)"]
R3 -->|snapshots| V["Versions<br/>latest (working) → ver_… → ver_…"]
Every Resource points at the Work it belongs to. That link is how rights reach content: they are held once on the Work and projected onto each Resource, so a read or a search result already knows what may be done with it. A Resource that is not yet in a Work sits in staging — owner-only and unusable until it is promoted. See Resources & versions and Works & rights.
Contract and rights
A Contract is the agreement that governs a Work: what may be done with it, where, by whom, and until when. Nothing enters the platform for real use without one. Rights are resolved on the Work and then travel with the content everywhere it goes, so enforcement is the platform's job, not something each downstream app has to remember.
The headline modern example is AI usage: a contract can permit
AI_RETRIEVAL (an AI assistant may retrieve and cite the content)
while prohibiting AI_TRAINING (it may not be used to train a model)
— and the platform enforces the difference. See
Contracts & Rights.
Activity — the provenance record
An Activity is an immutable record of how a piece of content came to be: created, translated, narrated, compiled from other Works, enriched. Every Activity names the agent responsible and any tooling used.
Because these records are kept, three questions that used to require an investigation become single queries: what did AI touch?, what is this derived from?, and who is owed? See Provenance & attribution.
Tenant
A Tenant is the hard isolation boundary — a business such as Packt, Expert Edge, or CVP. Every Resource, Work, Contract, and Product belongs to exactly one tenant, and every request carries a token scoped to a single tenant, so cross-tenant access is architecturally impossible. See Tenancy, trust & security.
ID cheatsheet — the prefixes you will see
Every entity on the platform has a typed, human-readable ID: a
short prefix, an underscore, then a unique identifier. The prefix
tells you at a glance what an ID refers to. Examples on this site
use readable slugs (wk_ml_go) in place of the random suffix.
| Prefix | Entity |
|---|---|
wk_ |
Work |
res_ |
Resource |
src_ |
Source |
cu_ |
ContentUnit |
ver_ |
Resource version |
blb_ |
Blob (binary payload) |
act_ |
Activity |
srch_ |
Search session |
kg_ |
Knowledge-graph entity |
ctr_ |
Contract (defaults: ctr_default_<slug>) |
agt_ |
Agent (contract party / activity actor) |
prod_ |
Product |
expr_ |
Expression |
man_ |
Manifestation |
cat_ |
Catalogue |
chan_ |
Channel |
Tenant IDs are opaque (examples use the slug packt). See the
Glossary for the full list.
Related pages
- Glossary — one-line definitions for every term here.
- The big picture — how the services fit together.
- Works & rights — how rights reach content.
- Products — the ladder in commercial terms.
- Explorer — Chapter I — the platform, visualised.