WorkOrders
Configuration reference for database-backed approvals and order execution with WorkOrders.
Introduction
Section titled “Introduction”The WorkOrders module stores approval orders, their actors, state, and specification files. It deploys the command, query, task, and file-management components used to create, attest, retrieve, and execute orders.
The module uses JDBC for persistence, Liquibase for database migrations, and Pipes for configured accept and reject actions.
Configuration
Section titled “Configuration”| Name | Description | Default | Mandatory |
|---|---|---|---|
namespace | Namespace shared by the WorkOrders components and their event-bus addresses. | "" | |
db_driver | Fully qualified JDBC driver class name. | "" | |
jdbc.url | JDBC connection URL. | "" | |
jdbc.username | Database user name. | "" | |
jdbc.password | Database password. | "" | |
encryption_key | Secret used to initialize encryption for protected database values. | "" | |
file_source_dir | Directory from which order specification files are read. | "" | |
file_storage_dir | Directory in which order specification files are stored. | "" | |
copy_files | Keeps the source file after storing a specification. When false, the file is moved. | true | |
order_executions | Batch configurations for executing accepted and rejected orders. | [] | |
order_executions[].order_types | Order types handled by this batch configuration. An empty list matches all types. | [] | |
order_executions[].accept_pipe | Pipe invoked for accepted orders. | "" | |
order_executions[].reject_pipe | Pipe invoked for rejected orders. | "" | |
order_executions[].interval_millis | Interval between order-execution polls, in milliseconds. | 1325 | |
order_executions[].batch_size | Maximum number of orders processed by one configured execution batch. | "" |
{ "name": "WorkOrders", "enabled": true, "config": { "namespace": "default", "db_driver": "com.microsoft.sqlserver.jdbc.SQLServerDriver", "jdbc": { "url": "jdbc:sqlserver://db.example.com:1433;database=flow;encrypt=true", "username": "flow", "password": "<database password>" }, "encryption_key": "<encryption key>", "file_source_dir": "/var/lib/fortifiedid/workorders/incoming", "file_storage_dir": "/var/lib/fortifiedid/workorders/storage", "copy_files": true, "order_executions": [ { "order_types": ["CreateAccount"], "accept_pipe": "create_account_accept", "reject_pipe": "create_account_reject", "interval_millis": 30000, "batch_size": 500 } ] }}File handling
Section titled “File handling”The module creates file_source_dir and file_storage_dir when they do not exist. Ensure that the server process can read and write both directories.
Order specification files are copied to storage by default. Set copy_files to false only when the source file should be removed after it has been stored.