= 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 == related files 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