Skip to content

Latest commit

 

History

90 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PanoReady

CI Documentation License: MIT Next.js

PanoReady is a browser-based tool with two workflows for preparing Ontario school enrolment data in STIX XML format. All record processing happens on your device; files are not uploaded to a server.

Built by Wellington-Dufferin-Guelph Public Health.

What it does

Workflow Description
Validate & Fix Preview workbook imports, apply optional cleaning mappings, validate metadata and records, review fixes, revalidate, and download XML, audit files, formatted XML, and reports.
Compare Files Compare previous and current STIX snapshots; review record, field, school, and transfer changes; and export the reviewed current XML and comparison logs.

PanoReady accepts STIX XML and Excel macro-enabled workbook (.xlsm) inputs. Validated and compared XML can optionally be downloaded in an AES-256 password-protected ZIP archive.

Validate & Fix shows six stages: Prepare & clean → Assess quality → Automatic fixes → Manual fixes → Recheck → Download. After import, optional cleaning mappings replace known whole-field values before validation or autofix. Matching ignores case unless “Match case” is enabled; the first matching mapping wins. Cleaning does not support regex.

Select a saved profile inside preparation: profiles contain validation rules and optional cleaning mappings. Automatic fixes start unselected. Apply individual selections, the current sorted page, or all matching fixes across pages; each action updates and rechecks the file. Manual fixes shows unresolved issues, including unaccepted automatic suggestions. Skipping cleaning leaves validation and autofix available.

Quick start

Requirements: Node.js 22 or 24 (24 is the default in .nvmrc) and npm.

git clone https://github.com/WDGPH/PanoReady.git
cd PanoReady
npm ci
npm run dev

Open http://localhost:3000.

Development commands

npm run dev      # Start the development server
npm run lint     # Run ESLint
npm run typecheck # Check TypeScript
npm test         # Run the Vitest suite
npm run build    # Create a production build
npm run start    # Serve the production build
npm run check    # Run application checks

Documentation

The application is published at https://wdgph.github.io/PanoReady/. The documentation is published from the same Pages deployment at https://wdgph.github.io/PanoReady/docs/ and is maintained in the docs directory.

To preview the documentation locally:

python -m venv .venv
source .venv/bin/activate        # Windows: .venv\Scripts\activate
python -m pip install -r requirements-docs.txt
mkdocs serve

Then open http://127.0.0.1:8000.

The synthetic validation demo exercises representative metadata, postal-code, and phone-number findings without using operational records.

See deployment for hosting and the release checklist for repository settings and release checks.

Custom validation rulesets

Export the built-in rules from the Validation ruleset menu, edit the JSON, and import it back into PanoReady. Custom rulesets remain in the browser's local storage and can be shared as files. See the ruleset reference for every available field.

Privacy and security

PanoReady performs file parsing, validation, cleaning, comparison, and output generation in the browser. Do not attach real student data or other sensitive information to public issues. Please report vulnerabilities according to the security policy.

Contributing

Contributions are welcome. Read CONTRIBUTING.md, follow the Code of Conduct, and use the issue templates before opening a pull request.

See CHANGELOG.md for unreleased changes.

License

PanoReady's original code and documentation are available under the MIT License. Panorama, STIX, and related third-party systems, standards, names, specifications, schemas, templates, and documentation remain the property of their respective owners. References identify intended compatibility only and do not imply affiliation or endorsement.

On Import readiness, exclude schools or issue types from correction review for the current file. Exclusions are reversible and do not change validation totals, blocking errors, or exported records.

About

Tools for faster, more reliable Panorama imports

Resources

Code of conduct

Contributing

Security policy

Stars

3 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages