dd-validate-bagpack

Checks if a bag conforms to the BagPack specifications and the DANS BagPack profile.

Purpose

This service validates BagPacks according to the BagPack specifications and the DANS BagPack profile to ensure that they can be properly processed by dd-transfer-to-vault.

Interfaces

This service has the following interfaces:

interfaces

Provided interfaces

Command interface

  • Protocol type: HTTP
  • Internal or external: internal
  • Purpose: to receive commands to validate BagPacks and report the results

BagPacks

  • Protocol type: Shared filesystem
  • Internal or external: internal
  • Purpose: to receive BagPacks from other services for validation

Admin

  • Protocol type: HTTP
  • Internal or external: internal
  • Purpose: application monitoring and management

Processing

The service receives requests for validation via the command interface. Each request contains the path to a BagPack on the shared filesystem. The client can track the progress of the validation by requesting the status of the validation using the command interface.

A validation task runs a BagValidatorRule for each rule defined in the DANS BagPack profile, provided that the rule is specified as a " MUST". Rules that are specified as "SHOULD" or "MAY" are not validated. Rules that depend on other rules passing are only validated if those other rules have passed. When all applicable rules have been validated, a validation result is generated. The result contains the overall validation status (compliant or not), as well as a list of rule violations.

Tasks can be run in parallel, depending on the configuration of the service, see validation.taskQueue in the configuration source file for details.