Closed sallain closed 3 weeks ago
A thought on this: if we solve this in the Identify SIP structure activity, then that task starts to duplicate the function of the Validate structure activity. It also sounds like the Validate Structure activity DID in fact notice that the top-level content directory was missing, but processing continued (to see if there were other errors).
Right now, the validate structure activity is just looking for specific top-level directories. It would be much improved if it actually used the structure in the metadata files of the SIP to compare against the actual SIP structure, and use that for validation - this would be a more robust check. We can discuss the complexity of this internally, and file a separate issue if agreed.
Additionally, it seems like we are going a bit too far before stopping. We should run all validation checks (metadata, structure, file formats), and if there are any errors, STOP before trying to write a PREMIS file, fail the ingest, and report to the user.
Tested and Enduro is catching empty directories and missing content
Describe the bug
Christa uploaded a package with the following structure:
It's missing the content directory that we would normally expect to find at the top level of the tree. Temporal shows that it was correctly identified (
"Type": "VecteurSIP"
) and that the content folder is missing ([{"Failures":["Content folder is missing"]}]
). However, a few activities later, Enduro tried to create the premis.xml and save it to the content directory, resulting in a failure:To Reproduce
Steps to reproduce the behavior:
Expected behavior
I expect to see the
Identify SIP structure
job displayed in the Enduro UI with a failure message indicating that the content directory is missing.Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.