kiwix / libkiwix

Common code base for all Kiwix ports
https://download.kiwix.org/release/libkiwix/
GNU General Public License v3.0
118 stars 56 forks source link

Access books using a metadata-based ID #1057

Open rgaudin opened 7 months ago

rgaudin commented 7 months ago

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?

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:


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.

kelson42 commented 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.

rgaudin commented 7 months ago

13.4!

kelson42 commented 7 months ago

13.2.0, sorry my bad.