Live iBOM viewer¶
Production BOMs can attach an InteractiveHtmlBom (iBOM) export — the familiar interactive board viewer generated by KiCad/KiBot tooling — and view it inline with live data from the warehouse layered on top.
Attaching an iBOM¶
On a BOM's page, upload an iBOM HTML file or point it at a URL (HTTPS only). The file is stored and re-served through NextIntranet (not linked directly to the original host), which is what makes the live overlay possible.
What the overlay adds¶
The stock iBOM export groups rows by value + footprint + a legacy ID field, which is often wrong and merges or splits parts incorrectly. NextIntranet already knows the correct grouping — one BOM line per row, each with its own list of designators — so when a BOM is viewed through NextIntranet, the iBOM's row grouping is silently replaced with the BOM's own, and two extra columns are added:
- Part — the linked component's name (or
—for a designator with no BOM line yet; a blank Part means the opposite — a BOM line exists but has no component linked). - Stock —
in stock / needed, prefixed with a warning icon on shortage. - Location — where the part lives in the warehouse.
The original iBOM file itself is never modified — the replacement happens in the browser, after the page loads.
Live updates¶
While the viewer is open, the overlay refreshes from two sources:
- A poll every 60 seconds against the BOM's own state.
- A push over the realtime WebSocket whenever someone changes sourcing/placement progress on the same BOM elsewhere (e.g. from a scanning station).
A small status indicator in the corner of the viewer shows whether the live connection is up and when the data was last refreshed. If the underlying access token expires, the overlay falls back to WebSocket-only updates rather than disappearing.
Opening without a station¶
The viewer works both from a scanning station and from a plain browser tab — the live data only requires knowing which BOM to look at, not which station opened it.
Related topics¶
- BOMs — the underlying lines, designators, and stock computation the overlay is built from
For the full wire-level contract (REST/WebSocket payload shapes, escaping and XSS
handling, debugging helpers), see the internal design note at
docs/ibom-external-grouping.md in the repository.