View Single Post
Old 04-15-2014, 05:03 AM   #33
chaley
Grand Sorcerer
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 12,455
Karma: 8012886
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
Quote:
Originally Posted by library addict View Post
Could a setting be added to have the Read and Date Read columns only sync from Calibre to CC and not vice versa?
This is very close to simply using the underlying custom column without entering the lookup name into the sync boxes. The only things you give up are sorting by read and the "read" checkmark in list view. You can still group by read by entering that custom column lookup key into the list of columns to group by. You can also group by the read date which gets you a "kind of" sort.
Quote:
The reason I ask is that I have the "Update Date Read when read" box unchecked in CC. I like to have the date read as the date I finish I book which is not always the same as when I start it. I was adding some new books to CC from my main Calibre library and the rating, date read, and read info for the last two books I'd updated as read in Calibre synced over fine as well. Then I changed to one of my other libraries to add another few books to my Nexus. But when I disconnected the device and then switched back to my main library in Calibre I noticed the date read and read (yes) info for the two books had disappeared from Calibre (and checking from the Nexus as well).

I add books from two of my libraries to my other readers routinely without disconnecting/reconnecting my devices. But that's through USB. Am I not supposed to switch libraries when wirelessly connected to CC? If that's the case I can be sure not to, but I don't want the date read info wiped out by accident so would prefer an option to have the sync to go only one way if that's not a big issue.
Using multiple libraries that have the same books in them is likely to produce problems. This is true also for non-CC devices, but you don't notice it as much.

The problem: a book gets the metadata from the last library you connect to that contains that book. Calibre uses title/author matching to identify the books, then sends the metadata from that library to CC. For example, assume you have a book "Lotus" in CC, and two libraries A and B both with the same custom columns. You change the Read data for Lotus in library A, then connect CC while still using library A. Book matching happens and the metadata is sent to CC because the modified date has changed in calibre, including the Read data. Now, disconnect, change to library B and reconnect. This time the Read data in library B might be sent to CC, depending on the modified date of Lotus in B. What came from library A will be overwritten.

Changing libraries while connected works with one caveat/bug. When you change libraries with a device connected, calibre goes through the same book matching process that happened when you originally connected. Just as above, metadata from the new library will be sent to the device if the modified date indicates that it should, which may or may not be what you want. The caveat/bug: calibre's view of CC's read info will still be as it was when the original connect happened. Changes in CC's data because of syncing aren't reflected yet, with the result that calibre could think that CC's value has changed (this is what happened to you). This is a bug, and I will fix it. In the meantime you can avoid the bug by disconnecting before you change libraries.

As for adding the option, I will think about that. The option would require making the data read-only in CC to avoid confusion about what syncs, but that in itself would create confusion.

EDIT: the bug is also triggered if you use "Update cached metadata on device" (under the Devices button) to write metadata to the device that was changed while the device was connected.

EDIT2: the fix for the multiple-sync bug described above is now in calibre's master source and will included in the next calibre release.

Last edited by chaley; 04-16-2014 at 02:55 AM.
chaley is offline   Reply With Quote