Skip to content

Handle more metadata at title level #292

@benoit74

Description

@benoit74

While discussing #88 with @kelson42, we came to the conclusion that we need to handle way more metadata at CMS title level: in addition to the Name (which is very important when it comes to matching books with titles), a title must have many metadata. Some mandatory: Title (sic), Creator, Publisher, Description, Language, Illustration_48x48@1. Some optional (can be blank) : LongDescription, License, Relation, Source.

This means mostly all standard ZIM metadata besides Flavour (a title has multiple flavours), Tags (tags vary from book to book, e.g. _pictures:yes/no, so we keep this aside for now) and dynamic values like Date, Counter, Scraper (which we do not want to alter but rather keep as-is). Non-mandatory illustrations are also not handled at title level for the time being, future on this is not clear enough at this stage.

All books in a single title will share the same metadata values for metadata present at title level.

Whenever a book arrives in the CMS, there is two different situations.

First, if title has no book yet, then title metadata are automatically populated from book metadata.

Second, if title already has at least one book, then its metadata are already populated (by a former book) and the CMS hence compares new book metadata with title metadata. When they match, book continues with the rest of its lifecycle. When they do not match, book is forced through staging area with a status indicating that metadata do not match.

User can decide to update title metadata. A convenient UI allowing to easily compare metadata between book and title is necessary, and it should allow to easily transfer book metadata to title, only by one or all metadata; book inbox UI should also clearly display there is a metadata issue - note that there will be many other checks to display once M4 is completed. User can then still move the book to production manually (no matter if he decide to override title metadata or not).

User can edit title metadata directly from title edit (we should move this edit from current popup to a tab, like on Zimfarm recipe edition).

When generating the XML catalog, metadata from the title have precedence (higher priority) over metadata from the book (which are unused), even if "blanked" for non-mandatory ones. Only metadata not handled at title level come from the book.

@elfkuzco do you feel like this could be ready to implement?

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions