Learning in public — this reference is being written in the open. Unfinished pages are excluded from search engines.
paged.IDML Reference
The Paged PlatformPlugins

paged.data — database publishing

The database-publishing plugin — a binding DSL, a sync engine, record-flow pagination, and batch automation over DuckDB-WASM, publishing datasets other plugins can consume.

Tier: IntermediateIntermediateIIexplanation

In short paged.data turns data into pages — a binding-expression DSL, a resolution/sync engine, record-flow lowering with grouping and per-group footers, and end-to-end print automation, all over a vendored DuckDB-WASM. It also publishes governed datasets that other plugins (e.g. paged.sheet) consume.

What it does

  • A publishing-grammar binding DSL (a registry-driven function library) and a binding/sync engine (Linked / Pinned / Overridden / Stale states).
  • Record flow / pagination: nested grouping, multi-level per-group footers, parent-path on spill.
  • Print automation: per-record / per-group / one-catalog batch plans, plus a CLI and a sandboxed Boa scripting path.
  • A data-provider contract: register as a provider and publish a record set without knowing its consumers; governed extracts with column metadata.

How it's built

A Cargo workspace (data-core, data-expr, data-sources, data-query, data-bind, data-lower, automation crates, data-js) plus a TS bundle, with DuckDB-WASM vendored behind an Arrow seam.

Capability state

shipped & verified · shipped, untested · partial · failing · · planned

Plugin · data 18 features · 100% green

FeatureShellData
Print automation / batch generation (per-record / per-group / one catalog)
data.automation.batch
Barcode / QR symbologies — clean-room EAN-13/UPC-A, Code-128, QR encoders + binding + VECTOR lowering (§9.7)
data.barcode.symbology
Change-highlighting on refresh — per-binding "what changed since last sync" report (§8)
data.bind.change-report
Binding + synchronization engine — resolution graph, sync states, identity diff
data.bind.engine
Field-mapping wizard — map source columns → variable bindings one-click (§9)
data.bind.field-mapping
Record-preview stepper — resolve a binding against a chosen record index N (§9)
data.bind.preview-step
Binding-expression DSL — lexer/parser/eval + 42 functions, registry-driven dispatch
data.expr.engine
Governed-extract source (governed tables + optional metadata sidecar -> catalog)
data.governed.extract
Locale-aware display formatting (en/de v1)
data.i18n.display
Placeholder lowering — variable replacement + single-region dynamic table
data.lower.content
v43 lowering consumers — in-text variables (D-01), image place (D-14), live record-flow (D-12), rules (D-13)
data.lower.v43-consumers
Performance gates (§12.5) — engine-tier perf assertions
data.perf.gates
paged.data bundle (media.paged.data) — manifest + activate + 3 panels + DuckDB query glue
data.plugin.bundle
Register as an SDK data provider (publish RecordSet to other consumers, e.g. sheets)
data.provider.contract
Query engine (DuckDB-WASM) + RecordSet shape/order/hash — the Arrow seam
data.query.seam
Capability-gated data access + threat model (the suite's largest surface)
data.security.gates
Source adapters (inline + file at M0) + capability/consent gate + visible manifest
data.source.adapters
D-11 DB attach (SQLite/Postgres/MySQL) + DuckDB-WASM first-class engine + refresh-policy + remote
data.source.db-attach

Recent activity

On this page