<OWNER>/<REPO> :upstream-url: https://www.hayfamily.co.uk/etmahandlerpage.html
|
Important
|
Do not use this fork for real assignment handling. This repository is a work-in-progress and currently has known data integrity issues that can corrupt data. Use the upstream (Mike Hayes’) edition for production use. |
The Open University eTMA (electronic Tutor-Marked Assignment) handler is a tool for OU tutors.
This repository is an unofficial fork intended for modernization and experimentation (tooling, packaging, documentation, accessibility, cross-platform scripting). It is not the official or production edition.
Original design and upstream implementation: Mike Hayes
Upstream page: {upstream-url}
Mike’s edition is the de facto “official-unofficial” production handler used by many tutors. If you need a dependable tool, use upstream.
This fork currently has data handling problems that can lead to corruption of data. I believe this issue does not exist in the upstream version, but I have not completed a full comparative audit.
Therefore:
✅ Feedback and contributions are welcome.
❌ Do not use this fork for real eTMA/assignment handling.
Although the intent is not to rewrite the application logic, this fork aims to modernize the surrounding “platform” pieces:
Directory structure changes to declutter the repository root and separate user vs developer concerns.
Component replacement / refresh (primarily packaging/tooling rather than logic changes): Java VM: migrate to Eclipse Temurin 25 with asdf support and 32/64-bit coverage. (Other replacements are tracked in the roadmap/TODO; see Roadmap.)
Cross-platform scripting (reduce OS-specific script duplication).
Explicit support for 32-bit and 64-bit processors where feasible.
Improved accessibility outputs (e.g., current accessible PDF formats, braille-friendly outputs, high-contrast considerations).
Single entry script with a simple menu for: install run (including “portable” mode) ** check for updates (and optionally install them)
Most of the above are “surface” upgrades (dependencies, packaging, docs, standards) rather than deep logic changes.
TIP: On some systems you may need to mark scripts executable first: chmod +x etmaHandler.sh install.sh browser-auth-workaround.sh| Path | Purpose |
|---|---|
etmaHandler.sh |
Main launcher — start here. |
install.sh |
Creates desktop shortcut / install integration. |
browser-auth-workaround.sh |
Use if login/authentication fails (opens browser first, then launches). |
modernized/ |
Modernized build (e.g., Java 25 + Jakarta EE target). |
dist/ |
Legacy build artifacts and/or older Java layout (fallback/compat). |
dist/jre/ |
Bundled JRE fallback (if present). |
etmaDictionary.dic |
Spell checker dictionary. |
Run:
This opens the browser to authenticate first, then launches the handler.This fork prefers:
-
asdf-managed Temurin 25
-
Bundled JRE in dist/jre/ (if present) as a fallback
Confirm Java is available:
java -version|
Warning
|
This fork has known data integrity issues and may corrupt data. Until this is resolved, treat the tool as unsafe for real eTMA workflows. |
If you can help:
provide reproducible steps,
share redacted sample inputs,
or help create regression tests that compare behavior against upstream,
…that would be extremely valuable.
Contributions are welcome, especially those that improve correctness, reproducibility, and cross-platform safety.
Suggested priorities:
-
Reproduce and isolate the data corruption issue(s).
-
Add regression tests or fixtures to prevent recurrence.
-
Compare critical workflows against upstream to ensure parity.
-
Only then proceed with further modernization.
Data integrity fixes are the top priority. Modernization work is secondary until corruption risks are eliminated.
Planned/ongoing items (high-level):
Identify and fix data corruption pathways
Fill in the component replacement list (items ii–v) with concrete details
Cross-platform scripting consolidation
Accessibility improvements audit + outputs
Update mechanism (safe + optional)
Upstream licence: PMPL-1.0 (per upstream)
This fork: PMPL-1.0 + Palimpsest 0.4 (as currently stated)
|
Note
|
If there is any discrepancy between licence files and this README, the licence files should be treated as authoritative. |