Skip to content

Product Types

Product types define what kind of content a product represents and what capabilities are available.

Available Types

Type Legacy Content Lake Formats
Book Yes Yes PDF, ePub, InDesign
Video Course Yes No MP4
Audiobook Yes No M4B
Interactive No Yes HTML
Course Yes Yes SCORM
Certification Yes Yes

Legacy-only types (Video Course, Audiobook) have distributable assets that cannot currently be assembled from Content Lake documents. Content Lake-only types (Interactive) exist only as assembled experiences. Book, Course, and Certification support both models.

Version Pinning

When attaching a Content Lake document to a product, the attachment includes a version specifier:

  • version=latest — the product tracks the latest Content Lake version. When the Content Lake document is updated, the product automatically reflects the new content.
  • version=<id> — the product is pinned to a specific Content Lake version. Updates to the source document are ignored until someone explicitly re-pins.

The product-level concurrent flag controls the default:

  • concurrent=true — new attachments default to version=latest.
  • concurrent=false — new attachments require an explicit version ID.
graph LR
    subgraph "Product: Go Microservices"
        A["Ch 1 — Doc A v3 (pinned)"]
        B["Ch 2 — Doc B v7 (pinned)"]
        C["Ch 3 — Doc C latest (override)"]
    end

A single product can mix pinned and latest-tracking documents. This is useful when most chapters are stable but one chapter covers a rapidly evolving topic.

Re-pinning

Re-pinning updates a document attachment from one version to another. This emits a packt.products.content.v1.updated event so downstream consumers know the product's content has changed.

Product Lifecycle

DRAFT ──────▶ REVIEW ──────▶ APPROVED ──────▶ PUBLISHED
  │                             │                  │
  │                             │                  ▼
  │                             │              RETIRED
  │                             │
  ▼                             ▼
                WITHDRAWN
State Description
DRAFT Initial state. Metadata is being assembled
REVIEW Submitted for editorial or compliance review
APPROVED Review passed. Ready for publication
PUBLISHED Live and available to downstream consumers
RETIRED End-of-life. No longer available
WITHDRAWN Pulled from availability (from any active state)

RETIRED and WITHDRAWN are terminal states. All state transitions emit lifecycle events on the products EventBridge bus.

Product Metadata

Identifiers

Each product has a platform-generated ID (UUIDv7). Products that are distributed externally also carry ISBNs — one per format. ISBNs are assigned during the lifecycle, not at creation.

Core Fields

Field Type Required Description
title string Yes Product title
subtitle string No Product subtitle
description string Yes Plain text description
authors string[] Yes Ordered author names
publication_date date No Scheduled or actual date
edition integer No Edition number
language string Yes ISO 639-1 code
page_count integer No Generated for CL-backed

Pricing

Pricing is defined per product with a base price and optional territory overrides.

Field Type Description
base_price integer Price in micros (1,000,000 = 1.00)
base_currency string ISO 4217 currency code
territory_prices map Territory code to price object

Territory prices are independent — each territory specifies its own amount and currency. There is no automatic currency conversion.

Available Formats

For Content Lake-backed products, formats are determined by product type. For legacy products, the format is whatever was uploaded.

Format Extension CL Generation Legacy
PDF .pdf Yes Yes
ePub .epub Yes Yes
Print (InDesign) .indd Yes No
Print (PDF) .pdf Yes Yes
Audiobook .m4b No Yes
Video .mp4 No Yes
Course (SCORM) .zip No Yes

Formats are configurable — each format carries a configuration object that controls how the output is produced. Two products using the same format can produce very different outputs depending on their configuration.

Digital Format Configuration

Digital formats (PDF, ePub) support DRM configuration:

Option Values Description
drm none, watermark, adobe_drm Digital rights management strategy
watermark_text string Custom watermark text (when drm=watermark)

A product can offer the same format both with and without DRM — for example, a DRM-free PDF for direct sales and a DRM-protected PDF for third-party distribution.

Print formats (PDF or InDesign) require detailed physical specifications. The print configuration controls how the book is manufactured.

Trim Size

The trim size is the final dimensions of the printed book after pages are cut. Common sizes:

Name Dimensions
Pocketbook 108 x 175 mm (4.25 x 6.875 in)
Digest 140 x 216 mm (5.5 x 8.5 in)
A5 148 x 210 mm (5.83 x 8.27 in)
Royal 156 x 234 mm (6.14 x 9.21 in)
US Trade 152 x 229 mm (6 x 9 in)
Crown Quarto 189 x 246 mm (7.44 x 9.68 in)
A4 210 x 297 mm (8.27 x 11.69 in)
US Letter 216 x 279 mm (8.5 x 11 in)
Square 216 x 216 mm (8.5 x 8.5 in)

Binding

Option Description
PAPERBACK Perfect-bound softcover
HARDCOVER Case-bound hardcover
COIL_BOUND Coil/spiral binding
SADDLE_STITCH Stapled binding (thin books)

Paperback books require a minimum of 32 interior pages. Hardcover books require a minimum of 24 interior pages. Coil-bound and saddle-stitch books do not require spine calculations.

Interior

Option Values Description
ink BW_STANDARD, BW_PREMIUM, COLOR_STANDARD, COLOR_PREMIUM Ink type
paper UNCOATED_WHITE_60, UNCOATED_CREAM_60, COATED_WHITE_80 Paper stock
color_space RGB, CMYK, GRAYSCALE Document colour space

Standard black and white on uncoated paper suits text-heavy books (novels, technical references). Premium colour on coated white paper is appropriate for photo books, visual guides, and full-bleed designs.

Bleed and Margins

Option Type Description
bleed_mm number Bleed margin in mm (typically 3.175 mm / 0.125 in)
safety_margin_mm number Safety margin inside trim edge (typically 12.7 mm / 0.5 in)
gutter_mm number Additional inside margin for binding side
full_bleed boolean Whether content extends to the page edge

Books with graphics or colour that extend to the page edge require full bleed. The bleed area is printed oversized and then trimmed to the final size. Books with distinct white margins around the body do not need bleed.

Gutter size depends on page count — thicker books need wider gutters so content near the spine remains readable.

Cover

Option Values Description
cover_finish MATTE, GLOSSY Cover lamination finish
cover_stock string Cover paper weight/type
spine_width_mm number Calculated from page count and paper stock
barcode boolean Whether to reserve space for an ISBN barcode

Spine width is calculated from the page count and paper stock. Paperback spine width follows the formula: (pages / 17.48) + 1.524 mm. Hardcover spine widths are looked up from a reference table.

Roadmap

Formats

  • More book formats (ePub 2)