Using The Comparison Utility
  • 07 Sep 2022
  • 3 Minutes to read
  • Dark

Using The Comparison Utility

  • Dark

Article summary


The Comparison utility is a feature that compares the current version of Flow or Rule logic to historic versions of that logic. This utility also can compare a Flow or Rule to another Flow or Rule instead of just comparing the historical checkpoints of a specific element. The results will appear in real-time under the RESULT DATA section of the Comparison window for whichever option is selected. When looking at the Results of the comparison utility, the source information will always be on the left, and the target will always be on the right. Choosing the COMPARE button will conclude the results preview.  

An example of the expected results for comparing both history or another element is described in the sections below. These examples are comparison results for a Flow; the Rule comparison results would appear the same. 

[---- diff ----] indicates a difference between the source (current version) on the left and the target (previous versions or other elements) on the right. 

[only in source] indicates that an aspect of the logic only pertains to the source and not the target.

[only in target] indicates that an aspect of the logic only pertains to the target and not the source.

Compare to History

This option allows the user to select a previous version of the logic and compare it to the current version. Information compared includes the Folder ID, the Service Method name for REST-integrations, the object ID, whether the logic is/was valid at runtime, and the GUIDs of other specific elements involved. The source and target input and output data are listed if applicable. 

source = Flow 1
target = Original Version - Flow 1

[---- diff ----]  FolderId = d2ce8631-6fba-11eb-bc37-84c5a61d0d13 <--> 962faee1-959a-4c0e-a7a7-a439d051ff5e
[---- diff ----]  GeneratedServiceMethodName = RunFlow1 <--> RunOriginalVersionFlow1
[---- diff ----]  Id = 1a1fe955-7068-11eb-bc38-84c5a61d0d13 <--> 0CB528AF-D54B-4355-AE6A-42C9F5D7D9FA
[---- diff ----]  InvalidWhenLoaded = True <--> False
[---- diff ----]  Name = Flow 1 <--> Original Version - Flow 1
[only in source]  Source = ElementRegistration
[---- diff ----]  SourceInfo = 1a1fe955-7068-11eb-bc38-84c5a61d0d13 <--> 0CB528AF-D54B-4355-AE6A-42C9F5D7D9FA
[--------------]  StepConnections
[only in target]    Step Connection: 1f8a6465-fcf4-4f96-bc62-2cefbb366f86 - to - 5f3810a1-86fc-450f-9b9a-13d961b62a46 : done
[--------------]  Steps
[--------------]    Start Step[1f8a6465-fcf4-4f96-bc62-2cefbb366f86]
[only in source]      OutputData = Array
[only in target]      InputData = Array
[only in target]    Show Form Step[5f3810a1-86fc-450f-9b9a-13d961b62a46]

Flow Designer Method 

As a visual application of Flow comparison, the Flow Compare utility may be accessed from the Flow Designer via the Compare link on the top Action bar. 

From this screen, users are provided the option to select each of the two desired versions for comparison via the two drop-down menus on the top Action bar. Selecting two different versions visually represents the differences and similarities between each Flow's steps and their respective connections.

These steps and paths are color-coded as follows:

BlueRepresents the original steps and paths. 
GreenRepresents added/altered steps and paths. 
Orange Represents removed and deleted steps/paths. 
Additional Notations 
As part of the visual tracking, by selecting the Start or End step on a Flow that has been moved, users may observe the comparison in X and Y locations for those steps in both Flows. 

Compare to Flow/Rule

When comparing one Flow or Rule to another, there are many more levels of detail that need to be included. Comparing a historical version is still comparing to the same element, so a layer of complexity is not required when comparing two separate elements. In addition to the information recorded in Compare to History, this feature includes the date the element was last modified, the entity name, the History folder ID of each, inputs/outputs, and step connections. Input/output and step connection comparison information is represented through GUIDs. 

source = Flow 1
target = Flow 2

[---- diff ----]  GeneratedServiceMethodName = RunFlow1 <--> RunFlow2
[---- diff ----]  Id = 1a1fe955-7068-11eb-bc38-84c5a61d0d13 <--> 5a0870e7-7095-11eb-bc38-84c5a61d0d13
[---- diff ----]  Name = Flow 1 <--> Flow 2
[--------------]  Source
[---- diff ----]    ComponentRegistrationDataId = 1a1fe955-7068-11eb-bc38-84c5a61d0d13.Data <--> 5a0870e7-7095-11eb-bc38-84c5a61d0d13.Data
[---- diff ----]    ComponentRegistrationId = 1a1fe955-7068-11eb-bc38-84c5a61d0d13 <--> 5a0870e7-7095-11eb-bc38-84c5a61d0d13
[---- diff ----]    CreatedOnDate = 2/16/2021 10:03:28 AM <--> 2/16/2021 3:27:15 PM
[---- diff ----]    EntityName = Flow 1 <--> Flow 2
[---- diff ----]    GeneratedServiceMethod = RunFlow1 <--> RunFlow2
[---- diff ----]    HistoryFolderID = 962faee1-959a-4c0e-a7a7-a439d051ff5e <--> 451223c8-895b-4cce-8f48-30e32fdd9dab
[---- diff ----]    ModifiedDate = 2/16/2021 3:28:03 PM <--> 2/16/2021 3:27:39 PM
[---- diff ----]    Name = Flow 1 <--> Flow 2
[--------------]    Outputs
[--------------]      0
[---- diff ----]        OutputScenarioId = 1a1fe961-7068-11eb-bc38-84c5a61d0d13 <--> 5a0870ea-7095-11eb-bc38-84c5a61d0d13
[---- diff ----]    SearchContents = Flow 1 Flo <--> Flow 2 Flo
[---- diff ----]  SourceInfo = 1a1fe955-7068-11eb-bc38-84c5a61d0d13 <--> 5a0870e7-7095-11eb-bc38-84c5a61d0d13
[--------------]  StepConnections
[only in source]    Step Connection: 1f8a6465-fcf4-4f96-bc62-2cefbb366f86 - to - 80765851-975f-40fb-9cfd-247997b070ee : done
[only in target]    Step Connection: 1f8a6465-fcf4-4f96-bc62-2cefbb366f86 - to - 6bac4b69-3dcb-4c5c-a643-7fa32e55cd05 : done
[only in target]    Step Connection: 6bac4b69-3dcb-4c5c-a643-7fa32e55cd05 - to - 80765851-975f-40fb-9cfd-247997b070ee : Done
[--------------]  Steps
[only in target]    Do Popup Step[6bac4b69-3dcb-4c5c-a643-7fa32e55cd05]

Was this article helpful?