Skip to content

[Feature Request] Configurable minimum book count for Series navigation #1496

Description

@bmanturner

Is your feature request related to a problem? Please describe.

Libraries often contain books whose metadata assigns them to a nominal series even though only one book from that series is present. These single-book series can substantially clutter both:

  • the Series tab in the CWA web interface (list and grid views); and
  • the Series menu and alphabetical indexes in the OPDS catalogue.

The series metadata is still useful and should remain attached to the book, but a series containing only one visible book is generally not useful as a navigation category. Removing the metadata merely to tidy the menus would make the catalogue less accurate.

Describe the solution you'd like

Add an instance-level setting for the minimum number of books required before a series is shown in Series navigation. For example:

Minimum books required to show a series: 1

The default should be 1 to preserve current behaviour. Setting it to 2 would hide single-book series.

The setting should apply consistently to:

  • the web Series tab in both list and grid views;
  • the web Series alphabetical index/filter;
  • the OPDS Series menu; and
  • the OPDS Series alphabetical index and letter feeds.

Ideally, the threshold would be evaluated after CWA's normal visibility/common filters, so the count reflects books visible to the current user. A series with two books globally but only one book visible to a particular user should therefore be hidden for that user when the threshold is 2.

This should affect navigation only. Series metadata should remain unchanged, and direct links to an otherwise hidden series could continue to work.

Describe alternatives you've considered

  • Removing series metadata from singleton books: this damages valid metadata and affects other Calibre clients.
  • Hiding the entire Series section per user: this removes useful multi-book series as well.
  • Maintaining local source patches to the grouped queries in cps/web.py and cps/opds.py: feasible, but brittle across upgrades and better represented as a supported setting.

Additional context

In v4.0.6, the relevant grouped series queries appear in series_list() in cps/web.py and feed_letter_series() / render_element_index() in cps/opds.py. A grouped-count threshold (for example, a HAVING COUNT(...) >= configured_minimum) appears sufficient, provided the alphabetical indexes use the same filtered population.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions