I am most of the way through implementing the ability to mark books as "Read" in CC and have that info sync'ed with calibre. Before I go further, I want to do a sanity test to check that what I am doing makes sense.
The first half of the feature, marking books Read in CC, is done in book details. There is a drop-down box on the first line of metadata with the label "Read" where you can select "Yes", "No", or empty. Of course, you choose what these values mean, but my thought is that "Yes" means I have read it, "No" means that I haven't read it but want to real-soon-now, and empty means I haven't decided. There is a new built-in group in the grouping drawer called "Marked Read" that has the same three choices, permitting you to browse any one of the three categories. Like other categories they work with long-press, giving you the equivalent of virtual libraries.
The second half of the feature, syncing with calibre, will work as follows:
1) There will be an option in Settings to tell CC the lookup name of a Yes/No custom column that CC is to sync with. There is another option to tell CC the lookup name of a date-type custom column that is to receive CC's date read value.
2) There is no problem with not specifying a calibre column with which to sync. If you don't then the info is only in CC.
3) Values are synced when you connect as a wireless device. The rules are (in order):
- If you have changed the value in CC, the calibre column is set to CC's value.
- If you have changed the value in calibre, CC will get that value.
- The calibre date column will always be set to CC's value.
4) Syncing the first time after telling CC which calibre columns to use is special. In this case, the rule used one-time-only is (the value from CC will be copied to the calibre column if it is Yes or No, otherwise the value in the calibre column will be copied to CC).
Given the limits of text descriptions, does this make sense to you?