Summary
Migrate ClassroomPath to the new canonical OpenPath Windows deployment capability once the fresh OpenPath implementation tickets are complete.
ClassroomPath must behave strictly as a wrapper:
ClassroomPath -> OpenPath
It may provide ClassroomPath-specific presentation, institution/tenant policy and gateway integration, but it must not implement a second generic Windows installer, deployment-grant, bundle, redemption, signing, provenance or per-device credential lifecycle.
This is a fresh implementation ticket. Older ClassroomPath Windows-installer issues may be referenced for historical context only; they are not the implementation contract for this migration.
Dependencies
Blocked by the fresh OpenPath roadmap:
- OpenPath #250 — immutable Authenticode-signed Windows installer + external bootstrap;
- OpenPath #248 — generic one/multi-device deployment grants and bundles;
- OpenPath #249 — OpenPath cutover to the immutable deployment architecture;
- OpenPath #251 — signed-installer promotion/provenance contract.
Use the final public OpenPath contracts shipped by those issues, not assumptions from the legacy personalized-EXE design.
Target ClassroomPath UX
A ClassroomPath operator should be able to select an aula and prepare a deployment for one or many devices, e.g. 30 PCs, while ClassroomPath delegates the complete generic mechanism to OpenPath.
Conceptually:
ClassroomPath aula UI
-> request OpenPath deployment for OpenPath classroom/scope
-> OpenPath creates bounded deployment
-> ClassroomPath presents protected bundle download
-> same immutable signed EXE installed on all PCs
-> OpenPath performs redemption/accounting/device credential issuance
-> ClassroomPath presents safe progress/status
Ownership
ClassroomPath may own:
- mapping ClassroomPath domain concepts to the corresponding OpenPath public identifiers;
- additional tenant/institution authorization before calling OpenPath;
- wrapper UI/branding/text;
- proxy/gateway wiring;
- wrapper-level observability and integration canary.
ClassroomPath must not own:
- Authenticode signing;
- immutable installer build/provenance;
- deployment bearer/reference format;
- deployment limits/atomic redemption;
- bundle schema/generation;
- endpoint bootstrap protocol;
- per-device credential creation;
- OpenPath core readiness/canary;
- Windows runtime behavior.
Historical context only
Previous ClassroomPath installer issues, including #157/#158, may help inventory legacy code and migration hazards, but this ticket is the new implementation authority.
Non-goals
- modifying OpenPath code from the ClassroomPath repository;
- maintaining a fallback second generic implementation indefinitely;
- recreating OpenPath deployment state in ClassroomPath DB;
- live staging/production deployment without explicit authorization.
Summary
Migrate ClassroomPath to the new canonical OpenPath Windows deployment capability once the fresh OpenPath implementation tickets are complete.
ClassroomPath must behave strictly as a wrapper:
It may provide ClassroomPath-specific presentation, institution/tenant policy and gateway integration, but it must not implement a second generic Windows installer, deployment-grant, bundle, redemption, signing, provenance or per-device credential lifecycle.
This is a fresh implementation ticket. Older ClassroomPath Windows-installer issues may be referenced for historical context only; they are not the implementation contract for this migration.
Dependencies
Blocked by the fresh OpenPath roadmap:
Use the final public OpenPath contracts shipped by those issues, not assumptions from the legacy personalized-EXE design.
Target ClassroomPath UX
A ClassroomPath operator should be able to select an aula and prepare a deployment for one or many devices, e.g. 30 PCs, while ClassroomPath delegates the complete generic mechanism to OpenPath.
Conceptually:
Ownership
ClassroomPath may own:
ClassroomPath must not own:
Historical context only
Previous ClassroomPath installer issues, including #157/#158, may help inventory legacy code and migration hazards, but this ticket is the new implementation authority.
Non-goals