View Single Post
Old 11-28-2017, 12:09 PM   #520
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: 11,742
Karma: 6997045
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
Quote:
Originally Posted by lorikitty View Post
I've been following a thread on ChromeOS about this here, and it just got an update from a dev stating "This should be fixable by the app developers to use the removable storage API as mentioned in comment #54." I've had success with some apps that do have read/write access to the SD card, and others that don't.
The Google page linked to by that post also says that the Storage Access Framework should work. CC uses the SAF.

Another issue: the "Scoped Directory Access" feature appears in Android 7. To use it, an app must claim to support and follow the rule that release imposes. One new "rule" in Android 7 is that an app *cannot* pass a file path to another app, which fundamentally breaks CC because it can no longer hand the book path to the reader app. Instead it must support the other app making a copy of the file so you end up with N copies of every book you read.
Quote:
The problem with the setup the way you've outlined it is the books aren't pointed to the right path, and when I try to change it, I select the folder that contains all of the books and Calibre Companion doesn't actually change the path. It just sits there with the same path from my phone. Calibre Companion can see the folder with no problem, but it doesn't switch to it.
I strongly suspect that if you send yourself a CC debug log you will see that CC is unable to compute the externally-accessible path for the folder. This happens if the device isn't truly mounted. Without that path, CC cannot hand the book to a reader app (as discussed above).
Quote:
I also rely on the connection to my computer to make sure books are marked as read properly (Goodreads obsession) and I use a few custom columns to organize everything. With local only mode, those custom columns can't be used
The local cloud connection sees all the custom columns in the calibre library and imports that data into the local CC library.

Updating the read information would still work. You import a book from the local copy into CC's library then read the book. You then connect as a wireless device, which will sync the read information with the master calibre library. They changes won't appear in the "local cloud connection" until you copy the updated calibre metadata.db to the sd card, so it would be best if you updated the calibre DB on the sd card from time to time to be sure the metadata is correct.

The process I recommend is:
  1. If the computer running calibre doesn't have an sd card reader, get one.
  2. Mount the sd card on the calibre computer by putting the card into the reader.
  3. Use a sync program to copy the calibre library (the parent folder, all subfolders, and the metadata.db file) to the sd card. The first time will take a while.
  4. Remove the card from the reader and put it in your chromebook.
  5. Use the local cloud connection to get books from the sd card, storing them in CC's library in the Chromebook's main memory.
  6. From time to time use the wireless device connection to sync the read information back to calibre.
  7. From time to time go back to step 2: remount the sd card in the calibre machine and resync the library. This will copy changes without copying things that haven't changed.
This all works because the books contain a unique identifier that calibre and CC use to connect the local cloud connection with the master calibre library it came from. This is the same process used for in-the-cloud calibre libraries.
chaley is offline   Reply With Quote