archivematica / Issues

Issues repository for the Archivematica project
GNU Affero General Public License v3.0
16 stars 1 forks source link

Problem: Archivematica does not validate the AIP METS #153

Open jrwdunham opened 6 years ago

jrwdunham commented 6 years ago

Please describe the problem you'd like to be solved.

At some point after the AIP METS is generated, Archivematica should validate the METS file created.

Describe the solution you'd like to see implemented.

Add a new METS Validation micro-service after METS generation or add to the Create AIP METS client script so that validation is performed after METS creation.

Describe alternatives you've considered.

Continue to manually validate METS files as part of manual acceptance testing.

Additional context

METS Reader & Writer already has METS validation functionality so much of the work here is already done.


For Artefactual use: Please make sure these steps are taken before moving this issue from Review to Verified in Waffle:

ross-spencer commented 6 years ago

Related to: https://github.com/archivematica/Issues/issues/131

ross-spencer commented 6 years ago

For users looking at this ticket, manual normalization can be achieved when the ProcessingMCP.xml is configured with None for Store AIP. At that decision point they will be presented with a review option, which will bring up a screen that looks like this:

image

Double-clicking on the file that ends: .xml.validatorTester.html will take them to a screen that looks as follows:

image

The METS contents are available there to be validated, the results (for an invalid file) look like:

image

This is an exxternal result though via: http://pim.fcla.edu/validate#input-direct

ross-spencer commented 6 years ago

Regarding the possible solution, then I believe there may be another alternative, which is to take the existing create_mets_v2.py module, and refactor it to use metsrw. (This is a suggestion following an understanding of legacy work in this area). It seems reasonable at the end of that microservice to then call validate mets from the metsrw library.

At that point, if the mets were not to validate, the service could fail, and the user would then have to consider what to do next from there.

ross-spencer commented 6 years ago

Related to: https://github.com/artefactual/archivematica/issues/1050