v1.6 Preview
At least partly due to fabulously generous donation received yesterday (Keith M - you totally made my week!) I've spent today making a start on the next version of this plugin. Here is a screenshot of the new configuration dialog and an overview of my thoughts...
The first thing you see is that I have integrated the editing of tags associated with Goodreads shelves directly into the shelf list. There were historical reasons why this used to be on a separate dialog launched via a button, but they don't apply any more. These mappings are only used by people using the "Upload tags as shelves" and "Download tags from shelves" functionality, so functionality wise they remain unchanged.
The second thing of far more importance is the column of "Shelf Add Actions". The idea I have is that when adding to one or more Goodreads shelves, you should be able to preconfigure a set of actions to be performed. You can already do actions when syncing from a shelf, but you couldn't when adding. So that lead to the "silly" scenario where people might add to a shelf, and then do a sync from it, just to get a tag set or whatever other actions they might have. Unnecessary friction.
I have always seen "Add to shelf" and "Sync from shelf" as being almost mutually exclusive in the userbase in normal usage. By that I mean a person who always uses calibre is their source for books (like me) but for various reasons also wants information kept on the Goodreads website, then I should only need to use the "Add to shelf" option. Alternatively for other users (particularly those new to calibre but already having populated shelves on Goodreads) then you would use the "Sync from shelf" functionality to keep the calibre books updated with changes you make to your shelves on Goodreads. So unless you start making changes to both the website and calibre independently, you shouldn't need to simultaneously use both options.
So in my case where calibre is my preferred "master", when I finish reading a book and want to add it to to my "read_2011" shelf I want it to have shelf add actions setup to:
- Set my #read custom column to Y
- Set my #lastread custom column to todays date (editable)
- Set my rating column to a value I specify (editable)
The add to shelf dialog will have columns in it for date read and rating (if I have configured them on screenshot shown), allowing me to directly edit the values on that dialog, and then along with adding the book to the shelf it will assign those values to my Goodreads review for it.
You will also be able to multi-select shelves on that configuration screen, so as to setup either sync actions or shelf add actions for multiple shelves to be the same in a single step. So if for instance you have a bunch of genre shelves and want the same actions to take place when you sync from them, you will just select those shelves, click the Edit button, specify your actions, and they will all have the same actions set. You can then either edit them individually, or repeat to replace them as a group.
I am also going to drop the whole shelf name submenu under "Add to shelf" in the context menu, where you choose one specific shelf to add to. Instead, there will just be a single "Add to shelf..." menu option, and in the add to shelf dialog that pops up, a panel on the left side will list your shelves and you will choose which shelf you will add it to (hence supporting multiple shelf adds). It will remember your last choice as well.
Every other menu option in this plugin should remain unchanged - so people who like working the way they do now will not be forced to change anything.
There's still a lot more development to be done before it is ready, but any feedback on where it is going is appreciated.
|