View Single Post
Old 10-11-2016, 03:13 AM   #4
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,449
Karma: 8012886
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
This is much more complicated than I hoped. Two-state columns are a calibre option, not an attribute of the column definition. CC doesn't have access to that option in either the content server or cloud connections. It could have access to it over the wireless device but it currently does not, and in any event is not a general solution.

I am not willing to (try to) change calibre to auto-set 2-state columns to No. This would behavior that has existed for years and could have unhappy knock-on effects.

One general solution would be to write another LibraryClosed plugin that checks the option. If it is set then the plugin fetches all the empty values and sets them to No. This scheme ensures that all of the connections see No instead of empty. The downside is that new values will be empty until the library is closed.

A second solution is to use bulk edit to set the value of all No columns explicitly to No. This has the downside of setting the last_modified date for the books. A variant of this is to use the "add tag to new books" feature. One would select all books with that tag, set the bool(s) to "No", and remove the tag.

A third solution is to set the bools to tri-state, then from time to time select all books with "false" values and set them to No. This avoids the last_modified problem. It also provides a visual indication that something needs to be done.

Personally, I would use the third solution, possibly combined with the first.
chaley is offline   Reply With Quote