Skip to content
Snippets Groups Projects
DESIGN.asciidoc 1.78 KiB

validate_workflows

Intro

A cli tool which uses different validators to validate workflows.

design goals

  • simple use

  • bash only

  • no config file

  • statistic output for each workflow

cli commands

  • --help - help output

  • --watch-folder=DIR - watches folder for files which should be evaluated

  • --result-folder=DIR - target folder to store validation results

  • --files-mode=[sort|delete|nothing] - if sort it sorts files to valid-folder and invalid-folder, if delete, it removes checked files, if nothing, files are untouched, delete is default

  • --valid-folder=DIR - if --files-mode=sort it moves files from watch-folder to valid-folder

  • --invalid-folder=DIR - if --files-mode=sort it moves files from watch-folder to valid-folder

  • --statistics - print a statistic

  • --mode=[auto, mediathek, fotothek, save, kitodo, digas] - the mode auto tries to check files based on file endings and best guess. The other modes are concrete workflow names.

  • --daemon - starts a daemon, works only with delete mode

  • --stage=[current,upcoming,any] - valides with current or upcoming profile /validator or any if any is valid

  • --pipe - use program as a filter

The tool used the following files:

  • ${HOME}/.cache/validate_workflows/statistics.cnt

  • /var/lock/validate_workflows.lock

Statistics

we need following criteria:

  • last_delta_t

  • avg_delta_t

  • stddev_delta_t

  • avg_duration

  • stddev_duration

  • cnt_valid_$filetype

  • cnt_invalid_$filetype

  • cnt_valid_workflow

  • cnt_invalid_workflow

  • ratio_valid_$filetype

  • ratio_invalid_$filetype

  • ratio_valid_$filetype by date

  • ratio_invalid_$filetype by date

Could result in csv table for each file scan

date | cnt_valid | cnt_invalid | duration | filetype | workflow | stage

Ideas

  • env variables for profiles