Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • A Notice is considered an event that the ExpectNotice ExpectNotices Instruction is waiting for. One or more corresponding PostNotice PostNotices Instructions create the Notice from the same or from different workflows.
  • Both PostNotice PostNotices and ExpectNotice ExpectNotices Instructions reference a common Notice Board identified by its name. The Notice Board implements expressions for the PostNotice PostNotices Instruction and for the ExpectNotice InstructionExpectNotices Instruction to identify a common Notice ID. The Notice ID typically is identified from a common part of each Order ID of the posting order and of the expecting order, for example from the daily plan date.
    • Example
      • An Order ID #2021-07-24#T7142453954-myOrder1 is running in a workflow and meets a PostNotice PostNotices Instruction. The Notice Board referenced by this instruction includes an expression for the posting order to create a Notice ID based on the daily plan date included with the Order ID. The expression extracts the date from the Order ID, i.e. 2021-27-24, and makes this date the Notice ID.
      • An expecting Order ID #2021-07-24#T7142454683-myOrder2 meets an ExpectNotice ExpectNotices Instruction in its workflow. The instruction similarly applies the expression from the referenced Notice Board to create a Notice ID. In most situations the rule what to extract from an Order ID is the same for the posting order and for the expecting order.
        • If both instructions identify the same Notice ID, i.e. the daily plan date 2021-27-24, then the expectation is met and the order proceeds with the next step following the ExpectNotice ExpectNotices Instruction.
        • If the expectation is not met, for example if the Notice has not yet been created by a posting order or if the daily plan date of the Notice ID is not the same for the posting order and for the expecting order then the expecting order will wait until a matching Notice becomes available.
    • If no posting order exists at the point in time when an expecting order meets an ExpectNotice ExpectNotices Instruction then the expecting order continues and ignores the instruction.
      • This behavior boils down to the fact that Notices are intended for synchronization. If there is no posting order that creates the Notice, e.g. due to calendar restrictions to specific days, then expecting orders continue.
      • Only an existing, posting order that did not yet arrive with its PostNotice PostNotices Instruction, e.g. being in a SCHEDULED state, can make an expecting order wait with the ExpectNotice ExpectNotices Instruction.
  • Notices can be assigned a lifetime that starts after being posted.
    • If an expecting order starts before expiration of a notice's lifetime then this order can continue.
    • If an expecting order starts after expiration of a notice's lifetime then this order will wait for the next notice or will start immediately if there is no further posting order in place.
  • Any number of workflows can implement PostNotice PostNotices Instructions and ExpectNotice ExpectNotices Instructions referencing the same or different Notice Boards.

...

  • If Order 2 for Workflow 2 starts earlier than Notice 1 has been created by Order 1 then Order 2 will wait until Notice 1 becomes available.
  • The business requirement includes
    • to start Workflow 1 at any point in time during the day.
    • not to start Workflow 2 before - optionally partial - completion of Workflow 1.
    • to start repeated executions of Workflow 2 immediately if Workflow 1 was successfully executed once during the same daily plan date.
  • As there is an Order 1 for each day that an Order 2 is created this practically means that Order 2 for Workflow 2 can start only after a number of jobs or after all jobs in Workflow 1 completed successfully.
    • The PostNotice PostNotices Instruction in Workflow 1 can be at any position in the workflow, allowing e.g. to post Notice 1 before completion of the workflow.
    • The ExpectNotice ExpectNotices Instruction in Workflow 2 can be at any position, allowing e.g. to execute a few jobs before expecting Notice 1.

...

This scenario starts from the above calendar based dependency described above and handles delayed execution of orders:

...

The graphical view of the current workflow (blue) displays workflow instructions and dependent objects.

For the PostNotice PostNotices and ExpectNotice ExpectNotices Instructions related workflows are displayed in green:

...

The tabular view displays dependencies for any ExpectNotice ExpectNotices and PostNotice PostNotices Instructions included with the current workflow:

Explanation:

  • For each ExpectNotice ExpectNotices Instruction, related workflows are displayed that which include PostNotice PostNotices Instructions for the same Notice Board. 
  • For each PostNotice PostNotices Instruction, related workflows are displayed that which include ExpectNotice ExpectNotices Instructions for the same Notice Board.

...

  • The green and the grey workflows both post to the same Notice Board from which a . A Notice is expected from this Notice Board by the currently selected workflow (blue)
  • The current workflow (blue) and one more workflow (brown) both wait for a Notice from the same Notice Board.
  • Use of the icon switches to the graphical view, use of the he   icon displays the dependency view.

...

  • The tree in the left panel offers to navigate allows navigation to folders to limit the results displayed.
  • For each Notice Board:
    • the Posting Order's and the Expecting Order's Notice ID are displayed.
    • expected Notices are displayed sorted by Notice ID, preferably including the Order's daily plan date.
    • Orders are displayed that wait for the expected Notice to become available.
  • The view offers the action:
    • to post a Notice. This operation is similar to a Workflow executing the PostNotice PostNotices Instruction. As a result any Orders waiting for the expected Notice will continue. The underlying use case is to simulate a Workflow's PostNotice PostNotices Instruction and to manually resolve dependencies of Expecting Orders.
    • to delete the indicated Notice. As a consequence any Orders that will later on expect the given Notice have to wait for a new Notice to be added. This operation can be used to revert a Workflow's PostNotice PostNotices Instruction and to make Expecting Orders wait until the Notice is posted from a different Workflow or is manually posted in this view.

...

The operation to post a Notice is available from the Notice Board's action menu like this:


This allows to freely chose a a free choice of the Notice ID for which the Notice is posted.

In addition, this action is available from the Notice ID's action menu like this:


This action offers to post the Notice a Notice to be posted for the indicated Notice ID.

...

  • Users are free to modify the proposed Notice ID.
  • The lifetime of the Notice has to be specified by an absolute or relative date and time.
  • Consider Note that the lifetime is calculated for the indicated time zone. The time zone value is populated from from JS7 - Profiles.

Delete Notice

The Delete Notice operation to delete a Notice is available from the Notice ID's action menu like this:

...

When deleting a Notice then Orders that will later on expect the given Notice have to wait for a new Notice to be posted either from a Workflow or from the corresponding Post NoticeNotices action of this view.

Further Resources

...