Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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)

(not done)

Valid: number of objects in the OCFL repository is equal to the number of objects in the Fedora 3 repository

Validate: object IDs (tick)

(not done)

Valid: every object in the OCFL repository has the same ID as its corresponding object in the Fedora 3 repository.

...

  • lastModifiedDate (tick)
  • createdDate (tick)
  • ownerId (error) (tick)
  • label (error) (tick)state (error)
  • state (tick)

Note that Fedora 3 content models will be verified as part of the examination of the RELS-EXT datastream (lower-level validation). 

...

Datastream Version Content

Validate: datastream version metadata matches corresponding OCFL version

Valid: The version of the OCFL <DSID>.nt metadata  matches the current same version of the Fedora 3<DSID> metadata\

F3 Type Key =  ("I" - Inline, "M" - managed "E" - external, "R" - redirect)

  • size (tick)  : M only
  • mimeType (error) (* hold off on this one)
  • state (tick) (lower priority if it is not trivial)
  • messageDigest (error)
  • size (error)
  • mimeType (error)
  • state (error)
  • title (error)
  • identifier (DSID) (error) (tick)
  • lastModified (tick)
  • created (tick)
  • externally referenced content (URI) (error) (Type E and R only)


Validate: datastream size (error)

F3 managed (type "M") datastreams  ONLY  ((ie not inline XML):

Valid: the size of the HEAD version of the datastream in OCFL matches the size of the datastream on disk in the Fedora 3 repository  repository (tick)

Valid: the the size of the HEAD version of the datastream in OCFL recorded in in <DSID>.nt matches the size of the OCFL file on disk (error)


Validate:  datastream checksum (error)

Valid: the algorithm type and checksum value of the datastream recorded in the HEAD version of OCFL <DSID>.nt metadata file matches the type and value of the checksum for the datastream in the Fedora 3 repository

(tick)

F3 managed (type "M") datastreams  ONLY  ((ie not inline XML): (tick)

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 .(tick)Valid: the checksum of the HEAD version of the datastream file in OCFL matches the checksum value recorded in the corresponding <DSID>.nt metadata file, when calculated using the algorithm recorded in the metadata file

Versions

Validate: object versions   (N/A)

...

Valid: each datastream version in the OCFL object has a corresponding version in the Fedora 3 repository, as determined by matching the datastream creationDate recorded in the OCFL version <DSID>.nt file to a datastream version creationDate in the Fedora 3 repository

Only validate the most recent version (tick)

Command line flag for disabling non-head version checks. 

Other Requirements

Report (tick)

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.

Resume from object

HTML (tick)

TSV (tick)The tool should allow the user to start a new validation process from a specified object id.

Validate objects in list (tick)

The user should be able to provide a list of object IDs to include in a validation routine.

Validate all objects (tick)

The user should be able to instruct the validator to validate all objects in the repository.


(warning) Highest priority