[Feature Request] Attach supplemental files to books
I have multiple types of books that have supplemental materials, in addition to the main PDF file:
- TTRPG rulebooks with additional maps (image files), errata (additional pdf) or "Web Enhancements" (also another PDF).
- Programming books with Code snippets (usually a ZIP file)
I would like to be able to not store these items as a separate "Thing" in the Library, but attach it to the main book. Calibre does something like this with "Data Files", but doesn't display them in the UI, just buried in the metadata menu. Kavita tracks "series" as the primary item and has multiple books in a series. AudioBookShelf can have multiple files for a book and can mark the primary element.
Could be something like this:
or maybe under the summary?
Oh, turns out this feature is already mentioned as an "advanced use case" in #221
I assume these supplemental files (maps, code, errata, etc.) are typically stored in the same folder as the main book file? The challenge with Booklore right now is that it doesn’t maintain or rely on folder structures, it treats each book file as an independent entity during import.
So in scenarios where users have a flat directory (i.e., all books in one folder), it would be difficult to determine which files are supplemental and which are standalone books. That raises a few questions: • Would you expect Booklore to auto-detect these supplemental files based on naming conventions or file extensions? • Should this feature be opt-in per library or per import? • Would it help if Booklore let you manually attach supplemental files to a book post-import?
I’m trying to understand how best to design this so it works well for both organized and flat file structures. Let me know how you envision using it, and I’d be happy to explore it further!
Right now I usually have the supplemental files sitting next to the main file, just with some addition to the filename:
In my (not processed with any management tool) collection these files now share a folder "by topic", i. e. "D&D Forgotten Realms" or "Python". But I am very much willing to adjust my folder structure in the future for better handling.
Your questions are very valid. I hadn't really thought about the workflow, yet.
- In a setup with individual folders per Book it would be nice to have Booklore autodetect the "connection" of the books. Maybe the largest file (or most pages) would be the "primary" file and the others are supplementals?
- In a flat setup this isn't really feasible to do automatically.
- Having a manual "attach to other book" feature would be totally fine (by me)
EDIT: I tested around with Kavita. I have one book in the collection
and there are 3 PDFs in there
To get this working I had to mess with the PDF metadata of the files and make them multiple issues of the same "Series". This whole "Everything is a Series" behavior of Kavita is a crutch here.
I don't think auto-detection can work well in this use case, but I can see users manually linking books togeter (i.e. "Add as supplemental" button), that would hide the supplemental materials from the main view and link the book and its supplemental materials together.
I personally feel that multimedia (Non-Ebook/text) handling is currently out of scope for Booklore. Other selfhosted programs such as Nextcloud can handle groups of files like this and allow viewing them through a webapp.
Also, the series function can effectively handle supported "supplemental" file types. Using series entries like 1.01, 1.1 and 1.21.
@adityachandelgit I think is done by my PRs: #870
Implemented in https://github.com/booklore-app/booklore/pull/870