Open rgaudin opened 7 months ago
100% agree. A minima, at the core, any end-point should be available easily for a machine: ie. using the ZIM id.
Other URL/ZIM identifiers should be considered as aliases. Such aliases cozld be very important but this the topic of #864.
13.4!
13.2.0
, sorry my bad.
Although there are tickets that intersects with this discussion, such as #864; I'd like to express this one independently and clearly.
Request
Being able to build a kiwix-serve URL with only in-ZIM (thus Metadata) information.
Ideally, I'd like to be able to call
/viewer#{bookId}
or/content/{bookId}
and get to said book.bookId
here being the ZIM UUID.Why would one need this?
bookName
to a book is based on the filename on disk at time of addition to kiwix-serve. This is thus somewhat volatile.bookName
can be extracted from the OPDS catalog (link to/content/
), of a running kiwix-serve. Needs live-querying of kiwix-serve.Assuming I want to link to a specific content from outside of kiwix-serve ; if I can't rely on a running OPDS endpoint (as the libkiwix viewer does), I have to:
bookName
.Adding support for this seems quite simple.
If the BookName part of URL looks like a UUID, it can be tested first and if it matches, a redirection to the current format happen.
This would ensures continuity of current behavior and allows UUID-based link to be presented as human in URL of browsers.