Skip to content

[ZIM specification] Update specification so that the documentation of header.titlePtrPos reflects 6.3 behavior #999

@IMayBeABitShy

Description

@IMayBeABitShy

Hello,

Starting with ZIM specification version 6.3, the X/listing/titleOrdered/v0 title index has been removed. This is mentioned in the specification. However, the documentation of the header itself needs to be updated. Currently it says:

[...] This is considered as obsolete, readers should use X/listing/titleordered/v0 instead and fallback to titlePtrPos if entry is not present.

Now, this means that currently, the header documentation tells someone to check the documentation for the title index. That part of the documentation does not state anything about the entry title index being deprecated.

Now, the actual problem is that there's no documentation describing what the value of the header should actually be. Reading the libzim source code, the correct value should now be offset_type(-1) I think. The actual correct value should be described in the documentation because zimcheck still complains if the value is < mimelistPos.

So, to summarize:

  • the specification version 6.3 removed the v0 title index
  • the header documentation on the same page still refers to the v0 title index and does not mention the deprecation nor the actual value
  • the v0 title index documentation also does not mention the deprecation
  • zimcheck still complains about wrong values of the title index in the header

Proposed fix:

  • rewrite documentation of the ZIM header to remove the mention of the v0 title index and also describe the correct value, similar to layoutPage.
  • mention the deprecation of the v0 title index in the documentation of the v0 title index
  • perhaps remove or adjust the check of the position from libzim/zimcheck, though changing it to check against a specific value may cause it to wrongly label old ZIms as invalid.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions