[x] separate docker-compose files for Kitodo/Manager vs. Controller, e.g. docker-compose -f docker-compose.yml -f docker-compose-kitodo.yml -f ../ocrd_controller/docker-compose-controller.yml, or native controller docker-compose -f docker-compose.yml -f docker-compose-kitodo.yml -f docker-compose.override.yml – configuration mechanisms...
[ ] generalize error handling for script tasks in Production: differentiate between errors and asynchronous tasks (and thus allow actual error handling)
or alternatively, keep errors out of Production (task stays open until successful), and offer GUI in Manager for history, processing status, error monitoring and workflow modification+restart)
[x] refactor for_production.sh (functions, file includes) to make re-usable for different scenarios (for_presentation, ...)
[ ] smarter and more efficient processing in Controller
[x] to prevent oversubscription, use semaphores (via .profile for ocrd user)
[ ] or delegate to Nextflow as worfklow engine
[ ] or delegate to workflow server (i.e. ocrd workflow server + ocrd workflow client process instead of ocrd process), at least for preconfigured workflows
[ ] and/or delegate to processing server (i.e. ocrd-PROCESSOR --server HOST PORT WORKERS + ocrd workflow client process...)
[ ] more flexible workflows:
[x] advertise existing (installed) workflows in Production ("drop-down list")
[x] inherit workflows from preconfigured (installed or edited) templates, then copy to process directory
[ ] edit workflows in Production (simple text editor, perhaps syntax highlighting)
disown -a
?)docker-compose -f docker-compose.yml -f docker-compose-kitodo.yml -f ../ocrd_controller/docker-compose-controller.yml
, or native controllerdocker-compose -f docker-compose.yml -f docker-compose-kitodo.yml -f docker-compose.override.yml
– configuration mechanisms...or alternatively, keep errors out of Production (task stays open until successful), and offer GUI in Manager for history, processing status, error monitoring and workflow modification+restart)
ocrd-import
/workspace init
as part of for_production.sh, not of the workflow itselfocrd process
syntax instead of bare shell script (entails previous)ocrd validate tasks
before running--return --cleanup --transfer
etcocrd
user)ocrd workflow server
+ocrd workflow client process
instead ofocrd process
), at least for preconfigured workflowsocrd-PROCESSOR --server HOST PORT WORKERS
+ocrd workflow client process
...)