-
Notifications
You must be signed in to change notification settings - Fork 55
Backup manager #218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Backup manager #218
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Only the current config is used.
|
Build Successful! You can find a link to the downloadable artifact below.
|
- Refactored classes implementing `IBackupLocationProviderStrategy` to use a base `BackupLocationProviderStrategy` class instead. - Refactored `BackupLocationProviderStrategy` and its derived classes to centralize `SystemPaths` handling via a new constructor. - Removed redundant `SystemPaths` fields from derived classes. - Refactored `BackupLocationProvider` to replace the use of a `Func<IEnumerable<string>>` with a direct `IEnumerable<string>` property, simplifying path handling. - Introduced `FullBackupLocationProvider` to handle alternate configuration paths and dynamically adjust paths based on the application's data folder structure. - Added `GetBackupLocationProvider` to choose the correct `IBackupLocationProvider`. - Added helper methods for path replacement and alternate configuration enumeration. - Made `BaseFolder` virtual to allow overrides in derived classes.
Uses ISupportedBackupOption instead of only BackupOptions
Used all flags instead of individual flag as options
Nadiar
referenced
this pull request
in Nadiar/ComicRackCE
Dec 18, 2025
Integrated a Backup Manager that backups on Startup & Exit. This is to replace the Backup Manager plugin. This isn't a replacement for the current Backup Database feature. They co-exists at the same time. It is also not possible to restore from that backup using the UI.
Difference between the plugin are:
- It will automatically delete old backups when over the specified quantity to keep (they are sent to the recycle bin).
- The Include all Alternate Configs means that instead of only backing up only the current config, it will save all configs present in the program data folder regardless of which is loaded. This is the equivalent to the old "Full" backup from the plugin.
- You can pick and choose which elements you want in your backup.
- When backing up on exit it does so after the database have been saved. This is after plugins are triggered, so you will have the correct version of your database. The plugin would trigger before so you wouldn't have the very latest database backup.
- It also backups files from the `%ProgramData%` directory (but never the ones from the startup directory).
- The backup is done in the background so it doesn't block the UI on startup like the plugin does (unless you used the buggy v1.3)
Go in Preferences -> Advanced -> Backup Manager. Enable either the on Startup or Exit option and some elements to save.
Note: For user using SQL, the current Backup Database feature saves the contents of the books from the db into the backup. This DOES NOT, it just backups your current XML file.
Setting the # of Backups to Keep to 0 will disable deletion of old backups. Do not rename the files or have multiple backups from different alternate configuration in the same folder. Finding old files is done by checking the filename and doesn't check subfolders.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Integrated a Backup Manager that backups on Startup & Exit. This is to replace the Backup Manager plugin. This isn't a replacement for the current Backup Database feature. They co-exists at the same time. It is also not possible to restore from that backup using the UI.
Difference between the plugin are:
%ProgramData%directory (but never the ones from the startup directory).Go in Preferences -> Advanced -> Backup Manager. Enable either the on Startup or Exit option and some elements to save.
Note: For user using SQL, the current Backup Database feature saves the contents of the books from the db into the backup. This DOES NOT, it just backups your current XML file.
Setting the # of Backups to Keep to 0 will disable deletion of old backups. Do not rename the files or have multiple backups from different alternate configuration in the same folder. Finding old files is done by checking the filename and doesn't check subfolders.