...
Brief outline of specifications to validate a Fedora 3 to OCFL migration. The validationv validation tool should begin with coarser tests, then progressively handle finer-grained tests.
...
Validate: number of objects (optional validation enabled by command line flag)
![(tick)](/s/h9vz60/9012/1phy4ty/_/images/icons/emoticons/check.svg)
Valid: number of objects in the OCFL repository is equal to the number of objects in the Fedora 3 repository
Validate: object IDs
![(tick)](/s/h9vz60/9012/1phy4ty/_/images/icons/emoticons/check.svg)
Valid: every object in the OCFL repository has the same ID as its corresponding object in the Fedora 3 repository.
...
- lastModifiedDate
- createdDate
- ownerId
- label
state
(lower priority if it is not trivial)
- state
Note that Fedora 3 content models will be verified as part of the examination of the RELS-EXT datastream (lower-level validation).
...
F3 Type Key = ("I" - Inline, "M" - managed "E" - external, "R" - redirect)
- size
: M only (certainly)
- mimeType
(* hold off on this one)
- state
(lower priority if it is not trivial)
- title
- identifier (DSID)
- lastModified
- created
For external and redirect references (F3 "type" value = E,R ):
...
- externally referenced content (URI)
(Type E and R only)
Validate: datastream size
size
F3 managed (type "M") datastreams ONLY ((ie not inline XML):
Valid: the size of the version of the datastream in OCFL matches the size of the datastream on disk in the Fedora 3 repository repository
Valid: the size of the version of the datastream in OCFL recorded in <DSID>.nt
matches the size of the OCFL file on disk
Validate: datastream checksum
![(tick)](/s/h9vz60/9012/1phy4ty/_/images/icons/emoticons/check.svg)
F3 managed (type "M") datastreams ONLY ((ie not inline XML):
Compare the F6 checksum with the corresponding checksum of the F3 datastream version. The latter will need to be generated using the same algo used for the F6 checksum.
Optional flag to allow users to skip this checksum validating step (as it may be resource/time intensive) : checksumming is turned off by default .
Versions
Validate: object versions (N/A)
...
Only validate the most recent version
![(tick)](/s/h9vz60/9012/1phy4ty/_/images/icons/emoticons/check.svg)
Command line flag for disabling non-head version checks.
...
The results of a validation should provide a report that allows the user to understand an overall summary of the results, lists of error types by count, the list of objects by error type, summary of errors by object and detailed validation logs by object.
HTML
TSV
Validate objects in list
![(tick)](/s/h9vz60/9012/1phy4ty/_/images/icons/emoticons/check.svg)
The user should be able to provide a list of object IDs to include in a validation routine.
...