Thank you for puzzling this out with me. The problem seems simpler to communicate now that I have the terminology. This is the problem: annotations embedded in an epub's contents.opf file (in <meta name="calibre:user_metadata:#mm_annotations">) are not being passed into the Kobo device's sqlite database when the epub is sideloaded to it from Calibre. Other metadata like the book's title, author, etc. are passed into the database, but annotations metadata are not.
So this is the flow:
SomeBook.epub is downloaded from the Internet, loaded into Calibre, and then sideloaded to a Kobo Clara HD. The Kobo device is then properly ejected from Calibre. Annotations are made in SomeBook.epub using the Kobo device. The device is then re-connected to Calibre, and those annotations are fetched using the annotations plugin. They appear in the "Annotations" column in Calibre. So far everything is working fine. Later, SomeBook.epub is erased from the Kobo device, including from its sqlite database. The device is then re-connected to Calibre and SomeBook.epub is sideloaded again. When it is sideloaded, the original annotations are still in SomeBook.epub's content.opf file. But when the Kobo device is properly ejected and SomeBook.epub is opened on the device, no annotations appear in the book. Upon reconnecting the device to Calibre, the annotations plugin finds zero annotations to import. Meanwhile, the original annotations still remain in the content.opf file of both Calibre's copy and the Kobo device's copy of SomeBook.epub.
I have reset the Kobo device multiple times in hopes of fixing any database corruptions. But when the epub is again re-sideloaded, the annotations in the content.opf file are still not passed into the device's database.
I've attached a debugging report from the plugin. In debugging mode, I loaded an epub with annotations into the Calibre library, sideloaded it to a Kobo device, ejected the device, reconnected the device, and fetched annotations (which the plugin did not find), updated metadata on the device, and fetched annotations again (with same result).
Now that I know of your Kobo Utilities plugin that backs-up the Kobo database, I seemingly won't get in this situation again. But I am in it at present, alas. Any ideas why the annotations aren't being passed into the Kobo database?
|