ADR: Web Publishing of OmegaT Manual with Versioned Structure¶
Status¶
Accepted – Implemented
Context¶
OmegaT currently publishes online manuals using named release identifiers:
https://omegat.sourceforge.io/manual-standard/https://omegat.sourceforge.io/manual-snapshot/
The OmegaT application includes built-in URLs that direct users to these online manuals. However, we have identified several issues with the current approach:
Version inconsistency: Different OmegaT versions show mismatched manual versions (e.g., OmegaT 5.8 shows manual 5.7.1, OmegaT 6.1.0 Beta shows manual 5.7.1)
Maintenance overhead: Managing “standard” and “snapshot” designations requires manual intervention
User confusion: Users cannot easily identify which version of documentation they are viewing
Our release strategy has evolved to a single line of standard releases alongside snapshot/weekly development releases, but the documentation structure hasn’t adapted accordingly.
Decision¶
We will implement a versioned manual storage system with automated symbolic link management that maintains the existing URL structure for applications and support workflows.
Technical Implementation:¶
Versioned Storage: Store each manual build in version-specific directories:
/manual/6.1.0/(for standard releases)/manual/6.1.0-snapshot/(for snapshot releases)
Automated Symbolic Links:
Build system automatically updates
manual-standardsymbolic link to point to the latest stable versionBuild system automatically updates
manual-snapshotsymbolic link to point to the current development version
Application URL Structure (Unchanged):
OmegaT applications continue linking to
/manual-standard/and/manual-snapshot/Support team continues using existing standard/snapshot URLs
Build Process Integration:
Standard release builds update the
manual-standardsymbolic linkSnapshot release builds update the
manual-snapshotsymbolic linkVersion transitions (e.g., development → GA) automatically switch symbolic links
Consequences¶
Positive:¶
Version Consistency: Each OmegaT version will display documentation consistent with its release version
Zero Ongoing Maintenance: Symbolic link updates are fully automated through the build process
Backward Compatibility: Existing URLs and workflows remain unchanged
Support Workflow Preserved: Support team continues using standard/snapshot links
Historical Documentation: Previous versions remain accessible via versioned URLs
Automated Deployment: No manual intervention required for version transitions
Negative:¶
Increased Storage: Each version requires separate storage (mitigated by using symbolic links for active documentation)
Initial Setup Complexity: Requires one-time modification of build scripts
Neutral:¶
Same Documentation Maintenance: Continue maintaining only 2 active documentation sets (standard + snapshot)
Same Philosophical Approach: Packaged documentation remains canonical, online serves support purposes
Implementation Plan¶
Phase 1: Modify build scripts to create versioned directories and manage symbolic links
Phase 2: Deploy automated symbolic link management for both standard and snapshot builds
Phase 3: Validate automatic version transitions work correctly
Phase 4: Monitor and document the new process
Alternatives Considered¶
Version-specific application URLs: Would require updating all OmegaT applications and break existing bookmarks
Manual redirect management: Would require ongoing maintenance and manual .htaccess updates
Status quo: Continues current version inconsistency and user confusion issues
References¶
Notes¶
This decision maintains the existing documentation philosophy (packaged documentation as canonical reference, online for support) while solving the technical inconsistency issues through automation.
The implementation leverages existing build infrastructure (Azure Pipelines, SourceForge hosting) with minimal modifications to achieve zero ongoing maintenance overhead.
Date: 2025-09-20
Updated: 2025-10-05
Author: Hiroshi Miura
Reviewers: OmegaT Development Team