View Single Post
Old 03-08-2016, 01:36 AM   #1
DavidTC
Connoisseur
DavidTC began at the beginning.
 
Posts: 77
Karma: 10
Join Date: Sep 2011
Device: Nook, Boox C67ML
Here's are a few suggestions. I am not sure how easy they are.

First, to explain: I keep wanting to use the 'local folder' cloud storage instead of the CC connection. All my devices have enough room for my entire library, and I already have cloud synchronization of various other directories set up. I would love to just be able to add things and they'd magically get on my device after a slight delay, or I push the widget labeled 'Sync' if I want them sooner.

Yes, I know there's a 'connect at specific times', and I know I can set up Reading Lists to get always make sure all books are on the device...except that assumes I have Calibre always running, and that it syncs before I leave me house. I would much prefer to use Cloud storage...or, rather, synced cloud storage to local folders, like I do for *everything else* on my Androids.

What keeps stopping me is that the Cloud interface is incredibly annoying. First, I can't filter on multiple things, or sort, and the display is not the same, and I have to 'download' the book, and now it's in the *other* interface, etc, etc.

I though, for the longest time, there was a reason this had to be. I mean, it's how the Calibre server works, right? Except...that's not the Calibre server. And I can't figure out any good reasons this limitation makes sense.

Let me dissect my thoughts:

First, sometimes the cloud is a local path.

Suggestion #1: Why not have the option to use the local cloud path *as* the local book path, and instead of 'downloading', the book merely gets added to the database with the path it already has? (And also need to make sure that file doesn't get deleted upon book deletion.) Why does it need to be put *somewhere else*?

Suggestion #2: And then that leads to the obvious idea that if 'downloading' is just adding a database record, why not just automatically do it for *all* the books when 'connecting' to the local cloud folder? CC reads metadata.db, it fills up a database with all those books, tada.

Suggestion #3: And then this leads into my confusion of why CC doesn't do this for *actual* cloud storage, too. CC already downloads metadata.db, so just fill up CC's database with all those book records, and put cloud:blah/whatever.epub as a 'virtual path' in the path field.

And now it's in the *real* CC interface. Not only is this better, but whatever code is generating the 'pseudo-calibre-server interface from metadata.db' that Cloud users get can be removed.

Then when they 'Read' the book, download it and change the path in CC's database.

Possible issues:

1) Sometimes people just want some of their books 'on their device', but frankly, I suspect any complaints in that direction are just people not paying attention to filtering options. (And if it's some sort of 'I want to hide these books in my library from other people', uh, those books should be in a different library, not in one they put in the cloud and hooked CC to!)

2) Virtual paths are going to create some odd interaction with direct connection to Calibre, if people are trying to do both. A book could be listed as on the device, but not actually on the device.

3) The entire library directory synced to CC has some odd dangers, especially if it's then connected directly to Calibre. These can that either can be dealt with...or 99% of them can be avoided by telling users that such a sync should be one-way. (Which is sad, because it sorta excludes the obvious feature of 'marking books read'.)
DavidTC is offline   Reply With Quote