View Single Post
Old 08-21-2017, 06:56 AM   #2
chaley
Grand Sorcerer
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 12,450
Karma: 8012886
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
Quote:
Originally Posted by msimeon View Post
When I group books by author and then display the list of books for a given author, I can sort the list say by series. I would be nice to be able to display two levels of grouping, as a tree:
Authors
Author A
Series 1
Series 2
You can sort series within author in two ways.
  1. First sort by series, then sort by author. The result will be series within author.
  2. Set up one of the two user defined sorts (CC's Settings / Sorting) to do it. The major sort would be authors. The second sort would be series.

As for "be nice to be able to display two levels of grouping, as a tree": I think you are asking for a hierarchical display on the book list. That isn't going to happen.

However: you can get a hierarchical list in the grouping drawer that does much of what you are asking for. You do this by making a custom column in calibre containing the data you want (author.series) then displaying data from that column in CC's grouping drawer. The process is:
  1. In calibre, create a custom column built from other columns. For this example I will use the lookup name #auth_series.
  2. Set the template for #auth_series to be something like
    Code:
    {authors:'re(sublist($, 0, 1, '&'), '\.', ';')'} - {series}
    The Template Program Mode template for authors fetches the first author then changes any periods in the author's name to semicolons so that CC can correctly use it as a hierarchical group (see below). You can remove the 'first author' part if none of your series have multiple authors. You can make a template to generate a group per author of a series, but that template is *much* more complicated.
  3. Connect as a wireless device so that CC is told about #auth_series. Let CC fetch the new metadata (column). Disconnect.
  4. In CC's settings (Grouping drawer / Groups/sort on custom columns), add #auth_series to the grouping drawer.
  5. In CC's settings (Grouping drawer / Hierarchical groups) add #auth_series as a hierarchical group.
  6. (Optional) Tell CC to sort the book list by Author/Series (as discussed above) whenever the #auth_series group is selected. You do this by setting up a user defined sort as described above, then going to CC's Settings / Automatic sorting when grouping / Sort when tapping a group. Set the sort for #auth_series to be the correct user defined sort (#1 or #2).
You will now see #auth_series in the grouping drawer, displayed as a tree of authors/series. After tapping on #auth_series, if you tap on an author then you will see all books by that author. If you tap on a series hierarchically below that author then you will see all books in that series written by that author. If you open book details for one of those books and tap the series then you will see all books in that series regardless of author.
Quote:
and then be able to display only the books in a given series
It isn't clear what exactly you are asking for here. I might have already answered it above.

Alternatively, if you mean "Limit CC to display only books from a series" then you can do that by long-pressing on a series in the grouping drawer.
chaley is offline   Reply With Quote