View Single Post
Old 04-15-2011, 06:04 AM   #58
kiwidude
Calibre Plugins Developer
kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.
 
Posts: 4,637
Karma: 2162064
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
Quote:
Originally Posted by chaley View Post
I would be happy with any of these. That said, I think that #2 is the best way forward, because of situation and workflow differences. My guess is that restriction+marking is best when working with a fairly clean library where the number of cases is small (probably what all of us have), vs a mess where there are 100s of duplicates. In the latter case, the user might prefer to deal with them group by group.
Cool, we will give #2 a try. It will be easy enough to change to one of the other options if we need to. So on the find duplicates dialog the user will choose whether they want to show all duplicate groups at once or one at a time. And every time they go "next result" it will reapply that "mode", just in case they got distracted into doing something else in between. The "Show all duplicates" menu will be removed.

Quote:
Sorting by fuzzy key is probably better than what I had in mind -- sorting by title_sort.
The only case I haven't addressed is a search for duplicate ISBN - since the fuzzy key is the ISBN number. What I could do is sort by the title_sort of the first book in each group if we think its worth it.

Quote:
I ended up adding a tool button that toggles the option. The button's icon changes to show the current state. This takes up the least real estate and (IMHO) very usable.
Yes I tried this and agree the toggle button works well. My only further suggestion was whether to colour the icon with green lines since that is what the UI gets marked with. Critical, obviously

Quote:
Given the new button, I am not convinced that we (you) need to do anything complicated. I can see what is happening and fix it easily. This applies to the search restriction as well -- I can see that it is set and fix it easily.

Perhaps an 'I am done' menu item is sufficient? It would clear the search, clear (restore?) the search restriction, and restore the marking flag.
So what I am thinking is the following:

1. Each time a user does "Find Duplicates" in a Calibre session, I remember what restriction and highlighting setting they had, and that is what I can restore to. The one exception will be if they do "Find Duplicates" while they are currently displaying duplicates (i.e. not "finished") in which case it will use the previous restriction/highlighting mode value. Perhaps I also need to remember their sort history to reapply, as once they exist duplicate mode then searching by "marked" as a primary sort would not be useful?

2. The user can exit the highlighting/restriction in any one of these ways.
- Manually clearing the restriction box/toggling highlight button
- Moving to the next group after merging the last groups contents
- Marking the last group as a duplicate exemption
- Marking all groups as duplicate exemptions
- Choosing a "Clear duplicate search results" menu option (I'm open to suggestions on the name!)

Quote:
A separate dialog might be the way to go here. As far as I can see, the only operation the user can perform is to break pairing for some number of books. The separate dialog could show the root on the top line, then show the others below along with a checkbox to indicate whether or not to remove that book from the not_dup set.

It could also be useful to be able to show exemptions as you describe, in order to give me the power of the GUI to see what is going on. Then, if I see a book that shouldn't be there, I would right-click on it to get the exemptions editor. That book would be the root, and I remove the offending books.
I like the idea of a popup dialog and a menu option of "Manage exemptions for this book". So as I understand it then that we still have the "Show duplicate exemptions" option, and that displays all the books that have exemptions (clearing the search restriction and highlighting mode, and just doing a search of "marked:not_duplicate").

That gives the user an unsorted list of books (well if they did this in the middle of finding duplicates they would still be sorted by title I guess). The user can pick a book and choose "Manage exemptions for this book" to view it's paired books and remove relationships. I guess I would also still keep the "Remove selected exemptions" menu item, so if a user wants to bulk remove for multiple books they can do so.

The "Manage exemptions" dialog will just display a grid with a small subset of columns like Title, Authors, Series, Tags and maybe Date. With as you say a checkbox column allowing the user to specify which of the rows after the first one to remove, and a select all button.

When I exit the "Manage exemptions" dialog, if the user made changes I refresh the search if they were showing "marked:not_duplicates". If they were showing a duplicate search result group (or anything else), there is no need to refresh. They can only get books "repartitioned" or "reappearing" by actually running Find Duplicates again.

The "Manage exemptions for this book" would be available on any book that was marked "not_duplicate". So in theory they could do it without entering the "Show all duplicate exemptions" search and instead do it while reviewing their duplicate groups. However it would be a bit of a random click fest as to whether they find that "Manage" menu item enabled or not as there will be no other visual indication that a book has duplicate exemptions. I'm hapy with that.
kiwidude is offline   Reply With Quote