Visio flows converted to Process Modeler overlap after upgrade
Summary.After you upgrade from PRPC 6.1 SP1 to Pega 7.1.7, you convert flows designed with Visio to the Process Modeler. Flow images with shapes and connectors that were previously clear and well organized in PRPC 6.1 SP1 Visio now appear overlapped, and some complex flow images are unreadable.This behaviour is observed only on complex flows developed using Visio in PRPC 6.x releases. On systems upgraded to Pega 7.1.x, Process Modeler coversion of flows might show variable results for complex flows (flows with many shapes or connectors).
Steps to Reproduce1. Open a complex flow (one with many shapes or connectors covering the page) designed with Visio from a PRPC 6.x or earlier system in a Pega 7.1.x system.
2. Convert the flow to Process Modeler.
3. Review the Pega 7.1.x flow diagram and compare it with the PRPC 6.x or earlier flow diagram.
Root CauseA defect in Pegasystems’ code or rules with the Process Modeler display in Pega 7.1.x of older flows developed in PRPC 6.x
ResolutionPerform the following local-change on checked out versions of Pega internal rules to improve the display of automatically converted flows.
Note: Internal rules are processed when called, but they are not visible through the Application Explorer or other means. To find Pega internal rules and open them for the local change described below, search for them using the prefixing “old:” Don't forget the colon.
Like this -- old:RULE_NAME
Modify rules involved in Visio-to-Process Modeler flow conversion
- Open and perform a private checkout of Internal Rule-Obj-When pzAutoLayout and set it to always be false.
This disables the use of auto layout when conversion to Process Modeler occurs.
- Open and perform a private checkout of Internal Rule-Obj-Activity pzConvertFromVisioToModeler to add a Java step that updates the x and y coordinates for shapes in the conversion.
Add a Java step as Step 3 after the existing Step 2 (Property-Remove)
Specify the new Step 3 as shown here:
Loop condition: For Each Embedded page -> ClassName: Data-MO
Step page: .pyModelProcess.pyShapes
Java code for Step 3ClipboardPage step = tools.getStepPage();
String X_NAME = ".pyCoordX";
String Y_NAME = ".pyCoordY";
double x = step.getDouble(X_NAME) * 2.0; // can specify 2.5, 3.0 as per the developer needs
double y = step.getDouble(Y_NAME) * 2.0;
Convert Visio flow to Process Modeler flow
Prerequisite: Log in as the user with private checkouts in place.
- Open the affected Visio flow and convert it to a Process Modeler flow.
- Check the layout of the flow: It should now be legible and spaced adequately when compared to the previous conversions.
You can perform additional fine tuning of the flow layout in its new form beyond what the automated processing achieved by manual editing the flow in the Process Modeler.
- This is a one-time conversion procedure: After you have converted the affected complex flows to Process Modeller flows, you can delete the checked-out rules used in this procedure.
Published August 24, 2016 - Updated October 8, 2020