Quote:
Originally Posted by chaley
This is part of the analysis we are doing for general backup. One of the problems we must solve is migration. What happens if a person restores a backup from 2 or 3 versions ago?
|
To me, this makes the most sense for backing up settings. People can always transfer their books again. If it was an older version of the backup, you could just apply the settings that still exist and ignore the other ones.
I wasn't thinking of the backup as strict copy of the internal data structures, but as a set of preference pairs that you could reapply as the file was loaded. I used an app once that generated this in text as an email that could be copy/pasted into the app later. Then the app parsed the text and reset the settings.
Having said all this, if you wanted to backup the book database too, I wouldn't mind. Although, then you would also have to backup the books for people who keep them on internal storage.
It seems to me that there are two use-cases for this.
1) I lost my device
2) I am upgrading my device.
If you are only doing this to support usecase 2, you can just insist that the user upgraded to the current version before starting the migration. For people with books on an external SD card the work would be:
1) Make sure CC is up to date on old device.
2) backup settings and book db to SD card
3) Move SD card to new device
4) Install CC on new device
5) Load settings and book database
For people without an SD card, I am not sure what the easiest way to do 2 and 5 would be. Plus you would also have to backup and restore the books for them.
For usecase 1, the settings book db and books would need to be stored off device to be of any use, and since (except for the settings) they are already in calibre, would anyone really do that?
I think I am back to my first position. Just backup and restore settings. Its small enough to move around, and gives most of the value that people might be looking for.