kiwix / kiwix-tools

Command line Kiwix tools: kiwix-serve, kiwix-manage, ...
https://download.kiwix.org/release/kiwix-tools/
GNU General Public License v3.0
443 stars 85 forks source link

Clarify that conflict warning only regards bookPaths and not Name #596

Closed rgaudin closed 7 months ago

rgaudin commented 1 year ago

Documentation says:

ZIM names are expected to be unique across the library. Any name conflicts (including those caused by the usage of the -z/--nodatealiases option) are reported on STDERR but, otherwise, are ignored.

I find the wording (“otherwise, are ignored”) not clear about what to expect:

The problem is that there is no such warning on STDERR. See example below with a library using a duplicate name (properly applied to OPDS response) but no warning on the terminal

<?xml version="1.0" encoding="UTF-8" ?>
<library version="20110515">
    <book path="/Users/reg/Downloads/wikipedia_fr_test_2023-01.zim" id="c62de000-5a39-3ac3-6a47-aa028bfbf6c2" size="1221" url="https://download.kiwix.org/zim/wikipedia/wikipedia_fr_test_2023-01.zim.meta4" mediaCount="123" articleCount="4" favicon="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" title="Test" description="ZIM file for testing purpose" language="fra" creator="Wikipedia" publisher="Kiwix" name="YOLO" tags="wikipedia;_category:wikipedia;_details:yes;_ftindex:yes;_pictures:yes;_videos:yes" date="2023-01-24" faviconMimeType="image/png"/>
    <book path="/Users/reg/Downloads/wikipedia_en_ray_charles_maxi_2022-12.zim" id="7fae9f22-41a8-42b2-d60f-2b0e6c7c03c0" size="2602" url="https://download.kiwix.org/zim/wikipedia/wikipedia_en_ray_charles_maxi_2022-12.zim.meta4" mediaCount="149" articleCount="136" favicon="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" title="Ray Charles" description="Wikipedia articles about Ray Charles" language="eng" creator="Wikipedia" publisher="Kiwix" name="YOLO" flavour="maxi" tags="wikipedia;_category:wikipedia;_pictures:yes;_videos:no;_details:yes;_ftindex:yes" date="2022-12-29" faviconMimeType="image/png"/>
</library>
❯ kiwix-serve --library hop.xml
Loading the library from the following files:
    hop.xml
The library was successfully loaded.
The Kiwix server is running and can be accessed in the local network at: http://192.168.5.80:80
❯ http localhost/catalog/v2/entries
HTTP/1.1 200 OK
Access-Control-Allow-Origin: *
Cache-Control: max-age=0, must-revalidate
Connection: close
Content-Encoding: gzip
Content-Length: 954
Content-Type: application/atom+xml;profile=opds-catalog;kind=acquisition
Date: Tue, 24 Jan 2023 15:33:17 GMT
ETag: "1674574393921126.2/z"
Vary: Accept-Encoding

<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/terms/" xmlns:opds="https://specs.opds.io/opds-1.2" xmlns:opensearch="http://a9.com/-/spec/opensearch/1.1/">
  <id>48a732de-6e1e-63e3-afbe-28cb00fa5150</id>
  <link rel="self" href="/catalog/v2/entries" type="application/atom+xml;profile=opds-catalog;kind=acquisition"/>
  <link rel="start" href="/catalog/v2/root.xml" type="application/atom+xml;profile=opds-catalog;kind=navigation"/>
  <link rel="up" href="/catalog/v2/root.xml" type="application/atom+xml;profile=opds-catalog;kind=navigation"/>
  <title>All Entries</title>
  <updated>2023-01-24T15:33:17Z</updated>
  <entry>
    <id>urn:uuid:7fae9f22-41a8-42b2-d60f-2b0e6c7c03c0</id>
    <title>Ray Charles</title>
    <updated>2022-12-29T00:00:00Z</updated>
    <summary>Wikipedia articles about Ray Charles</summary>
    <language>eng</language>
    <name>YOLO</name>
    <flavour>maxi</flavour>
    <category>wikipedia</category>
    <tags>wikipedia;_category:wikipedia;_pictures:yes;_videos:no;_details:yes;_ftindex:yes</tags>
    <articleCount>136</articleCount>
    <mediaCount>149</mediaCount>
    <link rel="http://opds-spec.org/image/thumbnail" href="/catalog/v2/illustration/7fae9f22-41a8-42b2-d60f-2b0e6c7c03c0/?size=48" type="image/png;width=48;height=48;scale=1"/>
    <link type="text/html" href="/content/wikipedia_en_ray_charles_maxi_2022-12"/>
    <author>
      <name>Wikipedia</name>
    </author>
    <publisher>
      <name>Kiwix</name>
    </publisher>
    <dc:issued>2022-12-29T00:00:00Z</dc:issued>
    <link rel="http://opds-spec.org/acquisition/open-access" type="application/x-zim" href="https://download.kiwix.org/zim/wikipedia/wikipedia_en_ray_charles_maxi_2022-12.zim.meta4" length="2664448"/>
  </entry>
  <entry>
    <id>urn:uuid:c62de000-5a39-3ac3-6a47-aa028bfbf6c2</id>
    <title>Test</title>
    <updated>2023-01-24T00:00:00Z</updated>
    <summary>ZIM file for testing purpose</summary>
    <language>fra</language>
    <name>YOLO</name>
    <flavour/>
    <category>wikipedia</category>
    <tags>wikipedia;_category:wikipedia;_details:yes;_ftindex:yes;_pictures:yes;_videos:yes</tags>
    <articleCount>4</articleCount>
    <mediaCount>123</mediaCount>
    <link rel="http://opds-spec.org/image/thumbnail" href="/catalog/v2/illustration/c62de000-5a39-3ac3-6a47-aa028bfbf6c2/?size=48" type="image/png;width=48;height=48;scale=1"/>
    <link type="text/html" href="/content/wikipedia_fr_test_2023-01"/>
    <author>
      <name>Wikipedia</name>
    </author>
    <publisher>
      <name>Kiwix</name>
    </publisher>
    <dc:issued>2023-01-24T00:00:00Z</dc:issued>
    <link rel="http://opds-spec.org/acquisition/open-access" type="application/x-zim" href="https://download.kiwix.org/zim/wikipedia/wikipedia_fr_test_2023-01.zim.meta4" length="1250304"/>
  </entry>
</feed>
mgautierfr commented 1 year ago

The name here is a bit confusing. It is not the same as the name in the opds catalog. As said :

For a kiwix-serve started with a list of ZIM files, ZIM names are derived from the filename by dropping the extension and replacing certain characters (spaces are replaced with underscores, and + symbols are replaced with the text plus).

The "name" is inferred from the filename (and potentially dropping the date information if no --nodatealiases). This is the "name" you will found in the link in <link type="text/html" href="/content/wikipedia_fr_test_2023-01"/>

By default (without --nodatealiases), kiwix-serve generate aliases without date for all zim file. So wikipedia_fr_test_2023-01.zim has two names : wikipedia_fr_test_2023-01 and wikipedia_fr_test (the nodate alias) So requesting /content/wikipedia_fr_test_2023-01 or /content/wikipedia_fr_test returns the same thing. This is useful for link where we want url be valid even if we have updated the zim file.

What is printed on stderr is the conflict between the alias of two zim files : wikipedia_fr_test_2023-01.zim and wikipedia_fr_test_2022-01.zim (or any configuration where we could have a alias being the same as another name/alias)

"Ignored" means that the conflicting name (the last to add in the library) is not adding in the mapping. For the exemple just above we would have:

rgaudin commented 1 year ago

The name here is a bit confusing. It is not the same as the name in the opds catalog. As said :

For a kiwix-serve started with a list of ZIM files, ZIM names are derived from the filename by dropping the extension and replacing certain characters (spaces are replaced with underscores, and + symbols are replaced with the text plus).

I mentioned in the Issue title that I was using --library so I was expecting XML Name as the doc says:

For a kiwix-serve started with the --library option, ZIM names come from the library XML file.

I understand the behavior now ; thank you. If this last part applies only to the bookPath, it should be clearly stated I believe.

mgautierfr commented 1 year ago

I understand the behavior now ; thank you. If this last part applies only to the bookPath, it should be clearly stated I believe.

The "Zim name" is used in url and also in all query string taking a Zim name (for exemple in https://kiwix-tools.readthedocs.io/en/latest/kiwix-serve.html#catalog-v2-entries or https://kiwix-tools.readthedocs.io/en/latest/kiwix-serve.html#search). It is not related to the bookPath only.

rgaudin commented 1 year ago

Exactly my point! ZIM name references different thing depending on how kiwix-serve was started. That's fine and clear in the documentation.

But regardless of how kiwix-serve was started, conflict management only regards the kind of ZIM name that is filename-based (and used in URL ; that's why I called if bookPath). So the documentation is misleading because that conflict paragraph follows the ones that explain how ZIM name can be different.

veloman-yunkan commented 7 months ago

Exactly my point! ZIM name references different thing depending on how kiwix-serve was started. That's fine and clear in the documentation.

Unfortunately, it seems that the documentation doesn't agree with the code.

For a kiwix-serve started with the --library option, ZIM names come from the library XML file.

This statement appears to be wrong.

I am now working on fixing both the behaviour of kiwix-serve and its documentation. I will file a separate ticket about the discovered inconsistencies.

veloman-yunkan commented 7 months ago

See #663