This Electron application provides a desktop workflow for the CDISC Data Definition Engine.
- Step 1: generate a DDS JSON template from a USDM file.
- Step 2: apply a patch file and regenerate the template.
- Step 3: generate Define-XML from the DDS JSON template.
- Result: open the generated Define-XML in the embedded stylesheet viewer.
- Persistent UI state and workflow settings are saved locally between app restarts.
- Runtime paths can be configured for the bundled DDE scripts and Python virtual environment.
- Step 1 performs a Python environment check before the workflow starts.
- Each DDE execution logs the exact Python command used as the first line in the execution output.
- The generated Define-XML output can be opened deliberately from the UI instead of auto-opening.
src/main— Electron main-process logic, IPC handlers, and DDE execution manager.src/renderer— React UI, Redux store, workflow steps, and styling.assets/dde— bundled DDE scripts and data files.data— example protocol and metadata assets.
The app supports custom runtime paths for:
- DDE scripts directory
- Python virtual environment directory
These values are configured from the Step 1 runtime path fields and are passed into the Python manager for each execution.
The app expects a working Python environment with the bundled DDE dependencies available.
Typical setup:
python3 -m venv .venv
source .venv/bin/activate
pip install -r assets/dde/define-xml/requirements.txtThe Step 1 preflight check verifies the configured Python executable and required modules before continuing.
npm install
npx tsc -p tsconfig.json --noEmit
npm run startOptional checks:
npm test
npm run lintnpm run build
npm run package-linux
npm run package-mac
npm run package-winThe packaged app is built with Electron Builder and includes the bundled assets needed to run the DDE workflow.