FBReader thinks no books are downloaded after 3.1.1 update
Background: Calibre running on a home network, serving eBooks to family members' tablets. Prior version was 2.85.1, always running on a Win7 virtual machine that is hosted on a QNAP NAS. Clients are Android tablets running FBReader, with the content server added as an OPDS catalog. The content server is set to use a Virtual Library (Preferences | Sharing over the net | Virtual library to apply) for convenience to filter out foreign-language titles that were included in some large eBook collections I've purchased and eBook conversions that were badly mangled, where I want to attempt to clean up before serving the book.
The use pattern from the clients is to navigate within FBReader to Calibre's OPDS catalog, select "By Newest", then download anything of interest from the titles not-yet-downloaded (FBReader has a simple graphic indication of downloaded versus not).
I ran the 3.1.1 upgrade, restarted Calibre, and everything looked successful until I switched to a tablet, brought up FBRreader, and checked Calibre's catalog. The tablet is now indicating that all the books in the catalog need to be downloaded. Somehow it has lost synchronization with what has already been pulled down to the tablet's storage.
This would have been "epic failure" for the non-computer-literate family members who use my library, so I uttered a quick prayer to the upgrade rollback gods, uninstalled 3.1.1, and reinstalled 2.85.1. Everything came back, preferences, my fumbling attempt to build a custom news source, and best of all, the tablets regained synchronization with what they had already downloaded from the catalog! I've seen plenty of software over the years where rolling back ranged from painful to impossible, so many thanks for not breaking anything with this one!
I'll admit to being clueless about the internals of OPDS ... It has always just worked for me since I started using Calibre. I suppose I assumed that the catalog must present *something* robust for each title (i.e., a content hash, or GUID that the server would change on any server-side modification), so a client could detect new/different content from anything locally stored??? Regardless of how it actually works, things went wrong for me with the upgrade.
Can anyone who does understand this stuff tell me how I can correct things so I can reapply the update?
Thanks,
Alan
|