View Full Version : [GUI Plugin] Reading List


Pages : [1] 2 3

kiwidude
05-28-2011, 03:09 PM
This plugin is for a number of users who have requested a "Reading List" ability for their library, allowing them to keep track of which books they would like to read next and in which order. You can have multiple lists per library per device.

This plugin has also integrated all the functionality of the now deprecated Book Sync plugin, allowing you to synchronise list(s) to a device either manually or automatically when it is connected.

You also have the ability to generate lists based on the content of your device. In combination with the ability to apply tags or populate a custom column based on membership in a list, this provides an easy way to keep track of books on your device(s) while they are not connected.

Main Features of v1.6.6:

Create one or more independent lists of books, per library
Lists can be manually populated, auto-populated based on books on a device, or auto-populated based on a tag/custom column value
Add all books with the same series series name for the selected books to a list
Order the contents of a list (for manual lists, order is viewable in calibre only, not on the device)
Optionally specify a tag or custom column value to be added when books are put on the list and/or removed when taken off the list
Optionally sync each list to one or more devices, a folder or iTunes
Specify whether list sync should add only new items not on device, add all items every time, remove all items that are on the list, or replace all items on the device with the list
Optionally force a sync to the device of your list if adding while it is connected
Optionally populate a custom series column with your reading list order, for constant visibility within calibre or content server
Optionally force Kindle Collections to be recreated after a sync (Kindle owners only, requires the Kindle Collections plugin)
Configure devices and the names for individual storage locations
View the contents of your list in the library view sorted in list sequence.
Remove books from your list, move books between lists and clear lists.
Shortcuts customisable in a configuration dialog


Special Notes:

Requires Calibre 0.9.29 or later


Installation Notes:

Uninstall the Book Sync plugin if you have it installed.
Download the attached zip file and install the plugin/restart Calibre/add to context menu as described in the Introduction to plugins thread (http://www.mobileread.com/forums/showthread.php?t=118680).
If you would like to associate devices with your lists, follow the steps below.
Ensure a device you would like to sync to is connected.
Select Customize plugin from the plugin menu (or via Preferences -> Plugins). Click the Add connected device button.
If you want to rename the device you should do so now. If it has multiple card locations, uncheck any you do not want to create a sync list for.
For the list(s) you wish to synchronise to this device, select the device in the list configuration dropdown. You should also specify the additional options below it, such as whether to clear the list after syncing to it.
If you have multiple devices, disconnect your first device, plug the second in and repeat the steps above to add it to your Reading List known device list via the configuration dialog.


Kindle Collections:

Kindle collection integration requires at least version 1.7.0 of the Kindle Collections plugin (http://www.mobileread.com/forums/showthread.php?t=118635).
To automatically recreate Kindle Collections after a sync to your Kindle, follow the following steps:

Ensure you have the Kindle Collections plugin installed and configured. You can find further information on this plugin here (http://www.mobileread.com/forums/showthread.php?t=118635)
In the Reading List configuration dialog, change the dropdown in the Collections column for your Kindle to "Y"
Force a sync to your device, either by connecting if you have autosync turned on or manually using the Sync Now menu option
After your collections have been recreated, the Kindle Collections summary dialog will appear. Follow the instructions on it to disconnect and restart your Kindle to see the new book collections.




Paypal Donations:

If you find this or any of my other plugins useful please feel free to show your appreciation. I have spent many hundreds of unpaid hours in their development and support so any encouragement for me to continue is appreciated!
https://www.paypal.com/en_US/i/btn/btn_donate_LG.gif (https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=RBHY43BYX9FVA)

Version History:

Version 1.6.6 - 22 Nov 2014
Fix keyboard shortcuts not working on calibre >= 2.10

Version 1.6.5 - 28 Jul 2014
Supporting upcoming calibre 2.0

Version 1.6.4 - 21 Jul 2013
Final fix for duplicated keyboard shortcuts between adding to a list and adding series to a list

Version 1.6.3 - 20 Jul 2013
Attempted fix for duplicated keyboard shortcuts between adding to a list and adding series to a list

Version 1.6.2 - 09 May 2013
Change for correct support of calibre 0.9.29 virtual libraries feature
Add a "Add series to xxx" menu option to allow quickly adding all books in a series for the selected book(s)
Improve readability of the confirmation text when clearing a reading list

Version 1.6.1 - 17 Mar 2013
Rewrite auto-populate from column to be "auto-populate from search". Users now type a search expression rather than choosing a column/value.

Version 1.6.0 - 23 Nov 2012
Add ability to automatically create lists based on tags or custom column values
When moving books between lists, turn off warnings to prevent multiple errors being displayed
If default list is set to an automatically populated list, do not allow the add/edit/clear actions for default list

Version 1.5.2 - 22 Aug 2012
Fix the signal disconnection which prevented things working once the config window had been opened/closed.

Version 1.5.1 - 30 Jul 2012
Ensure error not thrown if device is connected after configuration is closed and objects deleted
Set a favourites_menu_unique_name attribute on menu actions that have dynamically changing names for Favourites Menu plugin usage
Allow multiple lists to be selected in the Move to list dialog, as an alternate way for users to add to multiple lists at once

Version 1.5.0 - 22 Jun 2012
Now requires calibre 0.8.57
Store list contents in the calibre database rather than a json file, to allow reuse from different computers (not simultaneously!)
Add a support option to the "Other" tab allowing viewing the plugin data stored in the database
Remove code that supported upgrading from earlier than 1.2.0 of this plugin.

Version 1.4.4 - 15 Jun 2012
Add a create_list function to the internal API for use by other plugins
Add further refresh_screen overloads to the API functions and improve command line testability

Version 1.4.3 - 30 May 2012
Add a confirmation prompt to the clear list option.
Change the Move to list functionality, so it is always available rather than only when viewing a list. Change behaviour to prompt for source/target lists.
When choosing Remove from all lists, if currently viewing a list then refresh it.

Version 1.4.2 - 28 Jan 2012
Offer option to display the reading order in a custom series column
Fix bug where clearing a list would not immediately refresh books on screen that were on that list

Version 1.4.1 - 12 Jan 2012
Refactor some methods to expose the ability to add/remove from lists from other plugins

Version 1.4.0 - 21 Nov 2011
Add list type of "Auto populate list from books on device". Populated when you sync. You cannot manually add/remove.
Add Clear menu items for fast way of clearing the contents of a list
Fix to ensure when a list has auto-clear turned on, items are removed even if not found necessary to sync them
Move the devices list onto its own tab to simplify list appearance
Add an option on Other Options tab for whether to display the remove books from device dialog, allowing unattended syncing.

Version 1.3.2 - 2 Nov 2011
Fix for updating boolean columns to use prefs rather than tweaks since changed in Calibre 0.7.55
- Allow specifying the value to be assigned to a boolean when adding, rather than always just "Y" (True)
- If tristate column and list set to remove value from a boolean column, will set the column to blank (as per previous)
- If non tristate column, will set the value to the opposite of what you specified on config dialog for an add (i.e. ignores current value)

Version 1.3.1 - 23 Oct 2011
Allow a list to be associated with "*Any Device" so a single list can be synced to multiple devices
When switching libraries, if a device is connected then fire the check to see whether lists to sync
Rename list types - Sync new list items -> Add new list items to device, Sync all list items -> Add all list items to device
Add list type "Replace device with list, send new only" to delete non-list books from device, send new items not on device
Add list type "Replace device with list, overwrite all" to delete non-list books from device, overwrite all books with list

Version 1.3.0 - 17 Sep 2011
Upgrade to support the centralised keyboard shortcut management in Calibre

Version 1.2.6 - 31 Jul 2011
Ensure people upgrading who had no list type node in their config xml do not get an error.

Version 1.2.5 - 30 Jul 2011
Offer option of controlling whether tags are added only or removed only for each list
When syncing lists, apply and "Remove" type lists before any other list types

Version 1.2.4 - 05 Jul 2011
On the View menu item, put a total of items on all lists on the top level menu item
On the Sync now menu item, put a total count from all the lists that would be synced

Version 1.2.3 - 20 Jun 2011
Bug fix for "Sync all items" functionality

Version 1.2.2 - 20 Jun 2011
Add a "list type" for each list, which allows syncing new only, all items, or removing items from device

Version 1.2.1 - 18 Jun 2011
When syncing a list, only sync books not already on the device

Version 1.2 - 08 Jun 2011
Integrate the Book Sync functionality allowing specifying a device to send a list to
Add a count of the items on a list to the menu
Add optional keyboard shortcut to add to a specific list

Version 1.1.1 - 05 Jun 2011
Support the config migration for users who jumped from earlier versions

Version 1.1 - 03 Jun 2011
Change all tagging column definitions and values to be per list rather than per library
Support other custom column types of enumeration and boolean

Version 1.0.3 - 02 Jun 2011
Add menu option to remove books from the list, with a keyboard shortcut
Change the error and delete list/item confirmation dialogs to have the option to not show again
Add a button to configuration dialog to allow resetting confirmation dialogs
Ensure the book details pane is updated for the current row

Version 1.0.2 - 30 May 2011
If edit while viewing the contents of a list, refresh the view afterwards
If a user deletes a list, ensure any tags are removed for items on that list
Expand on the tags add/remove option to allow choosing a custom column instead

Version 1.0.1 - 28 May 2011
Add option to add tags when book added to list, and remove tags when removed from list

Version 1.0 - 28 May 2011
Initial release of Reading List plugin

witeowl
05-28-2011, 05:21 PM
Nice. I've admired (and taken advantage of) your work in plugins for a while.

Any chance that it can be set to add or remove a tag? With my Sony reader, I use tags for collections, and that added feature would make it extraordinarily easy to manage my reading list on my device.

kiwidude
05-28-2011, 05:41 PM
Could you elaborate? Do you mean add books to a list based on a tag, or add a tag to books on a list? Or something else?

witeowl
05-28-2011, 06:51 PM
Of course. What I mean to have the plugin automatically add a (customizable) tag when the book is added to the reading list and remove it when the book is removed from the list.

What I'm doing right now is adding the tag "-next read" to books I want to read soon to manually create a reading list. This becomes an easy-to-access collection on my reader. Though it's no big deal to do it manually, this plug-in looks like it could nicely automate (and enhance) the process. Obviously the collection on my reader would lack the nice ordering, but we can't have everything. ;)

kiwidude
05-28-2011, 08:01 PM
Changes in this release:

Add option to add tags when book added to list, and remove tags when removed from list

witeowl
05-28-2011, 10:20 PM
Well... That... Just... Rocks! :thanks:

nynaevelan
05-28-2011, 11:38 PM
That is a nice addition, is there any chance you can do the same thing for a custom column? I use a secondary tag field for the same thing. But if not, no worries I can live without it, this is absolutely awesome because now I can decide in what order I want to read the next books because my to-read list is getting bigger and bigger. At this rate I am going to need some more money to make some more donations. :cool:

Nyn

kiwidude
05-30-2011, 04:59 PM
Changes in this release:

If edit while viewing the contents of a list, refresh the view afterwards
If a user deletes a list, ensure any tags are removed for items on that list
Expand on the tags add/remove option to allow choosing a custom column instead


Note that due to the change to support choosing between tags or a custom column, I chose to break some backwards compatibility. So if you had specified a tag previously, please go back into the configuration to specify it again.

PaulineDesigns
06-01-2011, 08:19 PM
I've been using this plugin for a couple of days now--very useful!!

I am having a problem with the "Tags to add/remove when adding to a list:" feature. I have the tag to add/remove set to TBR and it works fine when the book I'm adding already has a tag(s), but when the book I'm adding has no tags then nothing gets added. This is calibre's standard tag column not a custom column and I'm running 0.8.3 on Vista.

Thank you!!

kiwidude
06-01-2011, 08:37 PM
@PaulineDesigns - I don't have this issue. I wonder why you do. Has anyone else noticed this? You are using the latest version of the plugin right? The plugin uses the same code that the bulk metadata edit dialog uses.

PaulineDesigns
06-01-2011, 10:24 PM
Hmm I should have had the latest ver...d/l'd after you announced 1.0.2 but I have 1.0.1. I will update it tomorrow (no net access, on cell now) and let you know what happens.

Kavon
06-02-2011, 09:42 AM
Wonderful little function! Makes what I used to do with a custom column a little more elegant. I do have one suggestion. I'd like to be able to remove a book from the default list as easily as adding one. The way it is now, to remove a book from the list you have to "Edit" the list and find and select the book and then delete it. How about a simple toggle? If the book is not on the list it is added and if it is on the list it is deleted? Thanks!

kiwidude
06-02-2011, 10:28 AM
Changes in this release:

Add menu option to remove books from the list, with a keyboard shortcut Change the error and delete list/item confirmation dialogs to have the option to not show again
Add a button to configuration dialog to allow resetting confirmation dialogs
Ensure the book details pane is updated for the current row

PaulineDesigns
06-02-2011, 10:50 AM
Updated to 1.0.3 this morning and everything seems to be working perfectly now. Thank you very much for the fast response and the new option for remove books is great!

Kavon
06-02-2011, 11:49 AM
Wow! That's responsive! Thanks, it's just want I asked for!

CWatkinsNash
06-02-2011, 03:02 PM
This is the first time I've dropped in on the Plugin forum in a few weeks - you've been busy! Wow, pages, reading lists... Somehow I don't think I'm going to get much real work done today. :D Great work!

pike2000
06-03-2011, 02:58 AM
Could you clarify how it is supposed to work? I added "Read" and "To Read" lists. I created 2 custom columns. And it seems that all 3 lists (including "Default") share the same column and tags (to add/remove). Every time I change either the column or the tags in the plugin properties all lists are affected, not just the list shown in the "Lists" menu.

It would be nice if each list has own "Tags to add/remove when adding to the list" value. It will allow to display different text for different lists. The idea is that when all columns are displayed in GUI it easy visible what lists some book belong to (without looking for the columns names).

What types of columns are shown in the "Column to update" menu? It seems that only the "Comma separated text, like tags, shown in the tag browser". I did not try all possible types but I added "Text, but with a fixed set of permitted values" column. The column is not shown in the menu.

Some custom columns can be displayed using colors. Rating columns are displayed as starts. It would be nice if such columns can be used in the reading lists.

kiwidude
06-03-2011, 05:10 AM
Hi pike2000, welcome to mobileread.

Those were all intentional limitations, so you have the behaviour correct. In hindsight I realise I should have made the extra effort to make the column and tags a per list setting as it falls apart as a concept if you have multiple lists, so I will fix that.

The problem with supporting more column types is what value do I put in them. So again I chose the easy route of just supporting text type columns. For instance you mention a stars column which along with any of the numerical based columns I wouldn't have thought made any sense to indicate presence on a list?

A permitted value text column should have worked I thought though I did not try it. So I can fix that if it is broken. I could I guess also add support for yes/no columns too. But a rating column doesn't make sense to me?

comox
06-03-2011, 12:43 PM
Thank you for a great new plugin.

I am glad to see you are considering adding a unique tag per list. I would find this very helpful.

CWatkinsNash
06-03-2011, 01:42 PM
Those were all intentional limitations, so you have the behaviour correct. In hindsight I realise I should have made the extra effort to make the column and tags a per list setting as it falls apart as a concept if you have multiple lists, so I will fix that.

At first I didn't realize this wasn't the case because of the way I used it yesterday - create new list, input desired column & tag, then add desired books. Rinse, repeat. It was only after I saw a book I wanted to put on a previous list that I realized the tags weren't "attached" to the lists, and at first I thought it was something I did. (I mean, after all, when something doesn't work as expected, it's usually my fault.)

So I, too, am happy to hear that you'll be changing that. I've got a whole new system now thanks to this plugin. I use it to create "priority lists" accessible from the tag browser. I could have done it before with a custom column, but using the plugin is much faster than editing the metadata field, and that's without even using shortcut keys yet.

kiwidude
06-03-2011, 01:48 PM
Yes it is one of those things in hindsight you smack your forehead over and say how could I have been so stupid :)

I did consider doing it at the time, but because it is quite a bit of extra work I took a shortcut and thought that per library settings would be enough. Obviously it isn't... duh... I only use a single list myself so hadn't spotted the impact of it in usage.

I'm coding it up at the moment so should be a release in a few hours.

CWatkinsNash
06-03-2011, 01:57 PM
Yes it is one of those things in hindsight you smack your forehead over and say how could I have been so stupid :)

I did consider doing it at the time, but because it is quite a bit of extra work I took a shortcut and thought that per library settings would be enough. Obviously it isn't... duh... I only use a single list myself so hadn't spotted the impact of it in usage.

I'm coding it up at the moment so should be a release in a few hours.

:happydance: :thanks: :iloveyou:

And on that note, it's time to make the donation rounds again. Which, coincidentally, is made so much easier by the plugin updater plugin. :)

kiwidude
06-03-2011, 02:13 PM
@CWatkinsNash - thx so much for that, you just made my weekend :)

CWatkinsNash
06-03-2011, 02:51 PM
@CWatkinsNash - thx so much for that, you just made my weekend :)

You're very welcome! Anyone who makes my life easier (and allows me to geek out in the process) deserves to be rewarded.

(Note to self: good deeds on Fridays make entire weekends, whereas good deeds Monday - Thursday make someone's day. Do deeds on Friday when possible from now on.) :D

kiwidude
06-03-2011, 04:22 PM
Changes in this release:

Change all tagging column definitions and values to be per list rather than per library
Support other custom column types of enumeration and boolean


I've added code that should migrate your lists and columns/value to the new structure needed for the column change above. This should now allow you to set different columns/values for different lists in the same library. I also added support for yes/no columns and "text with a permitted set of values" columns.

beckywc
06-04-2011, 10:47 AM
I now get an error since updating to 1.1:

Traceback (most recent call last):
File "calibre_plugins.reading_list.action", line 312, in show_configuration
File "site-packages\calibre\customize\__init__.py", line 150, in do_user_config
File "calibre_plugins.reading_list.__init__", line 62, in config_widget
File "calibre_plugins.reading_list.config", line 268, in __init__
File "calibre_plugins.reading_list.config", line 288, in _select_list_combo_index_changed
File "calibre_plugins.reading_list.config", line 122, in get_tags_to_add_remove
AttributeError: 'list' object has no attribute 'get'

kiwidude
06-04-2011, 11:00 AM
@beckywc - I would say there was a problem migrating your previous lists. Did you restart calibre after installing the new version?

Can you please attach your Reading List.json file to a post (you may have to zip it first to attach it, or else just paste the content into a spoiler tag on here). You can find this using Preferences->Misc->Open Calibre configuration directory and going to the plugins subfolder.

If you just want to get going, you could just delete this file and restart calibre, but that will lose your lists.

beckywc
06-05-2011, 01:16 AM
I did restart my computer a few times. 72321

kenr276
06-05-2011, 08:24 AM
I now get an error since updating to 1.1:

Traceback (most recent call last):
File "calibre_plugins.reading_list.action", line 312, in show_configuration
File "site-packages\calibre\customize\__init__.py", line 150, in do_user_config
File "calibre_plugins.reading_list.__init__", line 62, in config_widget
File "calibre_plugins.reading_list.config", line 268, in __init__
File "calibre_plugins.reading_list.config", line 288, in _select_list_combo_index_changed
File "calibre_plugins.reading_list.config", line 122, in get_tags_to_add_remove
AttributeError: 'list' object has no attribute 'get'

I get same error.

kiwidude
06-05-2011, 09:01 AM
Thanks for confirming becky's issue. Obviously there as some sort of configuration migration issue, though I am surprised more people haven't reported it.

The easiest solution for you if you don't mind losing your lists is to rename the Reading List.json file in your calibre plugins folder, then restart calibre. Set your lists up again. Then add your books again, or if you want to you could copy the list of comma separated id values over from the old configuration file that you renamed to the new one.

I will take a look at becky's file shortly to see if I can find out why it went wrong for you both and if a new plugin version could fix it.

kenr276
06-05-2011, 09:13 AM
I don't mind losing my list because I only had 9 books on it, would deleting Reading List.json and restarting calibre work? BTW where do I find that file?

kiwidude
06-05-2011, 09:20 AM
Preferences, misc, open calibre configuration directory. Then go to the plugins folder.

kenr276
06-05-2011, 09:36 AM
Preferences, misc, open calibre configuration directory. Then go to the plugins folder.
It worked. You are the greatest!

kiwidude
06-05-2011, 10:24 AM
It worked. You are the greatest!

Not really - if I was the bug wouldn't have been there in the first place causing you the grief ;)

I found the cause of the problem. I would guess that neither you nor becky had upgraded from a much older version of this plugin than I had anticipated. So an error was being thrown while it started up trying to upgrade your config files, and that left them in the bad state.

I will publish a new version of the plugin shortly which will fix this for anyone whose config files have been left in that state, as well as handling people upgrading from the more recent versions, including those who successfully updated with the 1.1 release.

kiwidude
06-05-2011, 10:28 AM
Changes in this release:

Support the config migration for users who jumped from earlier versions


This will hopefully fix things for users who had issues upgrading to 1.1. It would only have affected those of you who updated from a much older version of this plugin.

Gunnerp245
06-05-2011, 01:35 PM
Changes in this release:
Support the config migration for users who jumped from earlier versions
This will hopefully fix things for users who had issues upgrading to 1.1. It would only have affected those of you who updated from a much older version of this plugin.

I was having the same error as others have reported. After updating to the current version the error is gone and the plugin works!

kiwidude
06-05-2011, 01:37 PM
Excellent, thx for confirming you are now sorted Gunner.

kiwidude
06-07-2011, 06:50 PM
As mentioned on the Book Sync thread, I have now integrated all of the Book Sync functionality into this Reading List plugin. So it is now possible for any of your reading list(s) to be optionally associated with a device to sync to. This in effect completely replaces the Book Sync plugin which should be uninstalled.

The other change I made is a count of the number of items in a list on the View menus, which was also requested.

I would appreciate a few users giving this a test for me before I officially release it.

To use this plugin, I suggest the following:

Empty any sync lists on your Book Sync plugin and uninstall it
Install this attached version of the Reading List plugin.
As per the instructions for setting up Book Sync, you will need to connect to your device(s) one at a time and enter the Configure plugin dialog. Click on Add connected device to define your list of devices. If it has multiple storage cards, I suggest renaming each while the device is connected using the plugin, making any inactive you intend not to use.
For each list you potentially want to sync to a device, select the device name in the dropdown. Enable the additional checkboxes based on whether you want the list to be synced as soon as the device is connected, and whether you want the list cleared after it has been synced.


If you don't want to sync a list to a device/folder, then the behaviour is unchanged from that you have currently.

Appreciate any feedback.

CWatkinsNash
06-07-2011, 07:20 PM
Okay, it's installed as per your instructions. I went into the configuration, and my settings were still there except it had "tags" selected as the column for tags instead of my "#lists" column. So I tried changing it but it won't remember my column selection. It keeps going back to "tags" every time I open it. I tried doing it one at a time but that didn't work either.

Edited to add: I can confirm that this happens with newly created lists as well, not just the ones I already had. Created "Kindle" list, assigned "Kindle New" to "#lists" column, assigned device. Clicked okay, reopened configuration and the column had changed back to "tags".

nynaevelan
06-07-2011, 07:50 PM
Okay, it's installed as per your instructions. I went into the configuration, and my settings were still there except it had "tags" selected as the column for tags instead of my "#lists" column. So I tried changing it but it won't remember my column selection. It keeps going back to "tags" every time I open it. I tried doing it one at a time but that didn't work either.

I can confirm the same behavior.

kiwidude
06-07-2011, 07:57 PM
Ahhh, thanks for that, thought I might have missed something (hence the beta). New version attached.

CWatkinsNash
06-07-2011, 08:08 PM
Ahhh, thanks for that, thought I might have missed something (hence the beta). New version attached.

Yay! Issue fixed. I have some edits to do before a full run, but I will report back shortly.

nynaevelan
06-07-2011, 08:08 PM
It is still not remembering the changes.

EDIT:

It saves the settings if you do one list at at time and save out of the config screen.

CWatkinsNash
06-07-2011, 08:12 PM
It is still not remembering the changes.

Strange. It's working for me. I just double-checked and they are still as I put them.

Edit - nevermind, just saw your edit :)

CWatkinsNash
06-07-2011, 08:51 PM
Okay, it's almost working as expected. I set it up as I described previously, with a "Kindle New" list assigned to sync to the Kindle. If I check the box to sync on connect, it works perfectly. However, if I do not check that box and try to sync using the "Sync Now" option on the menu, nothing happens.

Also, the list is flushed as expected and the associated tags are removed. So it seems that I've got everything working except "Sync Now".

kiwidude
06-07-2011, 09:07 PM
Thx to both of you for the excellent feedback, this version should address both the issues you raised (saving column when you switch lists, and aloowing sync now without auto sync turned on).

CWatkinsNash
06-07-2011, 10:02 PM
Thx to both of you for the excellent feedback, this version should address both the issues you raised (saving column when you switch lists, and aloowing sync now without auto sync turned on).

Well, if I'm going to throw these bones for you to gnaw on, the least I can do is follow-up and try to help out where I can. :)

:thumbsup: I'm happy to report that it seems to be working perfectly now. :thumbsup:

Naturally, I had to go acquire a few more books to do a proper test - I can't do a sync "just because". :D

Luckily for you, I'm out of additional ideas for hybrid plugins at the moment. :D

nynaevelan
06-07-2011, 11:11 PM
This one is a 100% winner here as well and I got so caught up in testing I forgot to say I love the way you added the count to the title, now I see at a glance which ones I need to sync to my device. Great job KD :D

Stampercam
06-08-2011, 12:10 AM
I've been playing with the beta version (still procrastinating on the study thing:( ) and it is a great combination of both the plugins.

Having said that, I having workflow problems due to the way I'm trying to do things. If someone wants to suggest a different method, please feel free :D

Ok, so I'm running both my ipad (through itunes) and my husbands reader (connected to calibre directly) and will be adding my kids devices once I get workflow sorted.

the procedure I've been trying to use goes like this:


add title to list (works great with the addition of multiple lists) - add tag ie. "on ipad" or "on hubby's"
sync to device
read book
remove from device - remove the "on ipad" tag and add tag "read by cam"



At the moment using both plugins in combination I'm doing step 1 with the (original) reading list plugin which tags for me, then adding those titles to the book sync plugin when ready to send to device. Step 4 I've been doing manually with "remove from device" but changing the tag to "read by cam" beforehand.... does that make sense?

Using this new combined version of the plugins, as soon as the book is removed from the list the tag goes, which means that I don't have the tag in place telling me which books are on what device when the devices aren't connected.

My manual method is working but it is easy to miss steps so I'd love a suggestion :help:

Cam

CWatkinsNash
06-08-2011, 12:37 AM
Step 4 I've been doing manually with "remove from device" but changing the tag to "read by cam" beforehand.... does that make sense?

Using this new combined version of the plugins, as soon as the book is removed from the list the tag goes, which means that I don't have the tag in place telling me which books are on what device when the devices aren't connected.

My manual method is working but it is easy to miss steps so I'd love a suggestion :help:

Cam

I manage two ereaders for myself and my roommate, so I get the "keeping track" issues. It's why I started using the plugin. One option is to uncheck the "clear this list after sync" checkbox and keep an ongoing list, which will also keep the tags in place.

That said, I've decided to keep separate lists - Kindle New (or Literati New) of new books to sync that clears after sync, and "Christa's Books" (or "John's Books") as a non-syncing ongoing list. Once the list is set up it's only one extra click to put the books on both applicable lists. That's what easiest for me, but your mileage may vary.

As for manually removing the tags after reading, I don't even bother. I have a saved search for unread books set as a restricted view that calibre starts up with. Unless I choose to show all books, I don''t even see the books I've already read. I mark books I've finished as "read" in calibre as I finish them, then once a week or so I connect the reader, switch to view all books, and remove from the device any that I've marked as read.

If you do use a custom column for read status and still want to change the tags too, you can also just use that to sort by status, select the finished books and use "search and replace" in the bulk metadata window to change those tags in one swoop. Not something that has to be done every time you finish, just as maintenance once every week or two.

I hope that made sense. I'm tired, and sometimes I don't make the most sense when it's late. :)

Stampercam
06-08-2011, 12:51 AM
That said, I've decided to keep separate lists - Kindle New (or Literati New) of new books to sync that clears after sync, and "Christa's Books" (or "John's Books") as a non-syncing ongoing list. Once the list is set up it's only one extra click to put the books on both applicable lists. That's what easiest for me, but your mileage may vary.



The separate lists idea is perfect :thanks:, and it's simple enough to maintain even for my hubby when he feels the need to poke around in *my* database lol.

So, now a question for kiwidude, can I set up keyboard shortcuts for all my lists? I can only find the options for setting up for the default list. This new combined plugin works a treat by the way.

Cam

kiwidude
06-08-2011, 04:59 AM
So, now a question for kiwidude, can I set up keyboard shortcuts for all my lists? I can only find the options for setting up for the default list. This new combined plugin works a treat by the way.

Cam
Thanks all for the feedback, sounds like I can release it soon.

At the moment you can only set shortcuts for the current list. I guess I could add the ability for each list to have an add shortcut as well.

Re the two list thing from CWatkinsNash. What are your reasons for maintaining two lists? Why nit just one list with clear turned off? Is it because when you sync it sends the entire list each time?

One of the ideas I contemplated was checking the ondevice value for each book so it would only send new ones. However there could be a scenario where say you reconvert a book and want that sent to your device, and it wouldn't happen because of this check. So then I thought I could add a "only sync books not on the device" checkbox option for each list, but apart from adding more complexity that wouldn't cater for a scenario of a list you normally want treated one way but had a book that you wanted differently this time. So I abandoned the whole change and instead all books on your list get sent each time. The only downside to this I am aware of is potentially slower to sync if your list is massive, and books on a kindle getting marked as new in it's ui each time.

nynaevelan
06-08-2011, 10:17 AM
Kiwidude:

I get the following error when deleting a device although the plugin does delete the device:

calibre, version 0.8.4
ERROR: Unhandled exception: <b>KeyError</b>:u'syncDevice'

Traceback (most recent call last):
File "calibre_plugins.reading_list.config", line 716, in _delete_device_clicked
KeyError: u'syncDevice'

kiwidude
06-08-2011, 10:25 AM
Thx Nyn - I obviously made a further change after I tested it, darn it. Will be fixed in the next version.

CWatkinsNash
06-08-2011, 01:00 PM
Re the two list thing from CWatkinsNash. What are your reasons for maintaining two lists? Why nit just one list with clear turned off? Is it because when you sync it sends the entire list each time?

No, in my case it's because the "Kindle New" (sync) & "Christa's Books" (non-sync) serve additional functions in my overly-organized ebook universe. I'm not awake enough to clearly explain it fully, but because of that, it makes more sense for me to have both of them. One thing I am coherent enough to note is that, for example, I send the New York Times to the sync list, but I don't need it on my books list because I don't really "manage" news - just send, read, delete. So that's one example.

Also, occasionally I download a book straight from Amazon to the Kindle, and later use K4PC to put an alf'd backup copy in calibre - I know it's the same book, but the Kindle and calibre see it as a whole different animal. So in this case, it goes on my books list, but not the sync list.

So, doing it this way, the lists themselves don't require much in the way of maintenance.

Besides, since a quick perusal didn't show any duplicate/ondevice checking going on, I assumed (rightly, according to your post) it would slow down the sync, especially since I have over 900 books on my Kindle that, once I'm done organizing, will be on my book list. (Actually, I'll break it up into a smaller lists, but you get the idea.)

nynaevelan
06-08-2011, 02:20 PM
Re the two list thing from CWatkinsNash. What are your reasons for maintaining two lists? Why nit just one list with clear turned off? Is it because when you sync it sends the entire list each time?


I would like to chime in on this conversation also because I too maintain two lists for my kindle, I have my sync list and my reading list. My sync list is the list which I maintain in order to keep track of all the books which should be on my kindle until I am ready to get around to reading them. I like to keep them all on there just in case I am in the mood to switch to something different when I complete a book. My reading list is just that, it consists of the books which I know I want to be read within the very near future. Originally this list started out with only about 10 books, but because I have alot of series books this list is now over 40 books large. Which means I need to spend time with it moving books around for various reasons.

And to make this process more complicated, I also keep a copy of the books of my reading list on my Galaxy tab in case I either want to read in bed or my kindle battery dies because I forgot to charge it (which I do alot because I read so much on my kindle). And I also have four additional lists which are lists to sync my books to backup folders on my hard drive. These lists are solely for backup purposes and are only synced once a week or every few weeks depending on how often I buy books from those vendors.

So you see, even with the simplification of the plugin, my life is still complicated because I am an organizing junkie. :rofl:

Nyn

kiwidude
06-08-2011, 02:24 PM
Changes in this release:

Integrate the Book Sync functionality allowing specifying a device to send a list to
Add a count of the items on a list to the menu
Add optional keyboard shortcut to add to a specific list


I've already descrbied this previously so I won't bore our regular readers again but the main point of installing this version is that it supercedes Book Sync. So I suggest you:

Sync any Book Sync lists first (if you don't want to completely lose them),
Uninstall Book Sync,
Install this version
Configure your devices, as you would for Book Sync. See instructions on the first post if you have not done this before.


Thanks in particular to CWatkinsNash & Nyn for their testing of the betas. To any of you that did install the beta (and use plugin updater), force an install even though the version number shows the same as there were some fixes and additions since that last beta.

CWatkinsNash
06-08-2011, 03:38 PM
My reading list is just that, it consists of the books which I know I want to be read within the very near future. Originally this list started out with only about 10 books, but because I have alot of series books this list is now over 40 books large.

Oh yeah, I didn't even mention my other lists but I, too, have "priority" reading lists. Otherwise, things I really want to read soon would get lost in the shuffle. I make collections out of those. It keeps my TBR nonsense from clogging up my regular tags.

And I also have four additional lists which are lists to sync my books to backup folders on my hard drive.

You know, this is an excellent idea - I use Sugarsync right now to backup "to the cloud!" and also sync the whole shebang to my other computer, but I'm starting think I might want to keep local backups of certain subsets... I'm giving myself a headache thinking about it, but thanks for the idea!

So you see, even with the simplification of the plugin, my life is still complicated because I am an organizing junkie. :rofl:


:ditto: :D

beckywc
06-08-2011, 06:52 PM
I have a few questions, sorry if they are simple but, I'm a little confused:

Okay, I have both the book sync and reading list plug in.
1. Does this updated plugin take the place of the book sync?
2. What happens to my reading list?
3. Do I now add books to this list that I want to side load onto my kindle?
4. I have a TBR collection on my kindle and a currently reading on my kindle (by custom columns), how does the reading list affect these two collections? or do they?

Stampercam
06-08-2011, 06:54 PM
Changes in this release:

Integrate the Book Sync functionality allowing specifying a device to send a list to
Add a count of the items on a list to the menu
Add optional keyboard shortcut to add to a specific list




:iloveyou: This is fantastic... Thanks for the shortcuts :) Seriously, I love the way you take suggestions and feedback on board and continuously make the changes to please everybody. I'm not sure when you find the time, but I'm certainly grateful. Definately donation time again.

kiwidude
06-08-2011, 07:44 PM
I have a few questions, sorry if they are simple but, I'm a little confused:

Okay, I have both the book sync and reading list plug in.
1. Does this updated plugin take the place of the book sync?
As I put on the first post, you should uninstall the Book Sync plugin.2. What happens to my reading list?
Nothing, it will be unchanged by upgrading to this version. However uninstalling Book Sync will lose any books which you had on your Book Sync lists, so you should sync those before uninstalling unless you don't mind adding them to new reading lists.
3. Do I now add books to this list that I want to side load onto my kindle?
That depends. Do you want every book on your reading list on your Kindle? Then sure, associate your Kindle with the list and you can Sync with it. Alternatively, create a second reading list just for Kindle sync purposes. That was why I was asking for input above as to why people had multiple lists, and they gave many valid reasons.
4. I have a TBR collection on my kindle and a currently reading on my kindle (by custom columns), how does the reading list affect these two collections? or do they?
Reading list has no involvement with collections on your Kindle, any more than Book Sync did. You can (when meme releases his next version) automatically create Kindle Collections after you sync a reading list to your Kindle. However what collections are created are nothing to do with this plugin, that is up to how you configure the Kindle Collections plugin. All this plugin will do is (1) send the books on a list to a device, and (2) effectively click the "Create Collections" menu of meme's plugin automatically for you. Both these things are optional and off by default.

beckywc
06-08-2011, 08:01 PM
Thanks Kiwidude, you've answered my question even though I didn't phrase it correctly. What I wanted to know is if I it worked in conjunction with the kindles collection plugin to add the books to or delete books in a particular collection in relation to the list.

Thanks Much

kiwidude
06-08-2011, 08:14 PM
The one possible area of "collection control" this plugin may now offer is that unlike Book Sync with this plugin you have the ability to add a tag/custom column value when you put a book in a list. I don't know this area of the Kindle Collections plugin very well as I don't use it, but I know meme's plugin allows you to create collections based on a custom column. So in theory you could tie the two together, by configuring a value to put in a column based on the Reading List you added it to and then have that list effectively become a collection on your Kindle. You would not want to automatically clear such a list though or your collection wouldnt last very long :)

Or so the theory goes - my own usage of Kindle Collections is extremely basic. I create automated collections based on author sort and that is all I want/need.

CWatkinsNash
06-08-2011, 08:29 PM
The one possible area of "collection control" this plugin may now offer is that unlike Book Sync with this plugin you have the ability to add a tag/custom column value when you put a book in a list.

This is exactly what I do, and it works very well for me. In fact, that was my inspiration for initially suggesting that the two work together. I've been using the Collections plugin practically from day one, so when I discovered that the Reading Lists could assign tags, it was heavenly. Now that Sync is integrated into Lists, between that and Collections is a lot of power and a world of possible options. :thumbsup:

markdek
06-09-2011, 03:16 PM
I'm confused; if I'm already using the "kindle collections" plugin, and if I setup this "reading list" plugin, and select the "kindle collections" column that I set up for collections, won't this plugin wipe it out?........I certainly don't want to mess up my current setup. Do I create a new/additional custom column, w/ some other title, for this "reading list" plugin?

CWatkinsNash
06-09-2011, 03:23 PM
I'm confused; if I'm already using the "kindle collections" plugin, and if I setup this "reading list" plugin, and select the "kindle collections" column that I set up for collections, won't this plugin wipe it out?........I certainly don't want to mess up my current setup. Do I create a new/additions custom column, w/ some other title, for this "reading list" plugin?

No, this plugin actually triggers the Collections plugin (or, it will, when Meme gets changes done to make it work properly - there's a timing issue at the moment.)

Basically, once it's all working together, you would use the Reading Lists to create a sync list, then you can specify whether or not it will run the collections plugin after syncing. It saves a step.

markdek
06-09-2011, 03:36 PM
Yeah, I've currently got a "Kindle Collections" column, w/ a collection called "To Read List"........this plugin detects the column, and detects the "to read list", BUT it currently does nothing when I run it. I have 24 "To Read List" books on my Kindle, but this plugin, even after setting it up, and sync'd, says I have Zero (0) books in the To Read List collections............does this make sense? Is this what's not working right now, as you indicated?

CWatkinsNash
06-09-2011, 03:40 PM
Yeah, I've currently got a "Kindle Collections" column, w/ a collection called "To Read List"........this plugin detects the column, and detects the "to read list", BUT it currently does nothing when I run it. I have 24 "To Read List" books on my Kindle, but this plugin, even after setting it up, and sync'd, says I have Zero (0) books in the To Read List collections............does this make sense? Is this what's not working right now, as you indicated?

Yes, that is what's not working yet. There needs to be time for the sync to complete and the updated contents of the Kindle to be polled before Collections can run and place the new items. Meme has been working on it, and I have no doubt he will succeed. For now, just change the setting for that List to "no" for collections.

gweminence
06-09-2011, 03:46 PM
I think a good feature would be to add a checkbox to allow the list to stay intact AFTER syncing, but not sync again unless changes have been made. This way, if I want to look at the list in calibre, even after having sync'd it, it won't keep syncing, and triggering the collections plugin.

Just a thought!

markdek
06-09-2011, 03:50 PM
Yes, that is what's not working yet. There needs to be time for the sync to complete and the updated contents of the Kindle to be polled before Collections can run and place the new items. Meme has been working on it, and I have no doubt he will succeed. For now, just change the setting for that List to "no" for collections.

Even if I uncheck the Device and/or set "Collections" = No; this plugin should still work for my main library, should it not? BUT, it's not.

My "Column to update:" is the Kindle Collections column
My "Value in Column to add/remove is the To Read List

So, this plugin should still list the 24 books that have this value, but it doesn't.....confused:smack:

My Default List Books is empty (no books)

markdek
06-09-2011, 04:02 PM
I think a good feature would be to add a checkbox to allow the list to stay intact AFTER syncing, but not sync again unless changes have been made. This way, if I want to look at the list in calibre, even after having sync'd it, it won't keep syncing, and triggering the collections plugin.

Just a thought!

Per chance is this why I see no "To Read List" book list in calibre in this plugin? It doesn't show the To Read List book list after the sync?..........if so, this doesn't flow for me. The whole point of the plugin, it seems to me, would be to always to be able to view OR edit the To Read List, and send it to the Kindle/device when ever I want. But I would always want to see this list in the Calibre library.

CWatkinsNash
06-09-2011, 04:06 PM
Even if I uncheck the Device and/or set "Collections" = No; this plugin should still work for my main library, should it not? BUT, it's not.

My "Column to update:" is the Kindle Collections column
My "Value in Column to add/remove is the To Read List

So, this plugin should still list the 24 books that have this value, but it doesn't.....confused:smack:

My Default List Books is empty (no books)

Hmm... I'm trying to get a handle on what's happening here. You've added the books to the list but they aren't showing? Or were the books already tagged prior to using Lists?

To clarify something that may be getting missed here, the plugin tracks the books it places in the list - it's not actually tracking the tags except for the purpose of removing them if you've got it set to clear the list after syncing. It won't automatically pick up the books that have that tag if you didn't actually add them to the list via the plugin.

But if you are using the plugin to add them to the list and they still aren't showing, that's something else entirely. Let me know which it is, and I can try to help you get things where you want them.

markdek
06-09-2011, 04:10 PM
Yup: ......the books [were] already tagged prior to using [and installing] Lists
FYI: I selected Collections [a pre-existing one], and not Tags

Yup, so, that would explain it...........I assume.

My potential problem w/ this is that if I use my Kindle to add a book to the To Read List (Collection), list, then, as you say, this plugin will not detect this change. Is that true?


If true, this plugin is pushing/pulling list values, not syncing values [w/ the database].

.

CWatkinsNash
06-09-2011, 04:11 PM
I think a good feature would be to add a checkbox to allow the list to stay intact AFTER syncing, but not sync again unless changes have been made. This way, if I want to look at the list in calibre, even after having sync'd it, it won't keep syncing, and triggering the collections plugin.

Just a thought!

If I'm understanding correctly, it seems the easiest way to accomplish this now would just be to leave the option "sync on connection" turned off, uncheck the "clear list after syncing" option, and sync manually when you need to using "sync now" on the plugin menu.

Right now there's no duplicate-checking to poll for "new items", so it syncs the whole list. If you don't keep a lot of books on your Kindle, that's not such a problem, but if you do (like me) it can slow things down considerably.

I keep separate lists, not only because of this, but because I use them for different things, as somewhat described in this post (http://www.mobileread.com/forums/showpost.php?p=1595479&postcount=55). Nyna does something similar, as described in the post following that one.

CWatkinsNash
06-09-2011, 04:28 PM
Yup: ......the books [were] already tagged prior to using Lists

Yup, so, that would explain it...........I assume.

My potential problem w/ this is that if I use my Kindle to add a book to the To Read List, list, then, as you say, this plugin will not detect this change. Is that true?

Yes, that's correct. Part of the issue, and the reason some plugins exist, is that the Kindle (most ereaders, actually) was never designed to get externally manipulated to any great degree. It was designed to mostly sync within its own ecosystem. Honestly, the fact that calibre and the plugins allow us to use our Kindles the way we do is nothing short of a miracle.

Because of this, anything changing on one or the other requires some sort of polling process to detect changes and compare them with the Library. Collections can do this with the collections.json file, which is how it can be used to manually edit collections on the Kindle, and also import collections from the Kindle to calibre. But there is a limit to how much of this can be done while still maintaining any degree of efficiency.

Now that I've bored you with that, I would recommend the old-fashioned manual method for getting your lists in sync with your tags - filter your books on the tags and add them to the appropriate list. Repeat as necessary.

This probably seems like a lot of work, and it can be, but my experience has been that once you get things in place, it soon starts to increase your efficiency. You might have to get out of the habit of manipulating your collections using the Kindle. I know, it's a trade off. Which is why only you can decide the point at which it is no longer efficient to use a given plugin for what you need to do. Since you've just recently made the move to manage the entire set with calibre, there will be some trial and error as you find what works best for you.

And I, and several others, are always here to help. Since some of the recent plugin changes are basically my fault, I'm happy to provide whatever support I can to any and all that run into issues. Feel free to PM me if you want to get into a detailed look at your workflow or work out the kinks in the process. I don't mind at all, and as an organizing maniac, I enjoy putting my obsession to good use. :)

markdek
06-09-2011, 04:53 PM
Yeah CWatkinsNash, I'm more interested in understanding, and not in critiquing....hope I didn't come across like that. I agree, it must be difficult to design/write these plugins after-the-fact, and using reverse engineering. So I would expect limitations.

RE: "the tagging".......sorry, that was a typo. I'm not using tags whatsoever...in any way. I'm only working w/ collections. I meant I had already created the To Read List values in the Kindle Collections column. Since the plugin detected both the column and the To Read List value, I just assumed it could read it into the Default list.

As to the other comments on manual data entry........what I loved about the Reading List plugin is the ability to re-order this list. This cannot be done on the Kindle. Re-ordering the Reading list is it's coolest feature. Otherwise, manual working w/ the tags and/or the collections is relatively easy w/ a small-ish database. I currently only am working with 300 books.

Lastly, I don't mind PM'ing you, etc., but this back and forth might be instructional to some that are as ignorant as me....lol...thxs.

CWatkinsNash
06-09-2011, 05:14 PM
Yeah CWatkinsNash, I'm more interested in understanding, and not in critiquing....hope I didn't come across like that. I agree, it must be difficult to design/write these plugins after-the-fact, and using reverse engineering. So I would expect limitations.

RE: "the tagging".......sorry, that was a typo. I'm not using tags whatsoever...in any way. I'm only working w/ collections. I meant I had already created the To Read List values in the Kindle Collections column. Since the plugin detected both the column and the To Read List value, I just assumed it could read it into the Default list.

Oh, I wasn't so much responding to any perceived criticism as I was simply explaining why some things make more sense than others, and of course, taking the opportunity to praise the software developers here. :)

Actually, I'm using "tags" to mean "an assigned text value used for the basis of performing an operation". LOL So in other words, we were both using "tags" to mean something other (or more than) just tags. To me, they are all tags, just in different places for different things. In this case, by "tags" I was referring to the text values that are the names of your collections - "to read list" and so on that are in your Kindle Collections column. I think that means we're on the same page, so I guess in my previous response, replace "tags" with "name of collection and/or list".

You should have seen me the first time I used (an older version of) the Reading Lists plugin. I didn't really understand the (now extinct) tag limitation at that time, and I ended up with books tagged one way, but on a different list. It was totally my own doing, and by the time I realized what was happening, Kiwidude had updated the plugin so that it did what I thought it was already doing. :D

Edited after seeing your edit: Ah, so you're using the Lists for somewhat different reasons than I am. That could have something to do with the fact that I'm an ebook hoarder. I don't even remember when I only had 300 books. As a result, my library needs strong-arm tactics. :D

I do hope others find this helpful. Sometimes I just feel like I'm far too long-winded and I'm taking up too much space with my replies. :D This post is no exception. I talk too much in real life too sometimes.

kiwidude
06-09-2011, 05:35 PM
I do so enjoy it when enthusiastic (and knowlegable) users like CWatkinsNash dive in with helping out the plugin support... :thumbsup:

@markdek and others - all good questions. And given that this combining and integration of so many plugins is only a day or two old it would be fair to say that no-one has figured out all the uses and possibilities yet.

There could well be further tweaks to this which make it work a little better. I've already commented once on this thread about an optimisation to ensure that people who decide to retain their sync list only get items that are not already on the device synced to it. I'm still pondering on that one, as I said previously there are complications. Here are some of the variants I could do for instance...

- only sync items in your list that are not on the device. Probably suits most people. I need to ask Kovid/chaley how to identify whether a book has its 'ondevice' value set for a given book id.

- store in each list more information for each book in the list, rather than just its id. Such as an indication whether it has been synced to the device as yet. Then when you do a sync, it only sends books that according to the list it has not sent previously. So if you wanted to "force" a book to be sent again (e.g. you updated its metadata or got a better version), you could just remove/add it to the list again.

Implementing either of these options would ensure that the Kindle Collections job would not be unnecessarily triggered when you had no changes to your lists.

The last option is tempting me though it is likely the biggest amount of work. It would pave the way for future functionality related to the state of individual books on a list. For instance, a while ago someone requested the ability to define and send multiple news recipes to multiple devices. I came up with a possible way to implement that, but it would require identifying news items in your lists to be able to delete them only when a news book has been removed from all lists. That could be more easily achieved I think if I stored some further information for each book on your list. Note I am not committing to that functionality at this point as there are other complications that may need calibre additions to address, but down the line it could make sense.

So I welcome all the feedback on this thread and read with great interest what uses you all are finding for this plugin and the options it has.

CWatkinsNash
06-09-2011, 06:12 PM
I do so enjoy it when enthusiastic (and knowlegable) users like CWatkinsNash dive in with helping out the plugin support... :thumbsup:

Aw, thanks! :o

@markdek and others - all good questions. And given that this combining and integration of so many plugins is only a day or two old it would be fair to say that no-one has figured out all the uses and possibilities yet.

But it's safe to say, I spend many of my waking hours figuring out all of those possibilities with maniacal glee.

There could well be further tweaks to this which make it work a little better.

An artist is never truly done.

- only sync items in your list that are not on the device. Probably suits most people. I need to ask Kovid/chaley how to identify whether a book has its 'ondevice' value set for a given book id.

Of the two options listed, I vote for this one.

For instance, a while ago someone requested the ability to define and send multiple news recipes to multiple devices. I came up with a possible way to implement that, but it would require identifying news items in your lists to be able to delete them only when a news book has been removed from all lists.

This is interesting to me because I'm actually in the process of working out how best to manage my news items. I look forward to seeing where you go with this. My current most-likely method will involve the content server. My roommate has expressed interest in The New York Times, and once we get the Pandigital he can access the content server. As I have my Lists set up to allow use with the Tag Browser, they show up on the server as a category. I'm still working out the details, as usual. I can't do much until they actually send me the &^*$# Pandigital.

So I welcome all the feedback on this thread and read with great interest what uses you all are finding for this plugin and the options it has.

Me too - answering questions from others helps me see new ways of doing things, and I love hearing how everyone else is using them.

markdek
06-09-2011, 06:50 PM
- only sync items in your list that are not on the device. Probably suits most people. I need to ask Kovid/chaley how to identify whether a book has its 'ondevice' value set for a given book id.

- store in each list more information for each book in the list, rather than just its id. Such as an indication whether it has been synced to the device as yet. Then when you do a sync, it only sends books that according to the list it has not sent previously. So if you wanted to "force" a book to be sent again (e.g. you updated its metadata or got a better version), you could just remove/add it to the list again.


As a newbie, I'm not sure how you're handling Sorting. I.E., the first time you send the full "To Read List" to the Kindle/Device, it's in the reading order that you want. If you do subsequent partial polling/syncing, how will the To Read List on the Kindle/Device be kept in the desired reading order?.

For example;

Original List:

1 Book A
2 Book B
3 Book C

New Partial List (additional books to be added from 2nd sync):

Book D
Book E
Book F

Where will books D, E, and F end up (where in the order of 6 books?) and how, and why? You're injecting a partial list into an initial reading list.

And what if I want to change up the order;

1 Book A
2 Book B
3 Book C

But, I want to change that to:

1 Book B
2 Book C
3 Book A

If I can only send to the Kindle/Device a subset (additional) of To Read List books, how can the entire To Read List be re-sorted?

This is either food for thought, or uninformed rambling.:bulb2:

kiwidude
06-09-2011, 07:16 PM
@markdek - as you said yourself in an earlier post, the Kindle has no concept of reading order. So this plugin does not make any attempt to "retain it" when you sync to your device. All it can do is send the books in a list to your Kindle, the ability to order a list for that purpose is irrelevant.

So the list order is only "useful" for those who directly use Calibre, either to view their list when deciding what to read next on their Kindle, or who read books from Calibre directly.

markdek
06-09-2011, 08:50 PM
Thanks KiwiDude...

PeterT
06-10-2011, 09:24 AM
Any ability to have one list update another one?

What I was thinking of is the following.

I make a list called "On Kobo" that contains all books on the Kobo (it comes in handy if you need to reload on a new device).

I have a second list "Send to Kobo" that is set to add books to the Kobo when it is plugged in, and also removes the entries after the sync.

The ability to then automatically add items that were on the "Send to Kobo" list to the "On Kobo" list (or even, the ability to automatically add / remove entries from the "On Kobo" list as books are either automatically OR manually sent to the Kobo).

Peter

mellowtrouble
06-11-2011, 01:48 AM
hi ~ two questions:

1. once i have created a reading list and it syncs to my device (kindle 3), where do i find the list on my device?
2. i had the plugin set to clear the list (and 'reading list' tag) once it was sent to the kindle - what's the purpose of this? i have it unchecked now but i'm afraid i've already lost my 100-book reading list. :(

thanks for any help with this ~ this is a great plugin, once i figure out how to use it that is. ;)

kiwidude
06-11-2011, 03:03 AM
@mellowtrouble - please read the posts above. As I said in #81, devices such as the kindle do not have any ability to understand a reading order. So there is nowhere on the device you can see this, you can only view the order in calibre.

Clearing the list allows it to function the same as book sync of allowing you to build a list of books that you want to add to your device. While the plugin might be called Reading List, lists can be for other purposes including this one. In a future version I will add the ability for the sync to only send books from a list that are not on the device, in which case a list that is representing both books on your device and an order to read them makes sense rather than separate lists like some do now.

I am trying to think of ways the device can have the list on it. Renaming files or titles plugboard style is both messy and causes problems as books get moved on the list order etc. So not going down that route.

What I could perhaps do instead is produce a special book for your device like the Catalog feature of Calibre does. Every time a Reading List (one that is not cleared each time) is syced to your device, it could regenerate a special book in your library whose content contained a list of your books, and add that to your list of books sent to the device. That would give you something that you could then open on your device away from Calibre.

What do people think, is it worth the effort etc.

kiwidude
06-11-2011, 08:38 AM
Any ability to have one list update another one?
Hi Peter,

I haven't ignored your post, I'm still letting it mull over before I rush into it, as I said above it is still early days and there are some higher priority changes. Such as I mentioned above the ability to sync only the items on the list that are not already on the device. Were this functionality available then you would not need two lists, you could just have the one. The only potential downside to this is that until your device is connected then you would not know which items on your list have been sent to the device (if you care).

Even that requirement could be resolved were I to choose the second of the implementation options I mentioned above, keeping a state for each item on the list. Then on the "Edit list" dialog I could have a column which would tell you whether the book was on the device (according to the last time you plugged it in). Regardless of whether the device was connected at the time or not.

Still thinking... :)

Stampercam
06-11-2011, 09:03 AM
Even that requirement could be resolved were I to choose the second of the implementation options I mentioned above, keeping a state for each item on the list. Then on the "Edit list" dialog I could have a column which would tell you whether the book was on the device (according to the last time you plugged it in). Regardless of whether the device was connected at the time or not.

Still thinking... :)

That would solve some of my issues, but having separate lists is now taking care of that for me anyway. I pondered the idea of having one list update another, but if it clears after syncing then there isn't left to populate with anyway.... hence two lists for my use.

CWatkinsNash
06-11-2011, 12:04 PM
What I could perhaps do instead is produce a special book for your device like the Catalog feature of Calibre does. Every time a Reading List (one that is not cleared each time) is syced to your device, it could regenerate a special book in your library whose content contained a list of your books, and add that to your list of books sent to the device. That would give you something that you could then open on your device away from Calibre.

What do people think, is it worth the effort etc.

Since I was going to do something like this manually using the Catalog feature, yeah, I think it's a great idea! :) Though I would like the option to generate the book manually for any list, not just automatically after syncing a list.

While I'm creating my wish list :D I'd like the feature to be configurable, even if only by manually editing the template file (like I do now with the catalogs). No need for a million options on the front end.

nynaevelan
06-11-2011, 01:06 PM
I too would like it to be configurable, not only with which metadata fields to include but also for it to used for specific lists rather than the entire list of books on the device.

EDIT: Oh and it should have the ability to keep the books in the same order they are in on the list.

Nyn

mellowtrouble
06-11-2011, 02:22 PM
What I could perhaps do instead is produce a special book for your device like the Catalog feature of Calibre does. Every time a Reading List (one that is not cleared each time) is syced to your device, it could regenerate a special book in your library whose content contained a list of your books, and add that to your list of books sent to the device. That would give you something that you could then open on your device away from Calibre.

What do people think, is it worth the effort etc.

sounds excellent! i am doing that manually right now but having it made automatically would be much easier.. :D

kiwidude
06-11-2011, 02:38 PM
Haha, I knew I should have kept my ideas to myself. Here I was thinking of just a simple txt file listing the sequence/title/author/series. :)

There's a bunch of complications around trying to do something "pretty". I had a quick look at the existing catalog feature but from what I see I don't think I could reuse it for this. There are too many issues which would have to be addressed (custom sort orders, running inline rather than as a job etc).

There are three options that come to mind for how this list could be managed:

(1) It gets created only when you sync, and deleted afterwards. Most "efficient" but will extend the time to sync to your device. Also possibly also the most difficult to implement, since all generation must happen inline rather than as a background job.

(2) It gets created every time you make a change to your list. Most "inefficient" to do in the foreground and not guaranteed to have finished before you connect your device for a sync if I do it in the background.

(3) It gets created manually on demand. Easiest to implement, but another thing the user has to remember to do before they sync to have the most updated list so probably not realistic.

@CWatkinsNash - why do you want the ability to generate the reading list on the fly?

@Nyn - yes this reading list book would be tied to a specific list you had synced. If you synced multiple lists to your device, there would be multiple reading list books. And yes the only purpose of it is to display a sequence for the books on your device. I did not have in mind to generate an all purpose catalog replacement.

CWatkinsNash
06-11-2011, 03:15 PM
Haha, I knew I should have kept my ideas to myself. Here I was thinking of just a simple txt file listing the sequence/title/author/series. :)

LOL No one said we expected you to bend to our will. :) But when you ask, "What do people think?" you can be certain that, at the very least, Nyn and I will have something to say. And in my case, it will always be waaaay more complicated than anything you were considering. :D

There's a bunch of complications around trying to do something "pretty". I had a quick look at the existing catalog feature but from what I see I don't think I could reuse it for this. There are too many issues which would have to be addressed (custom sort orders, running inline rather than as a job etc).

Well, I didn't mean a copy of the catalog function or using it, I was thinking more along the lines of a stylesheet I could fiddle with. Since a ebook document is being created, I assumed that the formatting would have to be dictated by something. However, if your thoughts were more along the lines of building a text list then automatically converting it to the selected format, then yes, I can see where my thoughts were not even close to what you were considering.

(3) It gets created manually on demand. Easiest to implement, but another thing the user has to remember to do before they sync to have the most updated list so probably not realistic.

@CWatkinsNash - why do you want the ability to generate the reading list on the fly?

Because I have (or will have) 3 sync lists (one for each device) and 4 reading lists. With the way I'm doing things, I don't need an ebook list of the sync lists, only the reading lists, and some of them get added to every couple of days. (Yesterday, I got 35 books - all of the reading lists were changed multiple times within a couple of hours.) It makes more sense to generate the lists when I know I'm done fiddling with them. Therefore, option 3 would work best for me personally, but I may be in the minority.

Now, all of that said, it won't be any great hardship if you can't fulfill my every wish with the plugin. :) I was already prepared to do this manually (catalog + Sigil, which is how I built my custom Dresden Files series catalog).

nynaevelan
06-11-2011, 05:49 PM
I too would not mind having to do it manually, for many reasons most of which are the same as CW. I am starting to think we are clones of each other. :rofl: But whatever you can provide will be greatly appreciated.

Nyn

CWatkinsNash
06-11-2011, 06:30 PM
I too would not mind having to do it manually, for many reasons most of which are the same as CW. I am starting to think we are clones of each other. :rofl: But whatever you can provide will be greatly appreciated.

Nyn

:rofl: I noticed that too! One of use will post something, the other comes along and says "me too" and adds some details. Usually when you post after me, you add something that I wish I'd included. Sometimes you post, and I don't even bother because it's exactly what I would have said. It's kinda strange, but it's kinda cool. :)

PeterT
06-12-2011, 04:48 PM
Thanks for making this plugin. It just simplified no end my reloading my Kobo after some issues with the newest Kobo Desktop release :)

nynaevelan
06-18-2011, 11:33 AM
Kiwidude:

I know this may be against what everyone wants, but is there a way to add a setting to add to a field but not to remove the data when the list is uploaded to a folder/device?

Nyn

kiwidude
06-18-2011, 11:55 AM
Not currently, no. What are you trying to do?

If (as is my intent shortly) I make it possible for lists to sync only their differences (so you would uncheck the "clear list" button for lists that you just want to sync new additions to your device for) then for such lists the tags you add would not be removed when you sync, since the book would still be on the list.

Would that solve your issue a different way?

nynaevelan
06-18-2011, 12:26 PM
Not currently, no. What are you trying to do?

If (as is my intent shortly) I make it possible for lists to sync only their differences (so you would uncheck the "clear list" button for lists that you just want to sync new additions to your device for) then for such lists the tags you add would not be removed when you sync, since the book would still be on the list.

Would that solve your issue a different way?

Yes I believe that would accomplish what I want to do. Currrently I have 4 lists to sync books to a folder based on who I purchased them from, I would like the list to add that value to a custom column but I do not want it to remove it from the column after the book is synced to the folder.

Nyn

beckywc
06-18-2011, 03:10 PM
I have went in and customized the plug in setting up which column to update and the value, but when I add a book to the list the column is not populated with the value. Am I doing something wrong?

kiwidude
06-18-2011, 03:26 PM
@beckywc - as it is working for others it would appear so ;)

Try running Calibre in debug mode to see if there are any errors being displayed when you add to a list. Also do you have multiple lists - did you perhaps setup the column for a different list to the one you are adding to? And what cucstom column type is it and what value are you trying to put into it?

beckywc
06-18-2011, 03:33 PM
I do have more than one list. Just three Currently Reading, To Be Read, and Load to Kindle.

The custom column is text, with a fixed set of permitted values.

Edited to added: I ran in Debug mode - no errors.

kiwidude
06-18-2011, 04:19 PM
@beckywc - fixed set columns are working for me fine. Are you sure you set the column up on the same list that you are adding books to?

beckywc
06-18-2011, 04:37 PM
Here is my set up:

73000 72999

Am I doing something wrong? Thanks

kiwidude
06-18-2011, 04:56 PM
That looks fine, provided those values of "00 Currently Reading" etc are indeed valid values for that column (verified by choosing them from the intellisense dropdown).

beckywc
06-18-2011, 05:05 PM
Yes I choose them from the ntellisense dropdown.

Edited to added: It's working now. Don't know why it didn't at first but now it is.

kiwidude
06-18-2011, 05:32 PM
Changes in this release:

When syncing a list, only sync books not already on the device


This change is relatively small but important. When you sync a list to a device, only books that are not already on the device will be sent to it.

This will allow two things:

Users who want just a single list to sync to their device can now do so, without worrying about the time taken to sync the whole list every time.
Users who want a tag to indicate a book is on a list for their device can now keep that tag on the book for as long as the book is on the list. Previously users would often choose the "Clear this list after sync" option which had the side effect of removing tags for those books at the same time.

capnm
06-18-2011, 11:40 PM
I'm feeling lazy, so I'm going to ask a couple of questions I should be able to figure out myself ...

How does it know the book is already on the device? While messing around with tweaking epubs I've ended up with some (but only some) duplicates on my reader -- and I haven't taken the time to figure out why ....
Is it the uuid in the metadata.opf file? (Except that a lot of my books don't have a metadata.opf file :blink: what's up with that?)
If I tweak-epub, modify-epub, or convert, is it still the same book?
What if I copy it to another library?

So now if I clean up books with Modify Epub, and put them on a reading list, they won't be sent on sync - is that correct?
Instead can I view the list, select all, and send to device, to get the same result I had before v1.2.1?

Thanks

kiwidude
06-19-2011, 05:33 AM
I'm not able to answer your question on the intimate details of matching on the device, i haven't looked at that code.

I can tell you that all this plugin does is a search for ondevice:true at the time it does a sync, so the same as the tick marks you see in the gui.

As for forcing a book back onto your device that you have modified, yes the usual send to device will work. I mentioned in an earlier post that such a case would become a problem for this plugin by only syncing the differences to a list. The only potential solution from a plugin perspective I could think of was an option for a list to always sync the entire list. So you could create an "Edited" list for instance with this option on that always gets synced. If people think that would be useful I will add it.

capnm
06-19-2011, 04:05 PM
@kiwidude

It's great as is.
I can certainly handle three extra mouse clicks to make it serve my purpose, which is slightly off-track from it's designed purpose:D

Thanks!

chaley
06-19-2011, 04:39 PM
How does it know the book is already on the device? While messing around with tweaking epubs I've ended up with some (but only some) duplicates on my reader -- and I haven't taken the time to figure out why ....
Is it the uuid in the metadata.opf file? (Except that a lot of my books don't have a metadata.opf file :blink: what's up with that?)
If I tweak-epub, modify-epub, or convert, is it still the same book?
What if I copy it to another library?There is a long discussion of how book matching works in the thread http://www.mobileread.com/forums/showthread.php?t=134963

CWatkinsNash
06-19-2011, 06:52 PM
Kiwidude, this is really just a question, not necessarily a suggestion... :D

Is it possible maybe down the road that there would be some mechanism for doing the opposite - marking books for removal from the device on the next sync?

Reason: When I finish a book, everything from that point is usually done on the computer - update Goodreads, mark as "read" in calibre, then browse my TBR lists in calibre looking for the next book. I (for some reason) don't like deleting books from the Kindle, and by the time I hook it up again, I often forget to do so via calibre.

It's entirely possible that I'm the only user who would use something like this, but I'm sure if I'm wrong, my twin Nyn will be a long momentarily to correct that notion. :)

Nyssa
06-19-2011, 07:13 PM
Kiwidude, this is really just a question, not necessarily a suggestion... :D

Is it possible maybe down the road that there would be some mechanism for doing the opposite - marking books for removal from the device on the next sync?

Reason: When I finish a book, everything from that point is usually done on the computer - update Goodreads, mark as "read" in calibre, then browse my TBR lists in calibre looking for the next book. I (for some reason) don't like deleting books from the Kindle, and by the time I hook it up again, I often forget to do so via calibre.

It's entirely possible that I'm the only user who would use something like this, but I'm sure if I'm wrong, my twin Nyn will be a long momentarily to correct that notion. :)

I don't know about Nyn,but it is certainly an option I would use if it were available. I don't have a problem forgetting to delete it, but I do sometimes "lose" it either on my Kindle or in my Library. I have a "Currently Reading" collection, and will sometimes remove the book from the collection but not the device itself.

nynaevelan
06-19-2011, 07:25 PM
Kiwidude, this is really just a question, not necessarily a suggestion... :D

Is it possible maybe down the road that there would be some mechanism for doing the opposite - marking books for removal from the device on the next sync?

Reason: When I finish a book, everything from that point is usually done on the computer - update Goodreads, mark as "read" in calibre, then browse my TBR lists in calibre looking for the next book. I (for some reason) don't like deleting books from the Kindle, and by the time I hook it up again, I often forget to do so via calibre.

It's entirely possible that I'm the only user who would use something like this, but I'm sure if I'm wrong, my twin Nyn will be a long momentarily to correct that notion. :)

lol, while I would not mind an easier way to accomplish this, I am a little leery of using it unless I could figure out a way to fit it into my daily practices. See I use the fetch annotations feature to download my mbp files so I can save a copy of my bookmarks and notes in my books and to keep a record of the dates I finish a book, just in case. But since I have saved searches to use to make sure I have downloaded my annotation file and I have a saved search to grab those books from the kindle which I want removed, this process might be made simpler with a plugin because I am known to forget to change the custom column in Calibre that tells me to change the status of the book to not be on the kindle. But I am not sure how I would integrate that into my workflow, I would not be presumptious to ask you to incorporate the fetch annotation feature into the plugin because I know that only works with kindles. But if you add the feature, I will find a way to make it work for me... ;)

beckywc
06-19-2011, 08:50 PM
nyn,

I would really love a detailed list of your process. I've read your posts, I find them very informative and have often wondered about your calibre setup and process.

Anyway if you feel inclined to share, enquiring minds want to know.:chinscratch:

nynaevelan
06-19-2011, 10:31 PM
nyn,

I would really love a detailed list of your process. I've read your posts, I find them very informative and have often wondered about your calibre setup and process.

Anyway if you feel inclined to share, enquiring minds want to know.:chinscratch:

Which part?? I can give you a breakdown of the steps I take from adding a book to Calibre, to adding it to kindle? Do you want to know about the backup process, the goodreads process, the reading list process, the editing process? Tomorrow I will start writing it all down, hopefully I won't bore you all. :rofl:

beckywc
06-19-2011, 11:59 PM
Wow, it sounds so intense.

Stampercam
06-20-2011, 08:08 AM
Kiwidude, this is really just a question, not necessarily a suggestion... :D

Is it possible maybe down the road that there would be some mechanism for doing the opposite - marking books for removal from the device on the next sync?

Reason: When I finish a book, everything from that point is usually done on the computer - update Goodreads, mark as "read" in calibre, then browse my TBR lists in calibre looking for the next book. I (for some reason) don't like deleting books from the Kindle, and by the time I hook it up again, I often forget to do so via calibre.

It's entirely possible that I'm the only user who would use something like this, but I'm sure if I'm wrong, my twin Nyn will be a long momentarily to correct that notion. :)

I gotta say I like this idea too.... I get lazy about removing books from my device. Particularly now that the adding is automated. Doing everything through calibre rather than my device is a great idea.

nynaevelan
06-20-2011, 09:32 AM
nyn,

I would really love a detailed list of your process. I've read your posts, I find them very informative and have often wondered about your calibre setup and process.

Anyway if you feel inclined to share, enquiring minds want to know.:chinscratch:

Here are my processes, I do not think I forgot any.

Startup of Calibre

1. check plugin updater script to see if it is necessary to download updates to plugins
2. check to see if Calibre needs to be updated


Add Books

1. download book to k4pc, I like to keep a local copy of all books I've purchased from

Amazon. I also download epub books to Adobe Digital Editions for other ebook resellers.
2. add book to calibre
3. edit and download metadata
4. update page and word count with count pages plugin
5. run manage series plugin if necessary to adjust series info
6. run saved searches to make sure I have not missed any metadata fields

Reading Lists

1. add book to reading list if it is a book I want to read soon
2. if book is on the reading list, also add it to the kindle sync list
3. if book is on the reading list, add it to the galaxy tab list, this list is necessary

because I use my galaxy as my backup reading device at night.
4. add book to the folder list where it was purchased from for backup purposes
5. if necessary rearrange reading list to the order I currently want to read books

Backup

1. check the reading plugin to see which folders need to be connected and backed up
2. connect folders in order for books to be backed up

Goodreads

1. add book to three lists, one for to-read, one for format (ebook, audiobook or

paper/hardback), usually at this point it is only ebook.
2. download shelf info from goodreads into custom column

Kindle Collections

1. run saved searches to upload to kindle any books marked on custom column as belonging

on kindle. Also remove any books which are marked as removal from kindle.
2. Create collections based on tags and secondary custom column for tags. The main tags

column has a minimum of 1 book whereas the secondary tag has a minimum of 5 books. My

main tag field is only a single value based on my own personal tag list, which I have 28

of. The secondary tag column could be multivalued and it has any secondary tags which I

think it belongs to and whether or not it is on the reading list tag.
3. If necessary to change covers, run copy cover to device plugin to put new/changed

covers on kindle to be used as screensavers
4. Once I am ready to disconnect and read with the kindle, I will restart it to make sure

it has the most recent version of collections. There are many times when I will run the

kindle collection plugin more than once before I will actually restart the kindle.
5. I only load books to galaxy tab about once a week or when I want to read and I know

the book I am reading is not on the device

Reading process

1. read book on kindle, mark with bookmarks or notes if necessary
2. when book is finished, fetch annotation into calibre to upload book with bookmarks,

notes and date book was finished being read
3. update custom column with date book read
4. re-convert book to mobi, include the metadata onto first page in order to save the

annotation/date read info with book.
5. make a backup copy of book in epub format.
6. update the goodreads status with date read and ratings (done manually on goodreads

site)
7. mark the book to be removed from kindle and whether or not it goes on the re-read list
8. mark the book to be backed up to folder
9. move on to the next book on the reading list


Weekly Database Maintainance

1. run check library to fix any necessary discrepancies
1. run quality check plugin to fix problem books
3. run find duplicates plugin to correct any duplicate books


NOTE: While I am performing the above steps I switch viewing filter from the view

manager plugin on many occasions to get the right columns to show for what I am working

on. I also have several saved searches to help with most of not all of the above

processes.

INSTALLED PLUGINS:

Barnes & Noble
Copy Cover to Device
Count Pages
Fantastic Fiction
Find Duplicates
Generate Cover
Goodreads
Goodreads Sync
Kindle Collections
Manage Series
Quality Check
Quick Preferences
Reading List
Search the Internet
User Category
View Manager
Walk Search History

kiwidude
06-20-2011, 10:26 AM
@Nyn - you are like a kiwidude plugin poster child... ;)

With regards to lists with removing items, see the attached screenshot. It is introducing the concept of a list type. So you can make:

a list that syncs only items not already on the device (default), or
a list that always syncs all of its contents (for people who modify their books and want them forced back onto the device each time), or
a list of books that you want removed from your device if they are present


For the first type of list, you will likely want "Clear this list after a sync" to be unchecked. For the second type you could go either way depending on what you want to do. For the third type you would probably want "Clear" to be checked.

Hopefully that will keep everyone happy. Just testing it at the moment and then will release it.

beckywc
06-20-2011, 10:46 AM
@Kiwidude that is so cool.

@nyn, I can now see I don't use Calibre nearly as efficently as I should. I'm really gonna have to sit down and determine what I want to accomplish with Calibre regarding my library management of my books. I'm not even close to be a power user as yourself.

nynaevelan
06-20-2011, 10:53 AM
@Nyn - you are like a kiwidude plugin poster child... ;)
.

Yes I am, I admit it I am a plugin junkie. :rofl:

nynaevelan
06-20-2011, 10:56 AM
@nyn, I can now see I don't use Calibre nearly as efficiently as I should. I'm really gonna have to sit down and determine what I want to accomplish with Calibre regarding my library management of my books. I'm not even close to be a power user as yourself.

I don't know about being a power user but I am definitely a organizational freak, I like everything ordered in a certain way and the saved searches and plugins help me to accomplish that with as little difficulty as possible.

The process is getting easier, of course Kiwidude keeps creating/changing plugins that make me think my way through changing the process, but I love it.

Nyssa
06-20-2011, 11:15 AM
@Nyn - you are like a kiwidude plugin poster child... ;)

With regards to lists with removing items, see the attached screenshot. It is introducing the concept of a list type. So you can make:

a list that syncs only items not already on the device (default), or
a list that always syncs all of its contents (for people who modify their books and want them forced back onto the device each time), or
a list of books that you want removed from your device if they are present


For the first type of list, you will likely want "Clear this list after a sync" to be unchecked. For the second type you could go either way depending on what you want to do. For the third type you would probably want "Clear" to be checked.

Hopefully that will keep everyone happy. Just testing it at the moment and then will release it.

Squeeeee!!!!!! :yahoo: :thanks:

CWatkinsNash
06-20-2011, 01:26 PM
@Nyn - you are like a kiwidude plugin poster child... ;)

With regards to lists with removing items, see the attached screenshot. It is introducing the concept of a list type. So you can make:

a list that syncs only items not already on the device (default), or
a list that always syncs all of its contents (for people who modify their books and want them forced back onto the device each time), or
a list of books that you want removed from your device if they are present


For the first type of list, you will likely want "Clear this list after a sync" to be unchecked. For the second type you could go either way depending on what you want to do. For the third type you would probably want "Clear" to be checked.

Hopefully that will keep everyone happy. Just testing it at the moment and then will release it.
:yahoo:

:thanks: :iloveyou:

:happydance::happybounce::rohard::party4:

kiwidude
06-20-2011, 02:53 PM
Changes in this release:

Add a "list type" for each list, which allows syncing new only, all items, or removing items from device


I've described this a few posts above, to the rapturous icon applause of the girls so I won't repeat it here ;)

nynaevelan
06-20-2011, 03:20 PM
Changes in this release:

Add a "list type" for each list, which allows syncing new only, all items, or removing items from device


I've described this a few posts above, to the rapturous icon applause of the girls so I won't repeat it here ;)

:rofl::rofl: I think you have acquired some groupies....

ligelowbee
06-20-2011, 03:25 PM
Hello,
Just tried your new plugin options. I've been hoping for the "sync all" option (I like to muck about with my epubs). Unfortunately when I try to sync, manual or auto, I now get the following:

calibre, version 0.8.6
ERROR: Unhandled exception: <b>TypeError</b>:unsupported operand type(s) for -: 'list' and 'set'

Traceback (most recent call last):
File "calibre_plugins.reading_list.action", line 523, in sync_now
File "calibre_plugins.reading_list.action", line 565, in _sync_list
TypeError: unsupported operand type(s) for -: 'list' and 'set'

Cheers,
Lee

CWatkinsNash
06-20-2011, 03:27 PM
Changes in this release:

Add a "list type" for each list, which allows syncing new only, all items, or removing items from device


I've described this a few posts above, to the rapturous icon applause of the girls so I won't repeat it here ;)

How about something more restrained this time...

The Brat is very pleased. Excellent work.

PeterT
06-20-2011, 03:38 PM
I just tried and had no problems. I added one book on to my "Sync Later" list and synced; all worked as expected.

kiwidude
06-20-2011, 03:45 PM
@Lee - Thanks for reporting that, I spent so long testing the "Remove" functionality I forgot to try the "Sync all". I will push a new version up shortly.

kiwidude
06-20-2011, 03:49 PM
Changes in this release:

Bug fix for "Sync all items" functionality

Loosheesh
06-20-2011, 07:29 PM
:yahoo:

:thanks: :iloveyou:

:happydance::happybounce::rohard::party4:

Hmm, I may be wrong but you seem a little ecstatic ... :laugh4:


kiwidude, thanks for all your hard work with this and all the other plug-ins :)

CWatkinsNash
06-20-2011, 07:45 PM
Hmm, I may be wrong but you seem a little ecstatic ... :laugh4:

A little. :devilish: Kiwidude knows how to make me happy. :D

CWatkinsNash
06-20-2011, 09:48 PM
I just noticed something. It took me until now because, as I mentioned before, I cleaned out the Kindle and I am just now getting around to reloading it in batches. The plan was to first hook up the Kindle so I can change the Collections configuration to match the changes I've made to my Library. Doing that, I learned that if you have a list set to sync on connect and Collections is set to Yes, it will run Collections even if that list is empty.

It's not a problem, but I just thought I'd mention it. I also apologize in advance if it was already mentioned and I missed it.

kiwidude
06-20-2011, 10:11 PM
I've seen someone else mention this - I haven't tried it for myself but I looked at the code (and I have again now) and it doesn't seem possible. Or at least it isn't "supposed" to happen since clearly for you it is. I'll try it tomorrow.

CWatkinsNash
06-20-2011, 10:42 PM
I've seen someone else mention this - I haven't tried it for myself but I looked at the code (and I have again now) and it doesn't seem possible. Or at least it isn't "supposed" to happen since clearly for you it is. I'll try it tomorrow.

Hmmm... well, it did it the one time, and now that I'm trying to debug it, it won't do it again. I've tried a few sequences of events, but I can't recreate it.

What's the command line switch to start calibre in debug mode? I only know how to restart in debug mode from the preferences. I'll change my shortcut command and just start it in debug mode until I catch it. It's bound to do it again sooner or later, right? :blink:

kiwidude
06-20-2011, 10:48 PM
calibre-debug -g

I am not surprised that you cannot recreate it, just that you saw it happen in the first place ;).

CWatkinsNash
06-20-2011, 10:51 PM
calibre-debug -g

I am not surprised that you cannot recreate it, just that you saw it happen in the first place ;).

LOL Believe me, if something strange is gonna happen, it will happen to me. I'm used to getting the weird problems. Thanks for the switches. :) If I come up with anything I'll let you know.

:devilish:

Nyssa
06-21-2011, 12:13 AM
I'd like to have a list for books to be marked as "read" (through a Y/N custom column) and then removed from the Kindle. Does it matter how I set the "Sync this list to the device as soon as it is connected" option?

kiwidude
06-21-2011, 04:27 AM
@Nyssa - not really, what is more important to you in this case is the "Clear list" option which you will need unchecked or else your Y/N column will get reset after the book is removed from the Kindle.

The "Sync as soon as list is connected option" is just to control when the sync takes place - manually on demand or automatically once.

Stampercam
06-21-2011, 09:05 AM
:thanks::thanks::thanks: Just thought I'd add my thanks to the list.... fantastic! Another groupie here :iloveyou:

Nyssa
06-21-2011, 10:40 AM
@Nyssa - not really, what is more important to you in this case is the "Clear list" option which you will need unchecked or else your Y/N column will get reset after the book is removed from the Kindle.

The "Sync as soon as list is connected option" is just to control when the sync takes place - manually on demand or automatically once.

Ahh, I didn't think of that! I didn't realize clearing the list would reset. You just saved me a lot of confusion and head ache! :thanks:
(I tried to give you Karma, but I'm told I have to "Spread the Karma around). So here is a (((HUG))) instead. :D

kiwidude
06-21-2011, 10:46 AM
Haha, thanks, you are welcome. And yes, any time a book is removed from a list, if there is a tag/column specified for when it is added, then the tag comes off when the book leaves the list. That removal from the list can happen either by using the "Remove from list" menu option, or by having the "Clear list" option checked and doing a sync.

So if you are using this plugin as a way to somehow tag your books when they get added to a list, then you need to keep them on that list if you want to keep your tag/column value. The only way around this would be for you to temporarily disable the tag column for that list, then remove the items. Prone to error though as you have to remember to configure the tag column back again afterwards.

Nyssa
06-21-2011, 11:11 AM
Makes sense. I do have it set to tag and then clear "New" items, so of course it would flip a Y/N box. Thanks again. :)

markdek
06-22-2011, 03:18 PM
I'd like to have a list for books to be marked as "read" (through a Y/N custom column) and then removed from the Kindle. Does it matter how I set the "Sync this list to the device as soon as it is connected" option?

Ditto, or something similar. When you've got 100s of books, knowing what you have read, and not read, is paramount...especially if you're over 50 :thanks:

Stampercam
06-23-2011, 01:25 AM
I'm finally sitting down to have a good "play" with this plugin since the update, and I have a question.

I'm not sure if what I want it to do is even possible, but here goes...

We now have the three syncing options - new items, all items and remove items. Is there some way to sync new items while removing any items that are no longer in the list?

Cam


ETA: Never mind... I already had a list that was Y/N for having been read. I've set that to sync - remove items and now I have it doing exactly what I want.

Thanks again Kiwidude for this update.

Japes
06-24-2011, 09:02 AM
I have NOT updated since the initial release, but, I wanted to know, Kiwidude, in the "Edit List" screen, are you able to sort by Title, while still retaining the numerical ranking/order on the left? In the release that I have installed, you are unable to do so, so, sometimes, finding a book, in a list of 200+, is difficult, as I have to scroll and sometimes I miss it and have to do it all over again.

kiwidude
06-24-2011, 09:16 AM
No you cannot re-sort by title in that dialog. The changing of list order with the buttons would not work if I allowed that.

If you want to view by title, then just choose the View List option in the menu. This will put the books in your library view. Initially they will be sorted by the same order as the edit dialog (i.e. your list sequence) but you can click on the title column to see them in a different order.

Japes
06-24-2011, 12:39 PM
I get that, but, if I'm looking for a book in order to move it up (or down) in the reading list order, then this doesn't help me.

If I have a list of 500 books, and, I want to move book "XYZ" up to number 1 (for whatever reason), there is no easy way of going about finding where that book ranks on the list, as of right now. Finding whether it's in the list at all is easy, but, finding WHERE it ranks is not, without going one by one by one by one, and, depending on the size of the list, it can be a pain int he butt. Let me know if you understand what I mean with this, and if it's something that can be added.

Maybe a custom column integer with the ranking would work?

Stampercam
06-25-2011, 04:13 AM
So, with the itunes changes I now need to change how I do things. Can I use my sync lists with the content server somehow? I've not really used the content server much, was waiting until I had my db exactly right (probably never happen at this rate:rofl:) so some advice would be great.

kiwidude
06-25-2011, 06:26 AM
@Japes - I understand what you mean but I am in no hurry to implement it sorry. It would significantly complicate the whole move up/down logic. All I can suggest is that if you are reordering a list is that you do it as you go - your most recent additions will of course be at the bottom.

@Stampercam - neither I nor this plugin know anything about content server. As for the iTunes changes, given the replies with very good points in them on that thread in the devices forum I would not be surprised if Kovid rethinks that. Or perhaps even makes it an option in Calibre. The majority of iTunes users don't give a jot about cloud storage, but do care about not having multiple copies of their stuff and having iTunes manage everything which sucks. He hasn't responded on that thread as yet so will be interesting to see when he does so if his mind can be changed at all.

Japes
06-25-2011, 08:49 AM
Ok, thought I would give it a shot, as it's a major drawback of this particular plugin. Your plugins, I've found, are usually all-encompassing, but, this one falls a little short because of this.

Would it complicate things also, to make the custom column feature which is already there, a numerical value corresponding to the ranking on the list? That would fix the problem.

kiwidude
06-25-2011, 09:10 AM
I would hardly call it a "major drawback" given no-one else has shown the slightest interest out of the thousand+ users of this plugin. ;) You have workarounds - you could always remove/add the book to the list again and find it that way. To my mind arranging the order of a list is a case of looking your way down it and rearranging as you go to put your next few you want to read at the top. Perhaps one day I might feel motivated to allow alternate sorting, but right now it is not on my TODO list.

As for putting the order in a custom column, indeed it would complicate things. Particularly since the user could completely screw things up by typing into that column.

Japes
06-25-2011, 09:48 AM
The plugin has been released officially for all of what, two weeks? So, the fact that nobody (and I am certainly somebody) has requested it, until now, really doesn't mean much, does it?

Secondly, yes, there are work arounds, but, they are hardly optimal, and, I think you would agree with that, given the quality of your work (and you have done custom work for me, so I know the high quality of your work).

Thirdly, what "to your mind" arranging the order of a list means, doesn't always translate to how OTHER people work. It simply means we have different work flows. And, while most of the time, looking up and down a list will suffice, sometimes it won't (like in the case of having a list with a few hundred, or even a couple thousdand titles in it). Do you think that trying to find a particular title in a list of say, 2,000 books (for purposes of moving it up or down the list), by "looking up and down said list" is optimal? I think you would agree it is not.

The way I ran into the problem was that someone recommended a book to me very highly and, it was already on my reading list. I wanted to move it to the top but it took me ten minutes just to find where it was ranked, to do so. Again, not optimal.

I realize fully this is still a very young plugin, but, make no mistake, whether or not anyone has, as yet, run into this issue, more and more people will, as their lists begin to grow, and, it is a major drawback to this plugin.

itimpi
06-30-2011, 11:59 AM
A small suggestions for improvement!

On the "View List" menu item including in brackets the count of bo0oks on all lists? The difference between this count and the one for the default list would then make it obvious that there are items on non-default lists?

The rational behind this is that I do most of my reading on my Sony, and this is set as the default list. However some items I think would be better on the iPad so it would make it more obvious that there is something waiting to be synced to the iPad.

Related to this, when the "Sync Now" item is active because a specific device is connected, then the count of how many items would be synced if that option is selected could be added to the menu item?

Do you think either of the above ideas have merit?

Stampercam
07-03-2011, 12:01 AM
I maintain our calibre database, and use the reading list plugin to control lists for several users. The problem comes in with how we get our books onto the various idevices via itunes.

I send my titles to itunes and put on my ipad that way, but my hubby puts them onto itunes in his profile on our computer. This is where the problem is. Each user profile on the computer needs to have the plugins and updates done independently and when he sends books to his itunes it doesn't update the settings as per my reading list settings.

What I want to do is have all the settings EXACTLY the same across all the users on the computer so that when I update calibre (including his sync list) on my profile all the changes are there on his, and he can just sync his list to itunes. Can I set up the lists on another user profile and have them be the same?

itimpi
07-03-2011, 03:00 AM
The problem will be that by default the Calibre User configuration information is stored at the user level. To achieve what you want, you need all users to use the same configuration information. This can be done by setting the CALIBRE_CONFIG_DIRECTORY environment to point to where Calibre should find its configuration information.

One way I can see to achieve this is to use a script/batch file (you do not mention what OS you are running) to launch Calibre. If you look in the resoruces sub-folder of the Calibre installation location there is a batch file called calibre-portable.bat that shows how the location of all the files used by calibre can be excplicitly controlled. The batch file is extensively commented so it should be reasonably clear how it works, but feel free to ask questions on anything that is not clear. The batch file supplied is for Windows, but the principles would apply regardless of the OS.

If you are running Windows and the configuration information is all you want to control then instead of using the batch file you could instead simply set the environment variable at the system level by:
Go to Control Panel->System
Select Advanced System Settings
Select Environment Variables
In the System variables at the bottom select New
Set the name to CALIBRE_CONFIG_DIRECTORY and the value to the name of a folder to be used to store the Calibre configuration information
Make sure the location is a folder that has read/write permissions for all users. You will have to reset up the settings the next time you use Calibre and re-install your plugins as it will act as if it is a new install, but this time they should now apply to all users.

In theory it would be possible to initially populate the chosen configuration folder with the settings for an existing user by copying that users existing configuration (its location is available via Preferences->Advanced->Miscellaneous) but I think that plugins need re-installing if you do so.

Stampercam
07-03-2011, 04:55 AM
Thanks itimpi, that should solve my problem nicely. I'll fix that up and look into the batch file option. We are running windows so regardless it sound painless.:thanks:

itimpi
07-05-2011, 11:41 AM
Kiwidude: Did you ever spot the items I raised in Post 155 of this thread? Bearing in mind how responsive you tend to be I wondered if they got lost amongst the later messages in the thread?

kiwidude
07-05-2011, 04:24 PM
@itimpi - I was away on holiday last week, so top priority when I got back went to the plugins that got broken by Calibre 0.8.8. I had seen your post, but haven't had time to comment.

The first part of a grand total on the View list menu is no problem.

The second part is a little more problematic. A total of all items on the lists is easy enough. However perhaps what you are after is a "true" sync count? This requires a fair bit of computation, as it requires querying to identify what books are already on the list(s) if the list(s) are set to force overwriting, looking up the books to see what have formats available etc. In turn this would slow down the appearance of the right-click menu, making Calibre a little more sluggish.

So if you just want a total of books on lists for the connected device/folder I can do that. But the "more useful" count of exactly how many books it anticipates sending in a sync operation I am hesitant to do? Thoughts?

itimpi
07-05-2011, 06:56 PM
I was interested in the total count, not the true 'sync' count. In my case I tend to just be queuing new books so the two end up being the same. However I can see that others might have a different workflow - particularly those who retain items in the list after sucking.

If at a future date you work out a way to do the more complicated case of a genuine sync count that would also be fine. I guess an early case might be to ignore any books that have their 'on device' column set if hat is not too expensive to calculate.

Any improvements along these lines would be welcomed. However as they are ergonomic improvements rather than major functional ones I would see you not doing anything that had 'hard' use cases.

kiwidude
07-06-2011, 03:27 PM
Changes in this release:

On the View menu item, put a total of items on all lists on the top level menu item
On the Sync now menu item, put a total count from all the lists that would be synced


@itimpi - as I mentioned above, this is the "easy" implementation of the sync now count, that simply totals the items on your lists. So by the sounds of it this should do what you wanted.

itimpi
07-06-2011, 07:33 PM
Changes in this release:
@itimpi - as I mentioned above, this is the "easy" implementation of the sync now count, that simply totals the items on your lists. So by the sounds of it this should do what you wanted.
Yes it will meet my needs (thanks very much) - but so would the complicated variant :) I hope that adding what I requested will not lead to a flood of other requests trying to get the 'complicated varaiant' implemented.

GB20
07-14-2011, 06:46 PM
Thanks :)

kiwidude
07-16-2011, 08:28 AM
@GB20 - Glad you found it useful, and welcome to MobileRead.

Vaesse
07-23-2011, 02:49 AM
As I have mentioned in other threads, I am another plugin hound and just now getting around to reading the forums of all the wonderful plugins I have been using to make Calibre sing and dance just the way I want it to. Of course, in reading these forums, I'm coming up with new ideas of other things that I can do with Calibre.

So, here are a few questions that came to mind about what I've found in this forum.

First, the scenario: I have tags that I use as a stand in for "ondevice" for my iPhone and for my Kindle (when it's not attached). Currently I have a non-clearing reading list populating these tags and synching anything new I add. This is working flawlessly. Now I notice that there's a "remove" style list. If I set that to modify the SAME tag as my synch list, will it (as I hope) remove the tag as it removes the book from the Kindle? Would the tag repopulate on the next synch (as the book is still technically in the synch list)? I'm a bit tired so I'm not sure I'm expressing this as well as I could, but I'm hoping I'm getting the idea across. If combining two lists to the same tag doesn't work the way I want it to... does anyone have any ideas how I could get the same functionality (basically, removing from Kindle, removing tag, and ideally also removing from "On Kindle" reading list simultaneously)? I think it could work if I could clear the "to synch" reading list WITHOUT clearing the tag... keeping the list for only new stuff and the tag functioning as "ondevice".

Second, I read something that got me all psyched up, then I realized I probably read it wrong with my wishful thinking... I noticed someone saying something about an iTunes update in relation to Calibre. Are we (by any chance) at or approaching the ability to synch my Kindle app on my iPhone with Calibre in a similar way to the way I synch my Kindle (minus the nifty collections that I don't think the app supports)? If so, I'm beyond thrilled... I read on my iPhone at night in bed (where the backlight of the black page with white letters is much less disruptive than a light shining on my Kindle screen), but manipulating the books on my iPhone is SUCH a pain (especially when compared with the sweetness that is my Calibre enhanced Kindle)!

Thank you so much, kiwidude, for the wonderful app and I'm going to start following these threads to see what else comes down the pike. :)

itimpi
07-23-2011, 06:15 AM
Second, I read something that got me all psyched up, then I realized I probably read it wrong with my wishful thinking... I noticed someone saying something about an iTunes update in relation to Calibre. Are we (by any chance) at or approaching the ability to synch my Kindle app on my iPhone with Calibre in a similar way to the way I synch my Kindle (minus the nifty collections that I don't think the app supports)? If so, I'm beyond thrilled... I read on my iPhone at night in bed (where the backlight of the black page with white letters is much less disruptive than a light shining on my Kindle screen), but manipulating the books on my iPhone is SUCH a pain (especially when compared with the sweetness that is my Calibre enhanced Kindle)!
As far as I know there is no change in this area.

There is the recent announcement that due to changes in the way that Calibre handles its database there were changes to the setting in iTunes for syncing with iBooks and some consequences of these changes. However I have not seen any suggestion of support for syncing with other apps on iOS.

I must admit that it would be great if such functionality could be provided, but as I understand it there may well be restrictions in the automation interface provided by iTunes that prevent the development of such functionality.

Vaesse
07-23-2011, 08:00 PM
That sounds like about what I heard about iTunes, so no big surprise, though obviously a bit disappointing.

itimpi
07-27-2011, 05:45 AM
I came across what is possible a small display buglet today!

To reproduce do the following:

Add some books to the Reading list
Select the option to view the Reading list
Highlight some books and select the option to Remove the book from list
Nothing changes in Display, so select the option to view the list again. Now the books that have been removed disappear.

I think that the step 4 should have been unecessary and that the display should have been updated when they were removed in the step 3? However there may be a ratinal for this behavior that I have missed? As I said at the start not really a big issue, but just a deviation from what I expected.

kiwidude
07-27-2011, 08:03 PM
@itimpi - it works as expected for me - the list refreshes after step 3. You must be doing a combination that the plugin is not expecting. IIRC the logic is that it compares the current search criteria in the search box with the name of the list, and if it finds they are the same then it effectively runs that search again to give the appearance of the books being removed.

What exactly was the name of your list and the search text being displayed when you choose "View reading list" at the time you do "Remove"?

Vaesse
07-29-2011, 07:48 PM
A part of my question seems to have gotten lost... I'll restate now that I'm awake and may be better able to state what I'm thinking.

I have tags that I use as a stand in for "ondevice" for my iPhone and for my Kindle (when it's not attached). Currently I have a non-clearing reading list populating these tags and synching anything new I add. This is working flawlessly.

However, I noticed that there's now a "remove" style list which might just make my life a bit easier. If I set that to modify the SAME tag as my synch list, will it remove the tag as it removes the book from the Kindle? How would the conflict of both the "add" and "remove" style lists containing the same book be handled? What would happen to the tag?

I think what I ideally want is a way to clear the "to synch" reading list WITHOUT clearing the tag. In other words, it would populate the tag when adding to the list, but leave it alone when removing it from the list. I can also see wanting it to work the other way, removing the tag, but not adding it. Basically this would make tag modification a three/four way switch:
1 - Modify tag on add and remove (as I believe it currently works)
2 - Modify tag only on add
3 - Modify tag only on remove
4 - Don't modify tag (not a real switch, but here for completeness)

In this scenario, what I would have is an "add" list set to option 2 above (for adding new stuff to my Kindle) and a "remove" list set to 3 (for stuff I'm done with). That way my tag would function (as I want it to) as "ondevice" for stuff that doesn't have a device and my lists would only hold stuff that's modifying, not my entire Kindle contents. As it is, my reading lists and tags are duplicative (except that the tags can't auto-synch).

capnm
07-29-2011, 11:19 PM
A couple of questions/wishes ....

Is there a way to have the "Remove items" job run before the "Sync [add] items" job when both are set run automatically as soon as the device is connected?

Any chance of incorporating a list that is automatically populated from the device?

Thanks

kiwidude
07-30-2011, 02:55 AM
A part of my question seems to have gotten lost... I'll restate now that I'm awake and may be better able to state what I'm thinking.

I have tags that I use as a stand in for "ondevice" for my iPhone and for my Kindle (when it's not attached). Currently I have a non-clearing reading list populating these tags and synching anything new I add. This is working flawlessly.

However, I noticed that there's now a "remove" style list which might just make my life a bit easier. If I set that to modify the SAME tag as my synch list, will it remove the tag as it removes the book from the Kindle? How would the conflict of both the "add" and "remove" style lists containing the same book be handled? What would happen to the tag?
It might work (have you tried it?) but I think you would potentially get into a bit of a mess. Each list attempts to maintain the integrity of tags on it's members. So when you add a book to a list, in fact it reapplies the designated tag to every book contained in that list. So if you have book A on both list 1 and list 2, remove the book from list 2 only, and then add a book B to list 1, then if you are using the same tag for list 1 and 2 it will cause book A to get that tag again. It is only when that book is removed from all lists that are setup to apply that tag that you can be sure nothing will sneakily put the tag back on.

I think what I ideally want is a way to clear the "to synch" reading list WITHOUT clearing the tag. In other words, it would populate the tag when adding to the list, but leave it alone when removing it from the list. I can also see wanting it to work the other way, removing the tag, but not adding it. Basically this would make tag modification a three/four way switch:
1 - Modify tag on add and remove (as I believe it currently works)
2 - Modify tag only on add
3 - Modify tag only on remove
4 - Don't modify tag (not a real switch, but here for completeness)

In this scenario, what I would have is an "add" list set to option 2 above (for adding new stuff to my Kindle) and a "remove" list set to 3 (for stuff I'm done with). That way my tag would function (as I want it to) as "ondevice" for stuff that doesn't have a device and my lists would only hold stuff that's modifying, not my entire Kindle contents. As it is, my reading lists and tags are duplicative (except that the tags can't auto-synch).

Ok, so if I understand correctly you are saying that rather than using a list to reflect the current books on your kindle you want to use a tag. That is understandable, since a list for books on your kindle would have to be manually maintained whenever you remove a book.

I don't have any objections to your suggestion, I think it adds flexibility for people who want to setup their lists in this particular way. Of course it still requires you to be disciplined about using the lists only as your way of adding or removing books or else your tags will get out of sync, though a simple query while your device is plugged in can show you any mismatches.

When I find som time I will add support for this.

kiwidude
07-30-2011, 03:17 AM
A couple of questions/wishes ....

Is there a way to have the "Remove items" job run before the "Sync [add] items" job when both are set run automatically as soon as the device is connected?
I can look to add that at some point. Right now it assumes your lists are independent and just uses an order that you cannot control.
Any chance of incorporating a list that is automatically populated from the device?

Thanks
Not so sure about this one. I would assume this is perhaps for similar reasons as Vaesse of wanting to keep track of books on the device and potentially having tags set? Or some other reason? I can see that it could be useful for people to have say a tag for each such list, which would allow them to see at a glance who has what on their devices. Or even just being able to see a list without the tags.

There are however a number of issues that come to mind.
- Such a list needs to be kept up to date after any other actions cause the device to be updated, whether you manually use the remove or send to device menus, or force sync another list to the device. I don't even know if it is possible to hook into those non plugin menu actions, and once your list loses integrity, you will have to Force Sync it or reconnect the device to get it back up to date.
- Also such a list might need to be read only from a user perspective, or else you will get into conflict situations. So not allowing manual add, remove or clear actions.
- Would you allow even changing list ordering - possibly I guess.

Will ponder this one, it might involve a fair amount of work and I gave less spare time nowadays. Feel free to comment on whether my understanding is correct and whether you think it useful.

kiwidude
07-30-2011, 03:36 PM
Changes in this release:

Offer option of controlling whether tags are added only or removed only for each list
When syncing lists, apply and "Remove" type lists before any other list types


@Vaessa - that should cover what you asked for.

@capnm - likewise this now addresses the first of your two suggestions. The second idea about an auto-populated list needs more thought/discussion as per my previous post to figure out exactly "why" and what people would hope to achieve with it.

Vaesse
07-30-2011, 06:04 PM
Thank you so much! Now I will play with this, but I expect it to be perfect!

dswellhauser
07-31-2011, 03:05 AM
Problem:
calibre, version 0.8.12
ERROR: Unhandled exception: <b>KeyError</b>:u'listType'

Traceback (most recent call last):
File "calibre_plugins.reading_list.action", line 456, in _on_device_metadata_available
File "calibre_plugins.reading_list.action", line 533, in sync_now
KeyError: u'listType'

Am using the latest version of Calibre 0.8.12

When I try to sync a book or books to the device (Kindle 3) it won't work. This problem occurred only after updating the plugin software

DoctorOhh
07-31-2011, 04:22 AM
This problem occurred only after updating the plugin software

Did you restart calibre after updating the plugin?

dswellhauser
07-31-2011, 04:32 AM
Did you restart calibre after updating the plugin?

Yes I did

Also I can send the file to the device but only with the 'send to device button'...when I do this the file is goes there and is perfectly readable.

kiwidude
07-31-2011, 08:33 AM
Changes in this release:

Ensure people upgrading who had no list type node in their config xml do not get an error.


@dswellhauser - there must have been something funky about that list in terms of when it was created and which plugin versions you have updated between in the past. This should no longer give you that error.

dswellhauser
07-31-2011, 08:44 AM
Just updated the plugin and the new one works fine....thanks :-D

capnm
07-31-2011, 10:37 AM
Not so sure about this one. I would assume this is perhaps for similar reasons as Vaesse of wanting to keep track of books on the device and potentially having tags set? Or some other reason? I can see that it could be useful for people to have say a tag for each such list, which would allow them to see at a glance who has what on their devices. Or even just being able to see a list without the tags.

There are however a number of issues that come to mind.
- Such a list needs to be kept up to date after any other actions cause the device to be updated, whether you manually use the remove or send to device menus, or force sync another list to the device. I don't even know if it is possible to hook into those non plugin menu actions, and once your list loses integrity, you will have to Force Sync it or reconnect the device to get it back up to date.
- Also such a list might need to be read only from a user perspective, or else you will get into conflict situations. So not allowing manual add, remove or clear actions.
- Would you allow even changing list ordering - possibly I guess.

Will ponder this one, it might involve a fair amount of work and I gave less spare time nowadays. Feel free to comment on whether my understanding is correct and whether you think it useful.

My workflow keeps evolving as the tools evolve :)

I find that I'm using auto-synced add and remove lists as the main (but not only) means of loading/unloading readers, and having multiple add lists turns out to be really handy.

Then, after the auto-sync, I'm manually setting a list to what's on the reader so that I can later (in Calibre) enter notes, decide what to add/remove, know which reader has what, etc.
Which isn't exactly a hardship -- but I admit it would be nice to have the last auto-sync job be creating that list, so I could just plug the reader in, forget about it for a while, then unplug & go.

I'm fine with the idea that it is only a snapshot at the time of the last [auto]sync -- if I indulge in manual updates/syncs I can certainly reconnect or force sync to update it (or even edit it) if I care.

I wouldn't make it read-only -- in fact I can imagine times I might prefer to mess with it.

Thanks for running the 'remove' jobs first -- it makes it possible to swap out a bunch of books automatically :)

beckywc
08-01-2011, 11:49 AM
Is there a way to move a book from one list to another? Right now I'm deleting it from one list and adding it to another.

denysm
08-02-2011, 02:29 PM
After having read through 182 quite sophisticated posts, I am embarrassed to be asking this trivial question, since no one else seems to have this problem. How do you enter "List keyboard shortcut"? I've tried "a", "alt-k", "ctrl-k" (these are samples and entered in "Customize plugin" without the quotes), but nothing works".

Thanks for any help.

denysm

kiwidude
08-02-2011, 03:08 PM
@beckywc - not currently no. As you are currently doing you must manually remove from one and add to another. If others request a "move" type menu item I will add it.

@denysm - make sure you use "+" rather than "-". So try "Ctrl+K" (without the quotes). Also you must make sure it does not conflict with any other Calibre shortcuts.

Bertrand
08-02-2011, 03:16 PM
If others request a "move" type menu item I will add it.

I vote for it !
I maintain 2 lists, "Current" and "Next" . It would be great to move books from one list to an other easily.

denysm
08-02-2011, 04:12 PM
@denysm - make sure you use "+" rather than "-". So try "Ctrl+K" (without the quotes). Also you must make sure it does not conflict with any other Calibre shortcuts.

Thank you kiwidude - problem solved.

denysm

beckywc
08-02-2011, 09:27 PM
I vote for it !
I maintain 2 lists, "Current" and "Next" . It would be great to move books from one list to an other easily.

I, too, have a Currently Reading and To Be Read list, as I finish reading a book in my Currently Reading I move the next book from To Be Read list to Currently Reading List.

kiwidude
08-03-2011, 05:29 PM
Ok, thx to those who said they would like to see it. I guess the next question is how it should work. For instance, lets say there was a "Move to-> List names" menu...

What should it do if the book is already on two other lists - should it remove them from both?
What if the book is already on the destination, should it remove it from any source list(s)?
And what if the book is not on any other list? Should it go ahead and just add it anyway, or do nothing?

beckywc
08-03-2011, 09:53 PM
I think it should only be removed from the list you want the book move from and add it to the list you want to move it two. Or maybe have also an option similar to remove from all list, you move to a list and remove from other lists.

Bertrand
08-04-2011, 03:27 AM
Ok, thx to those who said they would like to see it. I guess the next question is how it should work. For instance, lets say there was a "Move to-> List names" menu...

What should it do if the book is already on two other lists - should it remove them from both?
What if the book is already on the destination, should it remove it from any source list(s)?
And what if the book is not on any other list? Should it go ahead and just add it anyway, or do nothing?


1 and 2 : Ask the user ?
"Book Z is already in list B. What do you want to do ?"
For instance, dropdown menu :
- keep
- remove

3 Don't know, I don't understand this case :)

kiwidude
08-04-2011, 04:36 AM
@Bertrand - good suggestion on asking the user. I guess the same can apply for 3 as well. Case 3 is where you do not have the book on any lists already, but you go ahead and right-click on one to try to "move" it to a list. I could just disable the menui item in this case, or I could prompt asking if you want to cancel or go ahead and just add to the target list.

@beckywc - the problem is that the plugin will not know without guidance which list you are wanting to move the book from - since the menu is only specifying a target. I don't want to turn this into a monstrously complex thing for people to use. I think prompting will be the way to go - if it finds that you have two source lists, it displays both for you to choose from (like the User Category plugin).

capnm
08-04-2011, 05:12 AM
Or possibly configure list pair(s).
So when you say Move to John'sCurrentList it knows to remove it from John'sNextList (if it's there).

It seems like a lot of added configuration complexity, but otherwise you really don't save any clicks -- It only takes two menu actions to move a group of books as it is.

beckywc
08-04-2011, 07:41 AM
The way I was thinking is that let's say I'm viewing my To Be Read list, I select the book I want to move to my Currently reading list. I click the Reading list icon and there is a selection that says Move To you select that and it gives you a list of the other lists to move the book to.

kiwidude
08-04-2011, 09:17 AM
@beckywc - yes that would work provided I limited the functionality to only when you were viewing a specific list. However most of the plugin menu items work regardless of whether you are just browsing your library or in a specific list. I think the option would be more "useful" if you could kind of do it from anywhere? But hey, if everyone is happy just to do it when viewing a specific list that is easier to implement :)

capnm
08-04-2011, 01:00 PM
But hey, if everyone is happy just to do it when viewing a specific list that is easier to implement :)

Oh, yes - it would work much better that way, and if it's easier to implement -- even better :)

And that makes for easy answers to your earlier three questions too, since you'll know what list to remove it from - no need for any additional prompts.

BTW, is my idea about an auto-sync list populated by what's actually on the device still under consideration, or dead, or ...?

kiwidude
08-04-2011, 03:23 PM
@capnm - the auto-sync thing is going to gestate in the background for a while longer. You didn't help your case by suggesting that such a list should not be read-only - thereby introducing all the sync conflict issues (who is "right", and what does it "mean" to remove a book from your Kindle "list") etc. It needs more discussion/thought and I don't have the bandwidth right at the moment. If others get on the bandwagoon about it and talk through how they would like it to work then that may help to see it come to reality...

capnm
08-04-2011, 06:17 PM
@capnm - the auto-sync thing is going to gestate in the background for a while longer. You didn't help your case by suggesting that such a list should not be read-only - thereby introducing all the sync conflict issues (who is "right", and what does it "mean" to remove a book from your Kindle "list") etc. It needs more discussion/thought and I don't have the bandwidth right at the moment. If others get on the bandwagoon about it and talk through how they would like it to work then that may help to see it come to reality...

'Sok ...
Although I get the feeling you're envisioning something much more complex than I am.
I'm not imagining anything special about the list (that's why I said not read-only, it's just another list).
I'm just thinking of another option under "When syncing this list" that would "Make this list a list of items on the device".
The only additional requirement being that if auto-sync ("Sync this list to this device as soon as it is connected") is checked, it should be the last auto-sync job to run.
So if the "Make this list a list of items on the device" option is selected the list wouldn't be used to manipulate items on the device at all -- it just creates a snapshot of what's on the device for later reference in Calibre, optionally setting tags (just as existing lists do).
(It wouldn't "mean" anything to add/remove an item from this list -- unless I then changed the "When syncing this list" option to have it sync items to the device.)

Cheers!

itimpi
08-09-2011, 12:34 PM
I have just started getting the following error whenever I highlight a book and select the Read List icon on my main toolbar:


calibre, version 0.8.13
ERROR: Unhandled exception: <b>NameConflict</b>:Shortcut for u'ReadingListAction(Reading List) - Add to Sony PRS-950 list' already registered by Add to Sony PRS-950 list

Traceback (most recent call last):
File "calibre_plugins.reading_list.action", line 160, in about_to_show_menu
File "calibre_plugins.reading_list.action", line 78, in rebuild_menus
File "calibre_plugins.reading_list.common_utils", line 107, in create_menu_item
File "D:\Dropbox\Calibre\CalibreSource\src\calibre\gui2\ actions\__init__.py", line 143, in create_action
File "D:\Dropbox\Calibre\CalibreSource\src\calibre\gui2\ keyboard.py", line 40, in register_shortcut
NameConflict: Shortcut for u'ReadingListAction(Reading List) - Add to Sony PRS-950 list' already registered by Add to Sony PRS-950 list

Any idea what could be causing it, and what I need to do to resolve it?

kovidgoyal
08-09-2011, 02:25 PM
Update to latest source (that error happens if there are two plugins installed with the same name in new code used for managing keyboard shortcuts globally).

itimpi
08-09-2011, 02:34 PM
Update to latest source (that error happens if there are two plugins installed with the same name in new code used for managing keyboard shortcuts globally).
Thanks - that fixed it.

mattcelt
08-13-2011, 06:28 PM
Hey guys, new Calibre user here... I'm having a little trouble with keyboard shortcuts. First, Calibre seems to be throwing up when I try to access its internal keyboard shortcut settings:

calibre, version 0.8.14
ERROR: Unhandled exception: <b>AttributeError</b>:'NoneType' object has no attribute 'is_shortcut'

Traceback (most recent call last):
File "site-packages/calibre/gui2/keyboard.py", line 474, in sizeHint
File "site-packages/calibre/gui2/keyboard.py", line 455, in to_doc
AttributeError: 'NoneType' object has no attribute 'is_shortcut'


It gives this error repeatedly until Calibre crashes, hard. I checked the bug tracker, but I didn't see it there, but I thought I'd check first to see if it's a solved issue before submitting it.


I'm also having a problem with the shortcut keys in the Reading List plugin... kiwi mentioned that you have to type in the keyboard shortcut you want to use (Ctrl+K, for example). What are the valid modifier keys for the plugin? I've tried Command+' and Cmd+', but they don't seem to work. I can't choose a letter, since Calibre thinks I want to go to the next book that starts with that letter.

I have gotten a single keystroke to work (just the ' by itself), but - and here's the real kicker - it only works once. After the first time, the plugin ignores the keyboard input altogether. (Though adding to the reading lists using the menu still works.) I wasted 70 minutes adding books to my reading list, only to find out that only the first three I highlighted were actually in the list. :( Very frustrating.

I'm running Calibre 0.8.14 with Reading List 1.2.6 on OSX 10.6.8.


Thanks for your help, your products have made my eReader actually usable!!

kiwidude
08-14-2011, 07:14 AM
@matt - it is a bug in 0.8.14 causing your problem. See this thread:
http://www.mobileread.com/forums/showthread.php?t=146280

mattcelt
08-14-2011, 11:39 AM
@matt - it is a bug in 0.8.14 causing your problem. See this thread:
http://www.mobileread.com/forums/showthread.php?t=146280

Thanks! That does look like the same error... interestingly, I haven't changed any of the default keyboard shortcuts; I've only set the shortcut in Reading List. Hmmmm....

DoctorT
09-14-2011, 04:38 PM
I cannot get shortcuts to work.
Plugin version 1.2.6
Calibre version 0.8.18
OS X 10.6.6

kiwidude
09-14-2011, 04:58 PM
DoctorT - this plugin is near the end of what has been a very long list to migrate to the new keyboard shortcuts mechanism in Calibre. I would have expected the existing plugin to still "work" if you are specifying the shortcuts properly though. There will be a new version probably this weekend which will properly migrate shortcuts to Calibre's centralised preferences.

kiwidude
09-17-2011, 08:55 AM
Changes in this release:

Upgrade to support the centralised keyboard shortcut management in Calibre


Requires Calibre 0.8.18. As per the releases from last weekend, this is an update to allow you to assign keyboard shortcuts to any of the functions in this plugin using the centralised keyboard shortcuts feature in Calibre. You can do this either from Preferences->Keyboard or the Customise Plugin menu for this plugin.

DavidTC
09-20-2011, 10:27 PM
Right now, this plugin adds tags when a book is added to a list, and removes them when a book is removed.

Would be possible to get it to also do that in reverse...to add a book to a list when that book has a tag already? And remove it when the tag is removed? (Or whatever column is being used instead of tags, of course.)

In other words, make the list always contain all the books that have the tag? The tags and list would stay in sync.

This would be helpful in a lot of ways. It would let people trivially make lists out of existing tags, and it would let people automatically stick new books in a list. (Because they can be auto-tagged when being added to Calibre.)

It would seem like a lot of work to maintain the list in 'real time', but you really only need to scan when the list is actually needed. Although it's possible the plugin system has a way to hook metadata changes, and that might be saner.

kiwidude
09-21-2011, 04:30 AM
@DavidTC - what value would it add over people just clicking on the tag name in the tag browser or typing tags:xxx?

DavidTC
09-22-2011, 01:56 AM
I don't really understand the question? Presumably, the 'Reading List' plugin has some use over tags, or it wouldn't even need to exist. I'm not sure why I would be asked why the lists are more useful than just using tags.

_I_ use the plugin to maintain a list of books that I want on a ereader. I'm not entirely sure what else the plugin can do, but that's what I do with it.

As there are dozens of ways of manipulating tags, including adding them on important, having Reading List read the tags to figure out the lists would allow all sort of ways for other thing to manipulate the lists.

Include my example of putting every newly imported book on a specific list. (Via Calibre automatically giving them tags on import.)

Another example: The Goodreads plugin can add and remove tags based on what shelf a book is on. If the Reading List plugin does what I ask, tada, you can make a magical list for every shelf at Goodreads. Then in Goodreads, you could mark a book as 'currently reading' and having it magically on your ereader, then marking it 'read' it, which puts it on another list that gets it removed.

Of course, I'm not saying every list should work this way, but, luckily, lists are already individually configurable with regard to tags. Each just needs a checkbox that says 'Allow adding this tag to put it on the list, and removing this tag take it off' or something like that.

paulfiera
09-22-2011, 04:54 AM
_I_ use the plugin to maintain a list of books that I want on a ereader. I'm not entirely sure what else the plugin can do, but that's what I do with it.

This plugin is fantastic.

I use it to add books to my reading list and to my wife's reading list - two separate lists - and to mark the books as read, again in both my wife's and my personal reading list. This means that the same book can be tagged as read by me but still be in my wife's reading queue.

kiwidude
09-22-2011, 12:00 PM
I don't really understand the question? Presumably, the 'Reading List' plugin has some use over tags, or it wouldn't even need to exist. I'm not sure why I would be asked why the lists are more useful than just using tags.
The reason I asked is because you never explicitly said in your post why you would want such a feature. If your *only* purpose was to get a list of books that have a tag at a point in time, you don't need a plugin - as I said in my original response you can do this already using the search syntax or tag browser. Even your example of newly added books being in a list due to a tag - if all you want to do is see them to work with them then you already have the ability to do this today without the Reading List plugin.

However your last example was a valid one showing what such a feature would achieve when you mention wanting such a list to be synced to a device. If it sounds strange to you, Reading List did not start out with any sync capability at all, it was just about the ability to maintain orderable lists of books. Sync capability came about from deprecating another plugin called Book Sync and rolling its functionality into this one.

In terms of implementing it, it would need some thought. Currently the plugin is all about manually adding items to lists, with menu items to support this with actions such as Add, Edit, Remove. What relevance do they have for a list that is being automatically populated? Do we just make such actions not apply to a tag driven list, so all you can do is "View" it? Probably the simplest approach.

Then there is the question of custom columns - I support doing stuff with custom columns or tags, so you should be able to do custom column driven lists as well.

Then there are other issues around device syncing. If the list is populated on demand (which it would have to be), then that means when you plugin/sync to your device it needs to do a query behind the scenes to figure out what books if any are on the list. So there are potentially some performance implications.

There are also the complications of things like search restrictions. What if you apply a restriction, and then view a list? You are only going to see books within that search restriction. What if that restriction is applied when you plugin your device? Only books matching that restriction will get synced. Now that all may be "ok" but then again it might confuse the heck out of some users.

So I don't think it is as trivial as just adding a checkbox :)

DavidTC
09-22-2011, 10:31 PM
If it sounds strange to you, Reading List did not start out with any sync capability at all, it was just about the ability to maintain orderable lists of books.

That sounds strange to me. Barring the word 'orderable', I don't see what advantage that has over tags or making a custom column. (In fact, I don't quite understand how the books are orderable, they do not seem to such to me.)

I understand this didn't start out as a sync plugin, but it honestly baffles as to what else it is supposed to be.

In terms of implementing it, it would need some thought. Currently the plugin is all about manually adding items to lists, with menu items to support this with actions such as Add, Edit, Remove. What relevance do they have for a list that is being automatically populated? Do we just make such actions not apply to a tag driven list, so all you can do is "View" it? Probably the simplest approach.

Doesn't Reading List already add and remove tags when you take them on and off the list? I don't see why that part need change at all.

Then there is the question of custom columns - I support doing stuff with custom columns or tags, so you should be able to do custom column driven lists as well.

I don't see why why you're _not_ just using a custom column as the actual defining feature of the list.

These seems be one of those very strange ways in which plugins seem unwilling to interact with each other. I don't understand this concept of storing 'toggles' anywhere but as a tag, or a custom column if people don't want to make it a 'tag' per se.

If that happens, people can make stuff that happens in one plugin apply to another. But instead, the stuff get 'marked:', which is apparently some secret thing no one else is allowed to know about. I can't add it to the tag browser, I can't add it as a column, it's just somehow 'marked:' where I can search for it if I happen to know what it is (Or have a button that provides the search), but that's it.

Then there are other issues around device syncing. If the list is populated on demand (which it would have to be), then that means when you plugin/sync to your device it needs to do a query behind the scenes to figure out what books if any are on the list. So there are potentially some performance implications.

I don't know anything about the plugin API, so I don't know, but it's possible that you can put a hook on metadata changes, and just whenever a book changes tags, you quickly check it.

kiwidude
09-23-2011, 04:32 AM
That sounds strange to me. Barring the word 'orderable', I don't see what advantage that has over tags or making a custom column. (In fact, I don't quite understand how the books are orderable, they do not seem to such to me.)
It was originally about allowing users to easily maintain multiple lists of books in an order that they want to read them - that is where the "order" comes in. You can specify the order when you edit a list - there are up/down buttons on that screen allowing you to change it, and the results are reflected when you view the list.

As for the rest - you got it right when you said you don't understand the calibre API or the reasons why many plugins don't use custom columns. And having an attitude about it doesn't exactly engender me to try to explain it.

DavidTC
09-23-2011, 02:50 PM
It was originally about allowing users to easily maintain multiple lists of books in an order that they want to read them - that is where the "order" comes in. You can specify the order when you edit a list - there are up/down buttons on that screen allowing you to change it, and the results are reflected when you view the list.

And that really seemed important enough for a plugin? People were maintaining large lists of books they wanted to read, in order? Well, okay, I guess.

As for the rest - you got it right when you said you don't understand the calibre API or the reasons why many plugins don't use custom columns. And having an attitude about it doesn't exactly engender me to try to explain it.

The Reading List plugin does use custom columns. It can set and remove tags from them just fine. It just doesn't read them.

Now, it's entirely possible there's some sort of problem reading them that I don't know about. But it seems to be able to individually read information from books just fine, and I can pull up a reading list of over 250 books and it can instantly get the information about them. (I checked, it reflects metadata change after being added to the list.)

And I have other plugins that, when I click on a book, they alter what menu items they present based on the metadata (For example, Goodreads changes based on whether or not the book has the goodread metadata added.) so clearly there's not any sort of delay there, either.

But if you don't want to tell me the super-secret reason that plugins can't use the user-facing-and-editable 'toggles set on books' that are tags and custom columns, and instead have to use their own internal, no-user-or-other-plugin-can-alter-it toggles, I guess I can't force you.

DoctorOhh
09-24-2011, 01:57 AM
And that really seemed important enough for a plugin? People were maintaining large lists of books they wanted to read, in order? Well, okay, I guess.

Still hanging onto the attitude?

And I have other plugins that, when I click on a book, they alter what menu items they present based on the metadata (For example, Goodreads changes based on whether or not the book has the goodread metadata added.) so clearly there's not any sort of delay there, either.

Kiwidude wrote 44% of the user plugins that can currently be installed via the calibre install plugins interface. Including the Goodreads plugin so he is aware of what can and can't easily be accomplished.

But if you don't want to tell me the super-secret reason

Why continue posting if the reason is to merely antagonize the person you're trying to convince to add features to the plugin?

DavidTC
09-26-2011, 06:44 PM
Still hanging onto the attitude?

No, attitude would be arguing that such a plugin is pointless. I'm not entirely sure _I_ see the point, but if that actually is something people were interested in doing, I'm not going to argue.

Why continue posting if the reason is to merely antagonize the person you're trying to convince to add features to the plugin?

So, let me see if I understand. Me admitting I don't know what else the Reading List plugin is for except to sync, and someone mentioning some purpose that seems somewhat pointless to me, but me saying 'Oh, okay, I guess' instead of trying to argue the point is 'attitude'. I guess I should have lied and said 'Why, I can see the purpose of that! What a great idea!' instead of just saying 'Okay'.

But _refusing_ to tell me why plugins do not use the stuff accessible via the user-interface to set toggles on books, and why they instead use some sort of marking that nothing outside that plugin can access...why, that's entirely reasonable.

Kiwidude wrote 44% of the user plugins that can currently be installed via the calibre install plugins interface. Including the Goodreads plugin so he is aware of what can and can't easily be accomplished.

So, in other words, this rather odd thing I see across multiple plugins is because the same guy makes them?

It might, indeed, make sense to code that way, but the fact one guy likes to keep track of groups of books via 'marking' them instead of tagging them does not actually prove that. In fact, that actually it makes it _more_ likely it's just a coding style.

Of course, I'm sure I'll never know, because apparently I don't get an explanation of why a plugin locating all specifically tagged books when it needs to iterate over them is so hard. It's entirely possible there is a perfectly good explanation, like 'Plugins aren't allowed to access anything but currently selected books'.

But I guess instead we'll talk about whether or not I've show proper deference or not when I showed up to ask about a baffling design decision, instead of the person who knows why that decision was made explaining it, or, even better, saying 'Hmm, there's no reason why we're doing it that way anymore, that started that when custom columns didn't exist and never changed.' or whatever.

kiwidude
09-26-2011, 07:24 PM
@DavidTC - had you actually come on here and asked "could you please tell me why this was done this way" I would have explained it. You may call it "deference", the 99.9% of the other users of this forum would just call it simple politeness out of respect for the time it would take me to type and explain it. Instead you have posted like a complete and utter prick with increasing amounts of animosity and aggression. Hard though it appears for you to conceive, these plugins and support posts are done in my spare time purely for enjoyment, and not in any way to serve you.

For anyone wanting a lesson on how to turn a feature request I was considering into something that is not of the slightest bit of interest to me and just pissing me off, DavidTC has provided it. Out of politeness to other users of this forum and thread I won't express my exact words I would say to you in person, but I would hope you can guess them by now.

electronicfur
09-26-2011, 08:49 PM
Hi,

I'm new to the plugin, and cant figure out how I can set it up to sync a list to two devices, or if it's not designed to do this.

I have a single "to read" list and would like it synced to both my Kindle & N900 phone. Is that possible? I have both devices in the "Devices" grid with the Menu checkbox checked. I'm a bit unsure of what that checkbox does to be honest, as it doesnt seem to affect anything. And I can only enter one device in the "Device to sync this list to" dropdown.

Cheers,
EF

itimpi
09-27-2011, 02:54 AM
The plugin will maintain separate lists for each device that is to be synced to, and as far as I know this is built-in behaviour.

However it does have an option to add a book to "All Lists" which would achieve what you want if you have no other lists being maintained. I have two devices and add many (but not all) books to both devices in this manner.

chaley
09-27-2011, 03:32 AM
@DavidTC: this is piling on, but so be it.

Often people come to this forum asking us to do things for them. That something takes our skill, knowledge, and time; all commodities with value and things that the requester does not have or chooses not to use. Nothing tangible is offered in return. Most offer a thank you. Some seem to feel that they are entitled to my time for who-knows-what reason, and can't even say "thanks". A few offer insults. I have been called moron, wanker, pinched face, and worse.

This leaves the question: why should I do anything here? For me, there are three reasons:
- The problem is interesting in some way, usually intellectual or technical
- The request is for something that I will personally use
- I feel like it because the person seems to be nice.
All three are entirely subjective, and absolutely at my discretion.

Lets put this another way. Assume that I have been known to give $100 bills away from time to time. Someone appears at my door and requests one. I ask the person "for what", and the person answers "to satisfy my wants, and your cat is ugly." I try to rise above it and I give the the person a $100 bill. The person then says "this bill isn't good enough -- it is folded and has your stinky finger juice on it". At that point I close and lock my door.

The source for the plugin is available. Change it however you wish.

electronicfur
09-27-2011, 06:17 AM
The plugin will maintain separate lists for each device that is to be synced to, and as far as I know this is built-in behaviour.

However it does have an option to add a book to "All Lists" which would achieve what you want if you have no other lists being maintained. I have two devices and add many (but not all) books to both devices in this manner.

Thanks itimpi. I didnt realise that option existed as it didn't show on the menus because I only had one list created. That's a good workaround as I dont have any other lists.

itimpi
09-27-2011, 09:05 AM
Thanks itimpi. I didnt realise that option existed as it didn't show on the menus because I only had one list created. That's a good workaround as I dont have any other lists.
Interesting observation. As I added two devices almost immediately then I never noticed this item not being present.

That raises an interesting point about UI design and feature 'discoverability'. Maybe it would be good practise for that option to always be visible as a hint to the facility existing? I must admit I do not have strong view either way but it might be interesting to see what others think?

swkotor
09-28-2011, 10:33 AM
Hey guys,

Sorry if this has been answered somewhere else in the thread but is it possible to sync your goodreads "to read" order to a reading list?

kiwidude
09-28-2011, 02:51 PM
Hi swkotor,

You specifically say goodreads "to read" order. However Goodreads has no concept of "order" - you can sort your books by various criteria, but you do not "order" the books like you can with the Reading List plugin.

Putting that aside, the bigger question is whether you can sync a goodreads shelf into a reading list. To which the answer is no, it is not currently possible. One option for doing this was mooted on the previous page in this thread, but any enthusiasm for that idea was somewhat dampened for fairly obvious reasons if you keep reading above.

Right now the Goodreads Sync and Reading List plugins work completely independent of each other. I guess another way of approaching this would be to support a new sync action for a shelf in goodreads, so in addition to existing actions like "add tag value" you could have a new action of "add to reading list" allowing you to specify the name. I guess it depends on whether others would find it useful.

DavidTC
09-29-2011, 02:49 PM
I would just like to point out to everyone that the entire 'animosity' that others appear to be talking about on my part is two things: 1) calling a design decision 'strange' and 2) not knowing what this plugin was originally for.

And, of course, I didn't just randomly call it 'strange'. No, we were in a conversation about what seemed 'strange' WRT to the plugin, and I said that I thought the decision to not just use tags was strange. I had no idea that mentioning to a programmer that something they and other programmers had done seemed to be 'strange', and asking if they could explain it, was an unforgivable sin. (Although it turns out it's the same programmer, which I didn't know.)

And then 3) I didn't respond with the proper enthusiasm to the need to 'keep a list of books in order', and 4) I got sarcastic about the fact that, while I was informed there was a good reason for (1), they're certainly not going to tell me because I was rude, so I started calling it the 'super-secret reason'. But all this was _after_ I had 'an attitude'.


And, yes, chaley, I know how free software works. I know no one has an obligation to write code to do what I want. You will notice that, at no point, have I insisted on anyone do anything at all, despite your analogy. I used to help _maintain_ some free software.

And I know I can download the code and change it myself. Perhaps I will at some point, although I do not know Python. Although this is not where I would start with a plugin. I'd much rather have a plugin that let me mark a book as 'News', aka, automatically sent to a device and deleted. This is the exact same strange design decisions, this time on the part of Calibre itself, to hide book toggles away where people can't get to them.

But _usually_ I don't deal with programmers so thin-skinned that when I ask 'Could do you do this?' and then I mention in a followup 'I don't really understand why everything doesn't work that way to start with, the way everyone does this seems somewhat strange.' they do not respond 'There's a good reason, but I don't like your tone so I'm not going to tell you!'.


So, swkotor, if you're going to be asking requests, you better never question why, exactly, that the Reading List plugin can't just read the tags or custom columns set by Goodreads already. Or vis versa. (Yes, I do find it funny that almost immediately after my question someone else came along and asked a question that would be _trivially_ solved if tags were used to define the reading lists instead of inaccessible 'marks', why did you ask?)

electronicfur
10-02-2011, 07:09 AM
Interesting observation. As I added two devices almost immediately then I never noticed this item not being present.

That raises an interesting point about UI design and feature 'discoverability'. Maybe it would be good practise for that option to always be visible as a hint to the facility existing? I must admit I do not have strong view either way but it might be interesting to see what others think?

I agree it could be always be visible but greyed out. But for me it would be more user friendly to be able to sync a single list to multiple devices. Your workaround is fine, but I found I then end up having to manually keep the reading order of my two lists in sync.

kiwidude
10-02-2011, 07:43 AM
@electronicfur - the option to sync to multiple devices is not likely to happen anytime soon. The whole model behind this plugin is a per device per library list. To try to change a list to be associated with multiple devices has too much "pain" associated with it in multiple areas - be it the data model or functional such as when tags get added/removed etc.

What might be a possible alternative I would consider is a "Copy" menu option, allowing you to copy the contents of one list to another. So rather than using the "Add to all lists" function you could just treat one list as your master, and then have the ability to copy from one to another.

As for the whole menu options visible vs disabled thing, it is an interesting debate. If you want to know why it works the way it is currently, it is an attempt to not end up with a full screen right-click menu with a squillion options on it that completely initimidates new users. Someone who only maintains a single list gets the most concise menu that contains only options that are relevant to them - they don't have to mouse over permanently disabled options, and if using Calibre on a low resolution device there should be no problems with menu size.

The downside as you have mentioned is the compromise on discoverability.

The other approach I took for plugins like Quality Check is to allow the user to control which menu items appear on their menu. This does require additional development and adds complexity to the plugin, so it was "easier" to just hide menu items not relevant and let people read the documentation in the first post to "discover" what else the plugin could do.

If enough people feel strongly about it then again it is something I can look at sometime, but so far out of the many thousands of downloads only one person has posted about it causing them a problem.

electronicfur
10-08-2011, 08:28 AM
Yes a Copy menu option would work well.

With regards to the menu options, I can see why you'd want to keep the menus clean. I guess the main reason I got confused and ended up asking on the forum is that I thought my use case was a common use for the plugin. And I got further confused as in the configuration there is a Devices table with a checkbox next to each device, so I assumed that I could check each device I wanted to send the list to. Other newbies to the plugin might get confused like me. But I guess just a line in the plugin description on how to use multiple lists in this case would help.

Basically my use case is that I just maintain an ordered reading list and then I want to sync the list to all my reader devices. This is so that if I dont have say my Kindle with me, then I still have my reading list on my other devices and can then read on my phone or tablet pc instead.

I was doing this manually, so your plugin is already a great help thanks.

Cheers,
EF

kiwidude
10-11-2011, 05:05 AM
@electronicfur - I've been thinking a little more about what you want to do. I think that the "add to all lists" type functionality is probably still your best bet. Is there a particular reason why you would not want to use this?

Certainly the obvious reason is if you have other lists that are not related to the ones you intend to synchronise. I was thinking that rather than "Add to all lists" the functionality should be changed to be "Add to list group", with a new configuration tab allowing you to define which lists make up that group. This would make that "Add to all" function much more flexible/useful. The only question in my mind is whether to make it possible to allow users to define multiple list groups, or if I can keep it simple with just a single group defined.

electronicfur
10-11-2011, 04:25 PM
Hi Kiwidude,

It was mainly because I was planning to have a reading list for my girlfriend as well. But I've worked around that by installing Calibre on another PC for her.

But you're right a copy or list group would work for users with multiple lists.

Another thing I found was that I cant now use the "edit list" to remove books from my reading list, but must first find & select the book I want to delete from my reading list in Calibre, and then use the "remove from all lists".

Also a problem with keeping multiple device lists in sync with the "add to all lists" is that the reading order goes out of sync if you edit it, so you have to choose one master list for the reading order and ignore the others.

No big deal really, so only worth changing things if other users have the same use case. I thought it would be common to want your reading list on all devices, but if it hasnt come up before, perhaps I'm the only one. But for me that is the main attraction of the plugin, as it avoids me having to manually copy all the books in my reading list to my Kindle, phone and tablet pc.

Cheers,
EF

kiwidude
10-11-2011, 04:52 PM
Ahh yes, thanks for posting those problems with trying to use the Add to all lists approach. It isn't a feature I use myself and I can see now what you mean by the issues. I agree it isn't ideal.

Not sure what else to suggest at this point. Even Copy to List wouldn't do what you want, because what if there was other items on that other list, they sitll wouldn't be kept in sync etc.

I think fundamentally it really does need special case functionality to support what you want. Perhaps a special device type of "Any device", so you still just have a single list. That wouldn't break the data model quite so badly.

I'll mull it over - previously I thought that the previous suggestions around Add to all lists might at least offer a "usable" workaround but that really only works if you don't plan to edit the lists.

Vaesse
10-12-2011, 10:32 PM
How hard is it to change the "connection" between list and device to many-to-many? That would certainly be the best solution I can imagine, but if it's too difficult then I'll shut up, because though I might use the functionality if it were there, it's no big deal to me either way.

happydemic
10-13-2011, 09:53 AM
As a user of calibre since the libreprs500 days, I can't believe I'm only now posting on this forum for the first time... *hangs head in shame*

Kiwidude, thank you for all your awesome plugins. I use this and Goodreads every day, with great pleasure.

I have a feature request which should be quite straightforward but which may be of relatively little interest to other users, particularly the power users on this thread! So I quite understand if you don't fancy it.

I would like to add another sync option - "overwrite device". This would delete all books on the device except for those on the reading list being synced.

The reason I would use a feature like this is that I am still using a bashed-up and dog-eared PRS-505. (Believe me, an e-book can get dog-eared.) Managing books on my device requires waiting for its little gears to crank up and for wizened homunculi to shuffle across the e-paper. So I manage all my books, including deletions, through calibre. My reading "workflow" (funflow?) is so simple - I just use a single sync list to sync to the reader - that rather than set up a separate deletion list, I'd like to be able to add new books and remove old ones all at the same time.

I am undecided whether an "overwrite device" sync should be a "true overwrite" (i.e. operate like "Sync all list items" but also delete everything currently on the device) or whether it should operate more like "Sync new list items" mode, i.e. deleting books not on the list, adding books which aren't on the device, and leaving alone books which are on both. The latter would be quicker and would suit me better, but a "true overwrite" might suit people who aren't too sure what badly formatted old versions they might have on their device and would just like to start again. Alternatively "overwrite device" could be a checkbox (which would do nothing/get greyed out when "Remove" mode is selected).

Thanks again for all your hard work.

teeminghorde
10-15-2011, 03:05 AM
I would love to have the "Add to list group" functionality.

Kraftwerk
10-15-2011, 12:04 PM
I am not that great with computers, so please bare with me.

I recently installed Calibre (so I have the latest version) and added three plugins: 'Find Duplicates'; 'Quality check' and 'Reading list'.

I installed it and added some books to the Library to understand how 'Calibre' works, to be ready when I get my Kindle 4 in the new year.

Concerning the 'Reading List': I am not sure what I can do with it.

I have read all the pages for this thread but can't figure out what I am able to do.

All I want to be able to do, is to have a list of books that I want to read and in an order that I want to read them, which I have already done.

But is there a way of telling me which books I have read which are in the Calibre library, so that I know I have read a book and not add it to my reading list again in the future?

When I put a book into my reading list does it disappear from the Calibre library? (I am trying to figure out exactly what happens when I do this).

What are 'Tags' and what are they used for?

Anything else I can do with this plugin which I don't realise I can do?

I just want to get my head around this plugin so that I can get the best out of it.

kiwidude
10-16-2011, 09:29 AM
@Vaesse - indeed, looking for some way to make a list across devices is on the todo list when I get a chance.

@happydemic - welcome for your first post on MR. I will have a think about your requirement too and how easy that would be to apply.

@teeminghorde - yes I think Add to List Group would be a more useful evolution of "add to all groups", thanks for showing some interest in it.

@Kraftwerk - adding a book to a list will by default not change anything about it in the library. Imagine you had a piece of paper you were writing a list of book names on. Writing the name down on the list does not in any way touch the book in your library.

To keep track of whether you have read a book or not, most often people use either a custom column or a "tag". A tag is just a name that you can add to the comma separated list of values in the "tags" column - most often this is used for genres but you can put virtually any name you like for your own purpose. For isntance some people used to use a + sign as a tag to indicate they have read it, or you can put the word "Read" or whatever you like. Alternatively use a custom column (which is what I do), adding a yes/no column called #read which I then change every time I finish a book.

You can also go further and use goodreads.com to also keep track of books you have read, using the Goodreads Sync plugin to add them to your "read" shelf there. This gives you all sorts of nice statistics and if you choose the ability for "friends" to see what you have read and your reviews etc.

In terms of "what else can the plugin do" - well reading back through this thread should hopefully give you some ideas of how people are using it. A lot of people use it as a convenient way to queue up books to be added to their device (automatically or manually) the next time it is plugged in. You can also specify that books in your library should have a tag or custom column set by adding to a list. So for instance if you wanted to keep track of what books were on your Kindle even when it isn't plugged in, then you could have a "Kindle" list, setup a rule to set a tag value of Kindle when items are added to your list. Or if you had lists for multiple people/devices, you could set values in tags/custom columns based on adding something to a list. People have been very creative in ways to use this plugin :)

Vaesse
10-19-2011, 07:58 PM
Tracking reading, I take it a step further and have a "read date" and "read count" so I can track just how many times I've read my favorite books and how long it's been since I last finished each book. Either one alone might be enough for a less obsessive tracker.

kiwidude
10-23-2011, 09:22 AM
Changes in this release:

Allow a list to be associated with "*Any Device" so a single list can be synced to multiple devices
When switching libraries, if a device is connected then fire the check to see whether lists to sync
Rename list types - Sync new list items -> Add new list items to device, Sync all list items -> Add all list items to device
Add list type "Replace device with list, send new only" to delete non-list books from device, send new items not on device
Add list type "Replace device with list, overwrite all" to delete non-list books from device, overwrite all books with list


This update should address some of the requests made above.

Firstly there is a "*All Devices" option for the dropdown of which device to synchronise to. So people who want to replicate their list onto multiple devices can do so without having to have multiple lists like they had previously. Note that if you have the "Clear after sync" menu option checked, this option won't work very well for you - I considered disabling it but just a case of being aware.

Secondly in preparation for adding some new list types I renamed the items in the dropdown to hopefully make it a bit clearer what they do.

Then there are two new list types, which give you the option of deciding exaclty what books should be on your device by whether they are in your list or not. So when you sync to the device, any book which is not on your list (*but is in your Calibre library) is removed. There are two variations of this list type - "Send new only" will only send books that do not already exist on your device, whereas "overwrite all" will force all books on the list to be sent again. Note that these options only remove books which have a matching entry in the current calibre library (not on your list). So if you have added a book to your device from another library, outside of calibre or since deleted it from your library it will be kept on your device.

The final change was to make sure that when you switch libraries while connected to a device, that the plugin spins through the lists once in the new library to check whether any should be automatically synced. Previously the automatic sync logic would only fire for lists for the library you were in at the time you connected your device.

I am sure this plugin will evolve further with some of the other suggestions and some ideas I have but hopefully this should create some new options for how people make use of it.

happydemic
10-25-2011, 09:35 AM
Mr Kiwi, not only are you one of the nicest devs I've ever encountered - you are also by far the quickest!

Thank you for implementing my request. I'm thrilled and very grateful. In fact I was so pathetically thrilled that in my haste to connect my reader to Calibre, I tried to shove my USB cable into my Ethernet port - oops...

The "Replace device" options worked perfectly for me. So thank you again.

kiwidude
10-25-2011, 07:36 PM
@happydemic - thanks very much for the feedback, glad to hear it is working as you had hoped.

salines
10-30-2011, 05:26 AM
Hi kiwidude,
sorry if I missed it in the tread, but could you explain how the ordering works if I use my reading-list on my Sony PRS-T1?
The list in my T1 is not sorted like in a series.
How can I do it? That's because I want to priorisize my reading-list both in Calibre an of course also in my reader.
Thanks.

kiwidude
10-30-2011, 07:44 AM
@salines - there is unfortunately no way to associate the books actually on the device with a reading list order currently. The list order can only be seen within Calibre itself when you view the contents of a list. Ordering on a device (I know nothing about the Sony btw) is usually done by metadata such as the title or the filename. You can use metadata plugboards to manipulate that (some people do this to keep books in series order). However none of that can be done with this plugin.

At one point a long time ago I considered the option of generating a special book (like a catalog) that you could send to your device which would contain your list in order as some text inside it. However as no-one has ever really asked for this and it would be a fair amount of dev effort it went no further.

salines
10-30-2011, 08:18 AM
ho kiwidude,
many thanks for your answer.

I have my PRS-T1 for about 2 days and I'm very new at ebookreaders.
Some things are very "strange"....


I think that's a pretty idea with a reading-list catalog. :)
Sorry but if a prio my next reading-book-list in Calibre then I also want that orderd lists also on my device - because I read the ebook on the device not on my comuter. :p :D

I vote for that new plugin! :thumbsup:

DoctorOhh
10-30-2011, 08:32 AM
I also want that orderd lists also on my device - because I read the ebook on the device not on my comuter.

Ordered lists are easily created in series and collections via calibre. Read through this thread starting here (http://www.mobileread.com/forums/showthread.php?t=151786&page=7) paying close attention to jackie_w's posts.

salines
10-30-2011, 08:38 AM
Ordered lists are easily created in series and collections via calibre. Read through this thread starting here (http://www.mobileread.com/forums/showthread.php?t=151786&page=7) paying close attention to jackie_w's posts.

But what's about books that are already in series?

Sorry but I don't want to create a separate series.


The plugin Reading-List is fine - if I get the order on my device.

DoctorOhh
10-30-2011, 08:54 AM
But what's about books that are already in series?

Keep reading existing series and collections are what I'm referring to.

I get the order on my device.

You want order on your device read the previously mentioned thread. Also the following might help.

How does calibre manage collections on my SONY reader? (http://manual.calibre-ebook.com/faq.html#how-does-app-manage-collections-on-my-sony-reader)
Techniques to use plugboards, custom columns and templates (http://www.mobileread.com/forums/showthread.php?t=118563)
how to change calibre sort and collection sequents (http://www.mobileread.com/forums/showthread.php?p=1414850#post1414850)
Downloading tags using Goodreads (http://www.mobileread.com/forums/showpost.php?p=1522482&postcount=15).

salines
10-30-2011, 09:59 AM
@dwanthy
I promise I look in all the threads. Thanks. :)


What do you mean with this:
http://www.mobileread.com/forums/showpost.php?p=1780308&postcount=102
# Specify how SONY collections are sorted sony_collection_sorting_rules = [(['series'], 'series_index')]

DoctorOhh
10-30-2011, 10:11 AM
What do you mean with this:
http://www.mobileread.com/forums/showpost.php?p=1780308&postcount=102

Go to Preferences - Tweaks and review the Specify how Sony collections are sorted tweak.

Vaesse
10-30-2011, 10:51 PM
Random idea. Is there a way to "adjust" the date stamp on the books so that they vary enoug to force the "most recent" sort on the device to match the reading list? Not sure how many would want it, but it seems like it might be a good solution for those trying to maintain reading list order on their devices.