BizTalk Orchestration Viewer

A local-first viewer for BizTalk orchestration artifacts. It reads .odx, .btm,
.xsd, binding XML, or other BizTalk-adjacent XML files and renders an
interactive orchestration diagram with shape details and migration notes.
Run
npm install
npm run dev
Open the URL printed by Vite, then drag a BizTalk artifact into the app.
From PowerShell, you can also run ./start.ps1; it installs dependencies on
the first run and starts the local viewer. The application processes artifacts
in the browser and does not upload them to a service.
Build and package
Run the packaging script from PowerShell:
./build-package.ps1
The script creates the production build and writes a versioned ZIP file to
artifacts/. Pass -OutputDirectory <path> to use a different output
directory.
Install locally
Source code: GitHub repository
Run the install script from PowerShell:
./install-extension.ps1
It restores dependencies, builds a VSIX, removes an existing
lambogenius.biztalk-orchestration-viewer installation, and installs the new
package. Reload VS Code, then open an .odx file normally or select
BizTalk Orchestration Viewer from Open With.... You can also run
BizTalk: Open Orchestration Viewer from the Command Palette.
If .odx files still open as text, check workbench.editorAssociations in
your VS Code settings. An explicit "*.odx": "default" entry overrides the
extension; remove it or change its value to
"biztalkOrchestrationViewer.odxEditor".
Reinstall dependencies
Run the separate reinstall script from PowerShell:
./reinstall.ps1
It uses npm ci to remove the existing dependency installation and recreate
it exactly from package-lock.json.
Test
Run the unit tests once with npm test, or use npm run test:watch while
developing.
What It Does
- Detects orchestration shapes from XML element names and BizTalk-style
attributes.
- Builds a readable flow from document order and nested containers.
- Highlights receive/send, transform, decide, loop, scope, expression, and
exception-like shapes.
- Shows referenced ports, messages, maps, schemas, bindings, and attributes
when available.
- Provides a compact migration hint for each recognized shape.
This is intentionally static and local. It does not need BizTalk Server or a
tracking database.