Skip to content

Access books using a metadata-based ID #1057

@rgaudin

Description

@rgaudin

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?

  • The bookName to a book is based on the filename on disk at time of addition to kiwix-serve. This is thus somewhat volatile.
  • The 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:

  • known the filename passed to kiwix-serve
  • duplicate and maintain part of libkiwix code to generate the 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.

Metadata

Metadata

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions