Export derived diagrams for architects and analysts. Models and workflows remain the source of truth; exports are projections for Draw.io / ArchiMate-style communication (issue #104).

For a single open model (.hsm / .hdv / .hbv / .hdm / .hem), prefer Hop 2.20 File → Export diagram or hop export -f model.hdm --format drawio (also SVG, PDF, PlantUML, Mermaid). This page is the multi-model Draw.io workflow (hop architecture-export): SOLUTION architecture, DATA inventory, and aggregated DV/BV/DM diagrams.

Four products

Product Purpose Layout

SOLUTION architecture

What the project implements and runs at process level: workflows, controls/capabilities, and model file references (e.g. models/retail-360.hdv). No table/dataset grain (that would clutter Draw.io beyond a useful overview).

Layered swimlanes with multi-row wrapping (architecture layout — not ELK / Draw.io auto-layout).

DATA inventory

Which tables and sources are involved across models (lineage). No relationship arrows. Default file name: data-inventory.drawio. Catalog feeds (including composite sources published from .hsm queries) appear as source inventory when referenced by vault models.

Swimlanes by layer; multi-row packing.

MODEL diagrams (aggregated by layer)

Enterprise multi-file data-model projection: all .hdv files → one DV diagram; all .hbv → one BV diagram; all .hdm → one dimensional diagram. Shared hubs/dims are deduped by name. Structural relationships included. Source models (.hsm) remain the ER canvas for physical sources; they are not yet a separate aggregated Draw.io layer (use the .hsm file and DATA inventory for source-side views).

ELK layout (same stack as the Hop GUI canvas).

MODELS diagrams (one file per model)

Documentation set for each model listed on a resource definition group (or an explicit path list): one Draw.io per .hdv / .hbv / .hdm under type subfolders. No SOLUTION crawl required.

ELK layout per model file.

The point of MODEL export is the aggregate across model files (subject areas, shared core, multiple dimensional stars). Use MODELS when you want a folder of diagrams named after each model for docs or review.

Screenshots (retail example)

Solution architecture — workflows, controls/capabilities, and model file references (no table dump):

Retail SOLUTION architecture Draw.io export

Data inventory — tables and sources involved, no relationship edges (default file data-inventory.drawio):

Retail DATA inventory Draw.io export

Aggregated Data Vault model — all .hdv tables unioned with ELK layout:

Retail aggregated data-vault.drawio ELK export

Aggregated dimensional model — all .hdm tables unioned with ELK layout:

Retail aggregated dimensional.drawio ELK export

Example artifact set (retail)

work/architecture/retail-solution.drawio       # process architecture only
work/architecture/data-inventory.drawio        # short default inventory name
work/architecture/models/data-vault.drawio     # all .hdv tables unioned + ELK
work/architecture/models/business-vault.drawio
work/architecture/models/dimensional.drawio

# MODELS view (per file) — typically from a resource definition group:
work/architecture/models/data-vault/retail-360.drawio
work/architecture/models/business-vault/retail-360.drawio
work/architecture/models/dimensional/retail-f-orders.drawio
work/architecture/models/dimensional/retail-conformed-dims.drawio

Formats (current)

  • Draw.io (.drawio / mxfile XML) — open in diagrams.net or the Draw.io desktop app.

ArchiMate Open Exchange XML is planned next (same intermediate graphs).

Workflow action

Export architecture (EXPORT_ARCHITECTURE):

  • Root — workflow path, .hem, or for DATA/MODEL/MODELS a comma-separated list of .hdv/.hbv/.hdm paths (optional when a resource definition group supplies models)

  • Resource definition group — optional. When set, supplies model files for DATA, MODEL, MODELS, and SOLUTION “also export” options (overrides root path list and execution-map discovery)

  • View type — SOLUTION, DATA (inventory), MODEL (layer aggregates), MODELS (one file per model under type subfolders), or END_TO_END

  • Output Draw.io file — primary SOLUTION destination

  • Also export DATA inventory — second file from models (group preferred, else crawl discovery)

  • Also export aggregated model diagrams (ELK) — writes data-vault.drawio / business-vault.drawio / dimensional.drawio under the models folder

  • Models output folder — for MODEL aggregates and MODELS per-file diagrams (default ${PROJECT_HOME}/work/architecture/models)

MODELS-only documentation export

To document every model on a resource definition group without solution architecture:

  1. Set View type to MODELS

  2. Select the Resource definition group

  3. Set Models output folder (optional)

  4. Leave Root empty

Output layout:

{models folder}/
  data-vault/{basename}.drawio
  business-vault/{basename}.drawio
  dimensional/{basename}.drawio

Basename is the model file name without extension (models/subdir/retail-360.hdv → retail-360.drawio).

CLI

With Data Hopper EDW installed. Enable a Hop project or lifecycle environment the same way as hop-run (projects plugin mixins). Use one of -j / --project or -e / --environment (not both).

Relative paths resolve under ${PROJECT_HOME}. Paths inside diagrams are project-relative (e.g. models/retail-360.hdv).

# Solution + inventory + aggregated layer model diagrams:
hop architecture-export \
  -e retail-example-docker-pg \
  -f workflows/run-retail-update.hwf \
  -o work/architecture/retail-solution.drawio \
  --view SOLUTION \
  --also-data \
  --data-output work/architecture/data-inventory.drawio \
  --also-models \
  --models-output work/architecture/models

# MODEL only — pass every model file; get three layer aggregates:
hop architecture-export \
  -e retail-example-docker-pg \
  -f models/retail-360.hdv,models/retail-360.hbv,models/retail-f-orders.hdm,models/retail-conformed-dims.hdm \
  --view MODEL \
  --models-output work/architecture/models

# MODELS only — one Draw.io per model from a resource definition group:
hop architecture-export \
  -e retail-example-docker-pg \
  -g retail-sources \
  --view MODELS \
  --models-output work/architecture/models

DATA inventory only:

hop architecture-export \
  -e retail-example-docker-pg \
  -f models/retail-360.hdv,models/retail-360.hbv \
  -o work/architecture/retail-data-inventory.drawio \
  --view DATA

Or with a group:

hop architecture-export \
  -e retail-example-docker-pg \
  -g retail-sources \
  -o work/architecture/retail-data-inventory.drawio \
  --view DATA

How it is built

workflow / .hem     →  Execution map crawl  →  ArchitectureGraph (SOLUTION)
model lineage       →  ArchitectureGraph (DATA inventory, no ER edges)
all .hdv / .hbv / .hdm
  →  ElkGraphLayout.from*Models (union + dedupe)
  →  layoutToBoxes (ELK, no model file mutation)
  →  ArchitectureGraph (MODEL freeform)  →  data-vault | business-vault | dimensional .drawio
each .hdv / .hbv / .hdm
  →  ElkGraphLayout (single file)
  →  ArchitectureGraph (MODELS freeform)
  →  {type}/{basename}.drawio
  • ELK coordinates are computed in memory and do not rewrite table positions in model files on disk.

  • Does not replace OpenLineage/Marquez or hop svg (canvas fidelity per file).

  • Multi-team model organization: Organizing large Data Vault programs.