Dear ZIM hackers,
I recently improved the Kiwix HTTP software called kiwix-serve. Small reminder: this software is a HTTP server able to deliver ZIM file contents, so it acts as a Web server. Kiwix-serve has the new ability to deal with many ZIM files at the same time (so with only one binary instance). That means: you have on a same Web server contents belonging to many different ZIM files. You have a demo here: http://library.kiwix.org
Both, ZIM files we make at Kiwix and ZIM files generated from Wikipedia, have articles HTML with absolute internal URLs. That means, in the HTML of articles, for a link pointing to the article "Wikipedia" (this is an example), we will have a URL like "/A/Wikipedia" (or "/A/Wikipedia.html" in my case, but this does not matter).
Until now, this was not a problem because we always had a "one by one" usage of ZIM files: the context was clear. But now, in my case, I need to specify with which ZIM file I want to deal. If I want to open the "Wikipedia" article in WPEN, I should have something like that: http://library.kiwix.org/wikipedia_en_all_nopic/A/Wikipedia.html
Here is the problem: I have HTML code with URLs looking like "/A/Wikipedia.html" and I need something "/wikipedia_en_all_nopic/A/Wikipedia.html". I have found a workaround by rewriting on the fly the URLs but this is a ugly solution which is absolutely not sustainable.
As far as I know, we do not have any specification relating to that. To my opinion, absolute internals URLs should be forbidden. If we continue with my example: "/wikipedia_en_all_nopic/A/Wikipedia.html" ; "wikipedia_en_all_nopic" is something decided by the kiwix-serve operator, not something that should be imposed by the ZIM publisher. So, the publisher can not assumed what could/should be the full absolute path, so should not use absolute paths for internal URLs. So, URLs should be relatives and I only see two options (I continue with my example): if you are in the same namespace, simply use "Wikipedia.html" otherwise come back to the relative root of the file "../A/Wikipedia.html".
Before starting to fill a feature request for the Mediawiki:Collection extension and patching my own ZIM generation scripts, I think we should discuss and take a decision about that (and also update afterward the specs. on the wiki). So I wait to your feedbacks.
Regards Emmanuel