The process instance page offers a Signal action on a parked token, but it resumes the token with no outcome. A wait node's conditional outgoing flows then do not match the branch the operator intended, so the token falls through to the default arc, often straight to completion. For a wait node with real branches (for example paid / cancelled / back) a no-outcome signal is almost never what the operator wants.
Proposed change
Replace the one-click signal with a small form that lists the parked node's outgoing branches and lets the operator pick one.
- The branches are read from the node's outgoing flows: each flow with a comparison condition becomes a choice, labelled with the flow label.
- Choosing a branch signals the token with that condition's variable set to its value, so the chosen flow matches and the token follows it.
- An "Advance with no outcome" choice is kept for a node whose default arc is unconditional, preserving today's behaviour.
Scope
orchestra_ui only: the signal route becomes a form, reading the outgoing flows via the workflow definition and resuming through the existing engine signal(). No engine change.
Issue fork orchestra-3606144
Show commands
Start within a Git clone of the project using the version control instructions.
Or, if you do not have SSH keys set up on git.drupalcode.org:
Comments
Comment #3
mably commentedOpened MR !216 (git.drupalcode.org/project/orchestra/-/merge_requests/216): the Signal action becomes a form that lists the parked node outgoing branches (its equality comparison flows) and signals with the chosen flow variable set to its value, so the operator drives the token down a specific branch instead of resuming with no outcome. An "Advance with no outcome" choice keeps the prior behaviour. Covered by a kernel test.
Comment #5
mably commented