[Enhancement]: Collections - Ability to sort by title, playback time or read/unread status #638

Open
opened 2026-04-24 23:15:13 +02:00 by adam · 7 comments
Owner

Originally created by @raviwarrier on GitHub (Sep 16, 2022).

Describe the feature/enhancement

Books may be added as one adds them to the library, but may need to be sorted/viewed by either of the attributes mentioned in the title. It would be nice to be able to sort the books in the collection.

For the read status, there could be an additional sort option - "read on" ascending/descending.

Originally created by @raviwarrier on GitHub (Sep 16, 2022). ### Describe the feature/enhancement Books may be added as one adds them to the library, but may need to be sorted/viewed by either of the attributes mentioned in the title. It would be nice to be able to sort the books in the collection. For the read status, there could be an additional sort option - "read on" ascending/descending.
adam added the enhancementbacklogsorting/filtering/searching labels 2026-04-24 23:15:13 +02:00
Author
Owner

@advplyr commented on GitHub (Sep 16, 2022):

This would need to change the order of the books in the collection. Is that what you mean or are you suggesting a temporary sort?

The temporary sort order I'm not sure how that would look in the interface. We would have to disable the drag sorting or something like that.

@advplyr commented on GitHub (Sep 16, 2022): This would need to change the order of the books in the collection. Is that what you mean or are you suggesting a temporary sort? The temporary sort order I'm not sure how that would look in the interface. We would have to disable the drag sorting or something like that.
Author
Owner

@raviwarrier commented on GitHub (Sep 17, 2022):

This request is for temporary, automatic sort. I'll give you a use case:

Yesterday, I had about 6 hours to spare and wanted to find a book that I could finish in that span. I had to scan my collection up-down twice to find books that match my time requirement (first scan) and then again between the (mentality) shortlisted books (with their info) to see which I preferred more.

I know it doesn't seem like a big deal, and TBH it's not; it's just a nice to have feature that saves users some time to find a book in the collection.

@raviwarrier commented on GitHub (Sep 17, 2022): This request is for temporary, automatic sort. I'll give you a use case: Yesterday, I had about 6 hours to spare and wanted to find a book that I could finish in that span. I had to scan my collection up-down twice to find books that match my time requirement (first scan) and then again between the (mentality) shortlisted books (with their info) to see which I preferred more. I know it doesn't seem like a big deal, and TBH it's not; it's just a nice to have feature that saves users some time to find a book in the collection.
Author
Owner

@raviwarrier commented on GitHub (Sep 17, 2022):

The individual drag handle could be shown only when the user selects 'rearrange' mode, along with multi-select options. In normal mode, one should be able to sort.

This would be similar to how it's in the library view. Normal mode= sortable list, while in select mode =multi-select for editing/deleting possible.

@raviwarrier commented on GitHub (Sep 17, 2022): The individual drag handle could be shown only when the user selects 'rearrange' mode, along with multi-select options. In normal mode, one should be able to sort. This would be similar to how it's in the library view. Normal mode= sortable list, while in select mode =multi-select for editing/deleting possible.
Author
Owner

@advplyr commented on GitHub (Sep 17, 2022):

Library view is completely different from collections because books in a collection have an index position stored. You drag the books in the order you want them to be and their position is saved that way. This will eventually be used for the queue feature in the audio player.

Plex doesn't have sort options for collections either because they are done in a similar way. I understand the use-case for temporarily sorting a collection but I just can't think of a good way to implement this in the UI that would make sense. I'm not sure if I explained that well. I'm open to suggestions

@advplyr commented on GitHub (Sep 17, 2022): Library view is completely different from collections because books in a collection have an index position stored. You drag the books in the order you want them to be and their position is saved that way. This will eventually be used for the queue feature in the audio player. Plex doesn't have sort options for collections either because they are done in a similar way. I understand the use-case for temporarily sorting a collection but I just can't think of a good way to implement this in the UI that would make sense. I'm not sure if I explained that well. I'm open to suggestions
Author
Owner

@raviwarrier commented on GitHub (Sep 17, 2022):

You are the boss, buddy. You know the system better than most, so I will take your word for it. As I mentioned, this is a nice-to-have feature and low priority (at least for me)...

How about this:
Since, it's index based positioning, how about making the sort use the same principle. People can manually rearrange (change index of the book) or the system can automatically rearrange based on sort params (again, rearrange the index of the books).

It won't be temporary, but at least the user gets the choice how the books in their collection should be arranged.

@raviwarrier commented on GitHub (Sep 17, 2022): You are the boss, buddy. You know the system better than most, so I will take your word for it. As I mentioned, this is a nice-to-have feature and low priority (at least for me)... How about this: Since, it's index based positioning, how about making the sort use the same principle. People can manually rearrange (change index of the book) or the system can automatically rearrange based on sort params (again, rearrange the index of the books). It won't be temporary, but at least the user gets the choice how the books in their collection should be arranged.
Author
Owner

@raviwarrier commented on GitHub (Sep 17, 2022):

Arrangement options could:

  1. Manual
  2. Automatic - By Title (ascending/descending)
  3. Automatic - By Duration (a/d)
  4. Automatic - By Status (read/unread) [if unread before read, than the read titles could be in descending order (automatically) - recently read on top, if unread after read, then read titles could be in ascending order - chronological - earlier read on top, recently read further down in the list. == this sub-sort, if difficult to implement, can be ignored]

Any of these would trigger re-indexing function.

@raviwarrier commented on GitHub (Sep 17, 2022): Arrangement options could: 1. Manual 2. Automatic - By Title (ascending/descending) 3. Automatic - By Duration (a/d) 4. Automatic - By Status (read/unread) [if unread before read, than the read titles could be in descending order (automatically) - recently read on top, if unread after read, then read titles could be in ascending order - chronological - earlier read on top, recently read further down in the list. == this sub-sort, if difficult to implement, can be ignored] Any of these would trigger re-indexing function.
Author
Owner

@raviwarrier commented on GitHub (Sep 17, 2022):

image

This is how I arrange my books in the collection.

@raviwarrier commented on GitHub (Sep 17, 2022): ![image](https://user-images.githubusercontent.com/42061703/190831190-0c72e676-e3ca-47c9-a5e1-d67e5f94be55.png) This is how I arrange my books in the collection.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf#638