Repository navigation
[Feature Request] Local Engine Backup & Restore: Offline backup for downloaded conversion runtimes #681
Replies: 4 comments
|
Thanks! This is tracked in #447 (export engines on one PC, import them on another), please follow it there. Until then:
|
|
Thanks for the pointer to #447. While workarounds like FILEE_DATA_DIR or "Use my copy…" are helpful for advanced users, expecting average users to manage folder structures, batch launchers, or environment variables manually is prone to errors, broken paths, and version mismatches. Since Filee already treats runtimes as distinct modular components, here is a complete architectural proposal for implementing an automated Engine Backup & Restore Package (.zip) that keeps the process secure, verified, and user-friendly.
Engine Selection UI: A simple checkbox list allowing the user to pick which engines to package (e.g., backing up FFmpeg and OCR data while omitting a large LibreOffice installation). Hash & Manifest Generation: Computes the SHA-256 checksum and extracts the version string for each selected runtime. Packaging: Compresses the selected engines into the archive and writes manifest.json at the root. `public async Task ExportEnginesAsync(List selectedEngineIds, string targetZipPath, IProgress progress) }`
Pre-Extraction Inspection: The application reads only manifest.json from the ZIP header in memory without unpacking gigabytes of data first. Version Comparison & Conflict Handling: New Runtime: Extracted directly into the local data directory. Identical Version: Marked as already installed / skipped. Local is Newer: Displays an explicit prompt: “Local FFmpeg is v7.0.1, backup is v6.1. Keep newer local copy or overwrite with backup?”. Backup is Newer: Updates the local runtime to the backup version. Selective Restore: The user can review the engines list found in the backup and uncheck any runtime they do not want to restore. Integrity Verification: After extraction, verifies file checksums against the manifest SHA-256 to ensure the package was not corrupted during storage or transfer `public async Task<List> InspectBackupAsync(string zipPath) }` Why an Integrated Solution Matters Prevents Binary Corruption: The manifest and checksum verification ensure broken or partially copied binaries never cause conversion failures mid-task. Bandwidth & Storage Efficient: Users can keep a single, version-tagged archive on external storage and restore their entire suite offline in seconds. Hope this provides a solid, complete reference for moving #447 forward! |
|
|
Thanks for the detailed design! To keep it in one place, I'm closing this as a duplicate of #447, which follows exporting the downloaded engines and importing them on another PC. The manifest with versions and SHA-256 hashes is a good starting point there. |
Uh oh!
There was an error while loading. Please reload this page.
Problem Statement
The application downloads essential conversion runtimes and engines (e.g., LibreOffice, OCR language data, FFmpeg binaries) which can take up considerable disk space and download time.
When an existing user reinstalls Windows or performs a clean OS reset, they have to re-download the entire suite of engines from scratch, even if they already downloaded them previously.
Proposed Improvement (Personal Maintenance & Reinstall Utility)
Add a local Backup & Restore utility inside the Engine / Dependencies manager:
Benefit:
All reactions