[nu-demo] Office Diagrams island has no seeded content — needs .vsdx generation tooling (drawio-desktop?) #183
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Symptom
Office archipelago's Diagrams island shows "No Diagrams files in geomind. Use Upload to add one." on a fresh herodemo deploy. The island machinery works (file list renders, upload button works, OnlyOffice would render any uploaded
.vsdx) — there's just no seeded content.Why it's harder than the other Office types
OnlyOffice's
document_type()recognizes only Microsoft Visio formats for thediagramdocument type (hero_office/crates/hero_office_server/src/onlyoffice.rs:33):LibreOffice (which we use for the other Office seeds + companion-PDF generation) can't export
.vsdx— it only imports it:So unlike
.docx/.xlsx/.pptx(pandoc + python-openpyxl + libreoffice all generate them cleanly),.vsdxneeds a Visio-specific builder.Options
A. Skip diagrams seeding; accept the empty-state message
Cheapest. Demo viewers see "No Diagrams files. Use Upload to add one." which is at least honest and clearly invites user interaction. The island machinery is fully functional — uploading a real
.vsdxwould render in OnlyOffice.B. Add
drawio-desktopCLI to the installThen
drawio --crop -x -o output.vsdx input.drawioexports.vsdxfrom a draw.io source. We could ship 5-10 sample diagrams as seed content (architecture diagram, network topology, etc.).C. Replace Diagrams island with Whiteboard for the demo
hero_whiteboardalready exists in the dock. It's effectively the same use case — interactive 2D drawing. Drop the Diagrams sub-island fromhero_os_app's registry, route users to Whiteboard for "draw something" tasks.Pro: no new dependency, no .vsdx tooling. Con: lose OnlyOffice's diagram rendering quality.
D. Pre-generate sample
.vsdxoffline and bake into the seed stepGenerate sample
.vsdxonce on a workstation (via Visio, drawio-desktop, or similar), commit tohero_demo/data/seed/diagrams/, copy during install.Recommendation
For demo: Option A now; address as part of broader content seeding work.
For prod: Option B (drawio-desktop in installer + 5-10 sample
.drawiofiles inhero_demo/data/) is the cleanest. drawio-desktop is open source, ~150 MB, no subscription needed.Demo state on herodemo (2026-04-24)
Diagrams island machinery verified:
/hero_office/ui/diagram?context=geomindreturns 200 with empty-state HTML.vsdxuploaded (same routing as.docx/.xlsx/.pptx)Just no seeded files.
Related
hero_office/crates/hero_office_server/src/onlyoffice.rs:33— supported diagram extensionsSigned-off-by: mik-tf
Demo hotfix landed 2026-04-25
Decided to seed real
.vsdxfiles from Apache POI's test-data corpus (Apache 2.0 licensed, public).Seeded across geomind/incubaid/threefold/default/root contexts. Diagrams island now lists 3 files.
Status
Prod-level path remains as in the issue body
For a sustainable solution:
drawio-desktopinstall in hero_skills + sample.drawiosource files inhero_demo/data/seed/diagrams/, exported to.vsdxat install timearchitecture_overview.vsdx/flow_diagram.vsdx/network_topology.vsdxdirectly inhero_demo/data/seed/diagrams/andcpduring install (simpler, no draw.io dependency)Closing as demo-fixed; prod path stays open for hero_skills enhancement.
Signed-off-by: mik-tf
Resolved by
lhumina_code/hero_demo@9318fd0(hero_demo PR #1).hero_demo/data/seed/ships markdown + openpyxl source inputs;bash data/seed/seed_install.shgenerates .docx/.xlsx/.pdf on the VM (using pandoc, python3-openpyxl, libreoffice frominstall_core) and copies intohero_foundrywebdav + refresheslibraries.txt.