Details
-
Fix
-
Status: Released (View Workflow)
-
Minor
-
Resolution: Fixed
-
None
-
None
Description
Current Situation
- Consider the following use case:
- A workflow using a single Notice Board in an ExpectNotices Instruction is deployed. The workflow is added an order that waits for the related Notice.
- The workflow is modified to specify two Notice Boards in the ExpectNotices Instruction.
- In the Workflows view users find two versions of the workflow.
- When transferring an order to the latest version of the workflow, then this operation is not possible and will disrupt the order.
Desired Behavior
- The operation to transfer orders between workflow versions that include changes to an ExpectNotices Instruction or ConsumeNotices Instruction that an order is currently waiting for, is not possible.
- The operation should be denied by an error message that explains the situation:
[OrderBroken] id=#2024-08-02#T59149823401-root, pos=0, Error (status=failed, reason=broken, msg=Instruction does not match Order.State: ExpectNotices('JS-2150-1' && 'JS-2150-2' && 'JS-2150-3',None) <-> ExpectingNotices(Vector(Expected(Board:JS-2150-1,NoticeId:2024-08-02), Expected(Board:JS-2150-2,NoticeId:2024-08-02))))
The error mesage explains that the newer version of the workflow is waiting for Notices from 3 Notice Boards, while the existing order is waiting for a Notice from a single Notice Board. As a result the orders is put to the failed state.
Maintainer Notes
- Users have to either let the order complete the previous workflow version, or to cancel the order and to add a new order to the latest version of the workflow.
JS-2152brings the suspend/abort operation to abort the ExpectNotices Instruction and to suspend the order. Suspended orders can safely be transferred to the latest versions of a workflow from which they can be resumed.
Attachments
Issue Links
- is related to
-
JS-2156 TransferOrder for Orders in changed ExpectNotices or ConsumeNotices Instructions
- Released