kitodo / kitodo-production

Kitodo.Production is a workflow management tool for mass digitization and is part of the Kitodo Digital Library Suite.
http://www.kitodo.org/software/kitodoproduction/
GNU General Public License v3.0
58 stars 65 forks source link

Metadata validation should also check for validity of parent processes #5280

Open BartChris opened 1 year ago

BartChris commented 1 year ago

Describe the bug When closing a task one can setup to validate the metadata before the task is closed. (See https://github.com/kitodo/kitodo-production/pull/2731). The validity check should probably be extended to all parent processes. Otherwise one can export a process and the export of the parent process will fail because of invalid metadata. This problem is increased by the fact that in case of a failed validation during export the whole process does not stop although no valid metadata is exported and the next workflow steps depending on the exported METS will fail. (see https://github.com/kitodo/kitodo-production/issues/5008)

Expected behavior A process should not be considered valid until the parent process is valid. At least in the case of a automatic check when the task gets closed.

Please specify the version of Kitodo.Production in which the bug was encountered 3.4.4-SNAPSHOT

BartChris commented 1 year ago

Labelling it as a feature is probably more correct. I see the main problem that the workflow is continued after the export even if an exception might occur here because of invalid process data. This could lead to all kinds of problems, similar to an export of unchecked image info descibed in: https://github.com/kitodo/kitodo-production/issues/5282#issuecomment-1208009121

matthias-ronge commented 1 year ago

Our definition—or at least, mine—for a “feature” is “something we never had before”. The new design of the issue input page here on GitHub now has automatically started tagging new issues as “bug”, so I changed that.

matthias-ronge commented 1 year ago

The proposal is difficult. What does an employee, who has taken on the metadata task, but cannot complete the task because the higher-level process has errors? However, the employee has no task for the higher-level process, so he cannot do anything here.