Brief outline of specifications to validate a Fedora 3 to Fedora 6 migration. The validation tool should begin with coarser validations, then progressively handle finer-grained validations.
TBD: specify the validations to be performed as a runtime parameter (list)?
Objects
Validate: number of objects
Valid: number of objects in the OCFL repository is equal to the number of objects in the Fedora repository.
Validate: object IDs
Valid: every object in the OCFL repository has the same ID as its corresponding object in the Fedora repository.
Object Content
Validate: object metadata
Valid: The HEAD version of the OCFL object.nt
metadata (HEAD determined from the object's top-level inventory.json
manifest) matches the current version of the Fedora object metadata
- lastModifiedDate
- createdDate
- ownerId
- label
- state
Note that Fedora 3 content models will be verified as part of the examination of the RELS-EXT datastream (lower-level validation).
Validate: list of datastreams
Valid: every datastream listed in the object's top-level (HEAD) inventory.json
manifest matches the list of current (HEAD) version of the datastreams in the Fedora repository.
Datastream Content
Validate: datastream metadata
Valid: The HEAD version of the OCFL <DSID>.nt
metadata (HEAD determined from the object's top-level inventory.json
manifest) matches the current version of the Fedora <DSID> metadata