- Documentation
- /
- Catalogue
- /
- 02 — System Diagram
02 — System Diagram
🔍 Open the Interactive Diagram Viewer — pan, zoom, per-area tabs, the full ERD and a focus mode. CatalogueItem is the hub table, so its links can be hidden to declutter the overview.
Regenerate the viewer after any DSL, menu_config.yaml or diagram_config.yaml change:
python scripts/build_diagram_viewer.py catalogue.
flowchart TD
CAT[CatalogueCategory]
ORG[Organisation]
ITEM[CatalogueItem]
ID[CatalogueIdentifier]
SUB[ItemSubstitution]
APP[ItemApplicability]
SH[CatalogueStatusHistory]
CAT --> ITEM
CAT --> CAT
ORG --> ITEM
ITEM -- superseded by --> ITEM
ITEM --> ID
ITEM -- source / substitute --> SUB
ITEM --> APP
ITEM --> SH
How other applications use it (item pickers: R10.2)
sequenceDiagram
participant F as Form in Work / Inventory / Purchasing
participant A as That app's server
participant C as Catalogue
F->>A: type "oil filter"
A->>C: catalogue.search_items (direct, read-only)
C-->>A: matching items (code, description, unit)
A-->>F: choose one
F->>F: catalogue_item_cid + catalogue_item_ref filled in
Note over F,C: later, the item code links ↗ to the item here
The search is called directly and synchronously (not through the orchestrator), because a person is waiting for it. Changes to items are published as events through the orchestrator.