Managing migration of updated flow rules into production
A developer asks: We are looking for best practices for managing the impact of RuleSet version updates that are deployed into a production environment. In summary, we need best practices and supporting tools to assess, control, and manage the impact of rule changes with regard to existing work objects and other historical class instances.
We have two main scenarios:
- In a higher version, flow rules are updated, assignment tasks within them are modified or deleted, but in production there are open work objects that reference those assignments.
- In a higher version, rules are introduced that reference properties that do not exist on older work objects, assignments, or other persisted objects.
We've thought of some ways to address these, but none feel comprehensive:
- Implement the ProblemFlows flow to trap flow errors.
- Run batch jobs to update historical objects to add new property values.
- Thorough application of validation rules to check for missing properties .
- Use declarative rules and backward chaining to set missing property values.
- Running referencing rules reports to access the impact of changes .
One way to address the situation you describe is to use the date circumstance feature and the pxCreateDateTime value of the work object.
Date circumstancing lets you tie a rule to a date value in a property of the primary object.
By following this approach, you can limit the new flow rules to apply only to those work objects that are created after a specific date.
An alternative suggestion: For no-longer-needed assignments in the higher versions of the flows, delete the connectors that lead into discontinued assignments. But don't delete the assignment shapes themselves.
You'll get the behavior you want because no more flow executions can reach theses assignments, but any work objects already at those assignments can advance through the updated flow.