mirror of
https://github.com/advplyr/audiobookshelf.git
synced 2026-05-30 23:40:40 +02:00
Enhancement: Readlist and/or favorites (Collections) #76
Closed
opened 2026-04-24 22:57:47 +02:00 by adam
·
20 comments
No Branch/Tag Specified
master
book_tags_genres_dedupe
episode_download_fallback
Issue-4540-SortBy-StartedDate-and-FinishedDate
episode_meta_tagging
fix_authorize_race_condition
redirect_transcode_requests
progress_updated_sort
fix_ereader_socket_event
fix_change_empty_root_password
fix_podcast_session_track_index
fix_set_token
session_modal_user
localize_durations
fix_oidc_create_user
jwt_auth_refactor
fix_scanner_deleting_single_file_books
fix_mediaprogress_updatedat_2
experimental_next_client
podcast_episode_duration
episode-timestamps-clickable
book_author_secondary_sort_title
podcast_useragents
pathexists_user_access
fix_pathexists_join
book_author_secondary_sort
clean_duplicate_mediaprogress
sanitize_html_description
trix_prevent_attachments
check_path_api_fix
fix_mediaprogress_updatedat
increase_express_json_limit
fix_dockerfile_nunicode
search_episodes
audiobook_tools_update
episode_secondary_sorts
hls_stream_url_update
new_session_track_endpoint
audiobook_tools_enhancements
watcher_rescans_update
player_track_tooltip
fix_exclude_prefixes_crash
socket_item_events
fix_podcast_episode_scanner_promise
new_stats_controller
count_cache_for_userpermissions
parsing-opf-v3
validate_migration_files
fix-quick-match-all-crash
fix-chapter-end-sleep-timer
stringify_sequelize_query
remove-col-ambiguity
fix_next_prev_edit_description
details_trim_whitespace
fix_content_url_basepath
fix_logger_fatal
progress_bar_visibility
batch-edit-populate-map-details
feed_generator_updates
bookmark-modal-updates
migrate-library-item-in-scanner
migrate-new-library-items
migrate-podcasts-new-library-item-2
migrate-podcasts-new-library-item
fix-remove-episode-from-playlist
playback-session-use-new-library-item
refactor-library-item
fix-heatmap-caption
feed-episodes-upsert
share-media-player-media-session-api
remove-old-playlist
remove_old_collection_object
plugin-implementation-demo
feed_migration
refactor-feeds-from-item
fix_remove_authors_no_books
v2.17.3-fk-constraints-migration
migrations-first-upgrade
sqlite_2
feature/nuxt-target-server
waveform
sqlite
playlists
video
v2.35.1
v2.35.0
v2.34.0
v2.33.2
v2.33.1
v2.33.0
v2.32.1
v2.32.0
v2.31.0
v2.30.0
v2.29.0
v2.28.0
v2.27.0
v2.26.3
v2.26.2
v2.26.1
v2.26.0
v2.25.1
v2.25.0
v2.24.0
v2.23.0
v2.22.0
v2.21.0
v2.20.0
v2.19.5
v2.19.4
v2.19.3
v2.19.2
v2.19.1
v2.19.0
v2.18.1
v2.18.0
v2.17.7
v2.17.6
v2.17.5
v2.17.4
v2.17.3
v2.17.2
v2.17.1
v2.17.0
v2.16.2
v2.16.1
v2.16.0
v2.15.1
v2.15.0
v2.14.0
v2.13.4
v2.13.3
v2.13.2
v2.13.1
v2.13.0
v2.12.3
v2.12.2
v2.12.1
v2.12.0
v2.11.0
v2.10.1
v2.10.0
v2.9.0
v2.8.1
v2.8.0
v2.7.2
v2.7.1
v2.7.0
v2.6.0
v2.5.0
v2.4.4
v2.4.3
v2.4.2
v2.4.1
v2.4.0
v2.3.5
v2.3.4
v2.3.3
v2.3.2
v2.3.1
v2.3.0
v2.2.23
v2.2.22
v2.2.21
v2.2.20
v2.2.19
v2.2.18
v2.2.17
v2.2.16
v2.2.15
v2.2.14
v2.2.13
v2.2.12
v2.2.11
v2.2.10
v2.2.9
v2.2.8
v2.2.7
v2.2.6
v2.2.5
v2.2.4
v2.2.3
v2.2.2
v2.2.1
v2.2.0
v2.1.5
v2.1.4
v2.1.3
v2.1.2
v2.1.1
v2.1.0
v2.0.24
v2.0.23
v2.0.22
v2.0.21
v2.0.20
v2.0.19
v2.0.18
v2.0.17
v2.0.16
v2.0.15
v2.0.14
v2.0.13
v2.0.12
v2.0.11
v2.0.10
v2.0.9
v2.0.8
v2.0.7
v2.0.6
v2.0.5
v2.0.4
v2.0.3
v2.0.2
v2.0.1
v1.7.2
v1.7.1
v1.7.0
v1.6.0
v1.5.5
v1.5.0
v1.4.11
v1.4.9
v1.4.7
v1.4.6
v1.4.4
v1.4.2
v1.4.0
v1.4.1
v1.3.4
v1.3.3
v1.3.1
v1.2.8
v1.2.6
v1.2.5
v1.2.4
v1.2.1
v1.1.15
v1.1.14
v1.1.13
v1.1.12
v1.1.11
v1.1.10
v1.1.9
v1.1.8
v1.0.0
0.9.61-beta.0
0.9.61-beta
Labels
Clear labels
authentication
backlog
bug
chapter editor
config-issue
ebooks
encoding/embedding
enhancement
help wanted
listening sessions & progress
planned
possible plugin
progress sync
pull-request
sorting/filtering/searching
unable to reproduce
upload
users & permissions
waiting
Mirrored from GitHub Pull Request
No Label
Milestone
No items
No Milestone
Projects
Clear projects
No project
Assignees
adam (Adam Melkus)
Clear assignees
No Assignees
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: starred/audiobookshelf#76
Reference in New Issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @Jdiesel87 on GitHub (Oct 26, 2021).
It would be nice to be able to add books to a read list(s). I don't know if it makes sense to have both read lists and favorites but they would work essentially the same way, a button to toggle between added/not added. I don't know if I personally would benefit from multiple lists but some users may want the ability to create and name multiple lists which books can be added to. To take things a step further having the option to make lists public (shared with other users on the server) and private (only visible to the user who created it) would be really great.
Sorry lots to digest here, I was just thinking about what was missing from the home page and realized that I was wanting a way to highlight books of interest from my library.
@advplyr commented on GitHub (Oct 29, 2021):
There was some discussion about including an ability to make collections early on. What do you see would be the difference between tagging a group of books and adding them to a list?
I can think of one benefit being that with lists the order would matter, but I don't have a clear idea of what this would look like. Also, lists would be per-user whereas tags right now are stored on the book details.
Can you show in more detail what you are thinking this looks like?
@Jdiesel87 commented on GitHub (Oct 29, 2021):
I think collections, readlists, playlists and favorites are all the same things. Users will all use them slightly different. If you give them a versatile method the to create custom lists they will find creative ways to use it.
I see it as be being an icon in the book details screen where you can select it to pull up the option to add the current book to either an existing list or create a new list. Sorry for the crudely drawn examples.


One obstacle I see is that books could be part of multiple lists.
I see the lists being viewed by navigating to a tab on the homescreen where they would reside. There would need to be the option to delete and edit lists as well.
@Jdiesel87 commented on GitHub (Oct 29, 2021):
The collection workflow from Emby is what I had in mind and might be a little clearer to undstand



@advplyr commented on GitHub (Oct 29, 2021):
This is what I was thinking also. I don't have Emby, can you show me what it looks like when a movie is already in a collection? The icon you drew in your example, would that change if the book was already in a collection?
Also where do you stand on naming it "collections" or "lists". I think I'm leaning towards collections.
@Jdiesel87 commented on GitHub (Oct 29, 2021):
With Emby there is no icon, the option to add a item to a collection is buried in the three dot context menu. There is no way to visually tell if an item is part of a collection.
I think the term collections is more universal.
@p1xelll commented on GitHub (Nov 4, 2021):
First look:
Interactive prototype
Figma
Tomorrow the /collections page will be ready.
@advplyr commented on GitHub (Nov 4, 2021):
Beautiful, re-using the bookmarks modal will also speed things up.
Do you find the star ratings useful? I've not personally used them on my servers, but I also don't have many users on my servers. I would like to get some input on how many users would like this feature.
@p1xelll commented on GitHub (Nov 4, 2021):
I haven't finished the collections modal yet.
Personally, I never use star ratings. But I thought it might be interesting for some users. Then they can filter the books by rating.
@p1xelll commented on GitHub (Nov 5, 2021):
What would you like to see or change there?

Interactive prototype
You can change between pages using flow. You just need to open the sidebar.
Everything marked in blue is interactive. Just click on the screen and see what it is.
Edited: Maybe the blue marking is a bit confusing. But I can't fix that. I didn't make everything interactive because Figma is not suitable for that.
Etited 2: You can also use Figma
@advplyr commented on GitHub (Nov 5, 2021):
This is incredible, great job! I was able to figure out the blue actions and see everything just fine.
I love the idea of using the shelf label for the collection name. Do you think this could also work for Series?
Some questions about functionality:
This is what it looks like when hovering over a playlist item:
@advplyr commented on GitHub (Nov 5, 2021):
I'm not sure how sharing should work for users that are not the owner of the server.
I don't know if a server owner would want all their users to see a list of all the other users. I could be completely wrong about this though, would love some feedback from the server hosts on here.
@p1xelll commented on GitHub (Nov 5, 2021):
The user can listen to only those books that he has in the library. I meant that if I have a "top 30" collection and I have some other user who is interested in my "top 30" colection. So I can easily share it with him. The books he can't play will be greyed out.
I used two pictures side by side. I thought about using four but it was too big. Only if they cropped out part of the pictures. The user can change the title image I just forgot to add that option.
I first suggested something similar. It looked better but I wanted to simplify the work for you by using the same components. I'll add this variation in there as well.
It may also be for the series.
@advplyr commented on GitHub (Nov 5, 2021):
Sharing will need to be contained within the server. Sharing collections across servers will be too difficult to make consistent because a book does not have a single identifier.
Collections will also need to be per-library, so you can't add books from multiple libraries to a collection.
In this case every user shared on the collection would be able to play every book.
When you share a playlist in plex you are sharing it to another user on your server. Plex just uses email addresses so they will send an invite to the user if they aren't already on the server.
@advplyr commented on GitHub (Nov 5, 2021):
Alright so I went through Plex testing this out and I was wrong about how sharing works.
Plex uses authentication through their servers, so when you create an account it is on their server. Since every user has 1 account, it makes it easy for them to allow sharing between accounts. The downside is it also means all of your data on Plex is visible on their servers, giving them a lot of data to farm.
I don't think I want to go down that road with audiobookshelf, so I think we need to scrap sharing or think of another way to go about it.
@p1xelll commented on GitHub (Nov 6, 2021):
Update
Redesign of the collection page
Removal of description
Removal of sharing
Added option to change cover image
@p1xelll commented on GitHub (Nov 6, 2021):
@advplyr I can invite you to Figma. You'll be able to export icons, CSS, ...
@advplyr commented on GitHub (Nov 6, 2021):
Sure, you can invite advplyr@protonmail.com
It looks like you noticed I already included googles material design icons in the project, so any icons in there are already in the project.
https://fonts.google.com/icons
In a few places I also included other SVG icons.
I like the collection page list, that is what I was thinking.
Why did you remove the description?
@advplyr commented on GitHub (Nov 7, 2021):
Just pushed
v1.6.8where collections are in experimental features. Still a bunch of things left to do, but it is generally usable now. The biggest step remaining is going to be custom cover images because they will need their own directory in/metadata/collections.I think it is really looking and functioning great so far, thanks for your designs!
@p1xelll commented on GitHub (Nov 7, 2021):
I removed the description due to the fact that I think it will be an unused feature. But you can add it.
@advplyr commented on GitHub (Nov 8, 2021):
When I was implementing the Play button on the collection page I realized that the book list should show whether a book is read or not without hovering. I tried a slightly different design to show the read/not read button.
I still need to add the multi-select and edit covers. Testing is appreciated, I think it can be moved out of experimental as soon as it is stable.
This is
v1.6.11