Summary
Before Prior FAB version 3.3, deploying a new workflow in production automatically updates update all in-progress and new form instances to adhere to the new workflow, potentially causing issues due to differences . This could lead to issues arising from discrepancies in task configurations.
FAB v3version 3.3 introduces Workflow Versioning, allowing providing control over which the workflow definition a utilized by each form instance uses. It records . Each Workflow Version corresponds to a single configured workflow definition and records changes and shows the current workflow being used for each form instancewhile displaying the currently active workflow in the system.
By default, in-progress form instances keep retain their original workflow definition, avoiding preventing interruptions. while new instances adopt the latest workflow definition, ensuring consistency.
Auto-Versioning (FAB v3.3)
Changing the workflow definition automatically creates new Workflow Definition Instance in table /IQX/FAB_WF_INST and directly links it to tables /IQX/FORMHD_INST and /IQX/FAB_WF via fields WF_INSTANCE and MD5_CHECKSUM, respectively.
If you are running on FAB 3.3 version and wants to deactivate this feature, follow these steps: https://iqxbusiness.atlassian.net/l/cp/QuU2TqTU
Revised WF Versioning (FAB v3.3.1)
...
Info |
---|
In this documentation, the terms "Non-breakable Workflow" and "Durable Workflow" also refer to the logic of Workflow Versioning. |
Table of Contents | ||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Revised Workflow Versioning (FAB version 3.3.1 and higher)
With the introduction of Workflow Versioning in FAB version 3.3, auto-versioning ensures version control but complicates development and testing due to the creation of many numerous workflow instances. Tracking It has also become difficult to track the specific workflow version used when a by each form instance was created has also become difficult.
To address resolve these issues, we enhanced the workflow versioning process logic and introduced a new API. This API collects detailed versioning data and helps control , which determines whether a new Workflow Instance ID will be generated. It also helps in managing workflow versions for in-progress form instances.
Below is the relational structure from the Project FAB Form App level to the Workflow Version level.
...
Starting FAB version 3.3.1, the combined values of Project Form Name, WF Iteration, WF Pattern, and WF Version triggers the creation of new Workflow Instance ID (field WF_INSTANCE).
API Component | Description | Related Table FieldFields | Release Notes |
---|---|---|---|
Project Form App | Also known as the FAB Form App Name. In every Project Form App, there may exist multiple Form Iterations. | /IQX_FORMHD_INST-ZFORM_NAME /IQX/FAB_WF-ZFORM_NAME /IQX/FAB_WF_INST-ZFORM_NAME | AS-IS logic before FAB 3.3 |
Project Form Iteration / Workflow Iteration | Form Iteration value increments whenever user saves the form app via 'SAVE Save (new iteration)' button or form is transported through systems. Each Form Iteration can accommodate multiple Workflow IDs intended for future Alternate Workflows. . | /IQX_FORMHD_INST-WF_ITERATION /IQX/FAB_WF-ZITERATION_NO /IQX/FAB_WF_INST-ZITERATION_NO | AS-IS logic before FAB 3.3 |
Workflow ID / Workflow Pattern ID | This field is intended to be used for future Alternate Workflows. Since the Alternate Workflow functionality has not been released yet, Workflow IDs as of FAB released v3.3.1 2 will consistently remain always be set to '1'. Within each Workflow ID, numerous Workflow Versions can be found. | /IQX_FORMHD_INST-WF_PATTERN_ID /IQX/FAB_WF-ID /IQX/FAB_WF_INST-ID | Added on FAB 3.3.1 |
Workflow Version ID | Each Workflow Version ID represents a specific Workflow Definition configured for the Form App. All workflow versions available for each Form App can now be easily viewed via the new workflow designer. See Process Designer | WF Version List in the Workflow Version List within process designer version 2. A Workflow Version or Workflow Definition can be either in Editable or Active/Locked status. | /IQX_FORMHD_INST-WF_VERSION_ID /IQX/FAB_WF-VERSION_ID /IQX/FAB_WF_INST-VERSION_ID | Added logic on FAB 3.3.1 |
Auto-Versioning (FAB version 3.3)
Saving new changes in the Workflow Definition automatically creates a new workflow version, represented by the Workflow Instance ID (WF_INSTANCE) in the table /IQX/FAB_WF_INST. At the same time, it updates the table /IQX/FAB_WF and directly links the new Workflow Instance ID to the table /IQX/FAB_WF via the MD5_CHECKSUM field.
Upon submission, the FAB Form Instance records the Workflow Definition used in the table /IQX/FORMHD_INST, field WF_INSTANCE.
If you are using FAB version 3.3 and wish to deactivate this feature, please follow these steps: How To Bypass WF Instance ID Generation.
Info |
---|
For FAB version 3.3, Workflow Version and Workflow Instance are used interchangeably since each WF version automatically creates new WF Instance. |
Related Tables
/IQX/FORMHD_INST - FAB Form Header Instance Data (run-time values)
Run-time values of created Form App Instances
Notable Fields:
ZFORM_NAME : - Form App
ZINSTANCE : - Form Instance
WF_INSTANCE :
Unique Workflow Version Identifier on which the Form Instanceadded in FAB version 3.3
A MD5 checksum value representing the Workflow Instance on which a submitted form instance is currently running Contains the same value as on
Unique identifier for single configured Workflow Definition with details that can be check on tables /IQX/FAB_WF and /IQX/FAB_WF-MD5_CHECKSUM_INST via fields MD5_CHECKSUM and WF_INSTANCE, respectively
CHECKSUM
added in FAB version 3.3.2
Unique identifier for OneList task checksum for syncing tasks via event
/IQX/FAB_WF - FAB Enhanced Workflow Definition
As of FAB v3.3.1, this table adds new line for every new combination set of Project App>Form Iteration>WF ID>WF Version. It also modifies existing lines for every change done on the existing WF Versions. Contains the latest workflow definition for each Project Form App iteration
Change Date and Timestamps are recorded in the fields with pattern MODIFIED_*
Notable Fields:
ZFORM_NAME : - Form App
ZITERATION_NO : - Form Iteration
ID : - Workflow Pattern ID (Always set to '1' as of FAB v3.3.12)
MD5_CHECKSUM : - Workflow Instance ID, Unique character identifier of Active for Workflow Versions Version
VERSION_ID : - incrementing number of Workflow Version (populated only for FAB version 3.3.1 and higher)
Description Fields:
ITERATION_DESC : - Form Iteration Description
ZID : - Workflow ID Description
VERSION_DESC : - Workflow Version Description (editable via new workflow designer)
DESCRIPTION : - Project Form App Description
Status Fields (populated only for FAB version 3.3.1 and higher):
IS_ACTIVE : - Sets to 'X' (TRUE) when WF Version is in Active or Locked status
IS_RELEASED : - Sets to 'X' (TRUE) when WF Version is released and transported
Info |
---|
When no Workflow Version is activated yet for the Project Form Application, the Workflow Instance ID (MD5_CHECKSUM) will contain the concatenated fallback value: For FAB version 3.3, each workflow version is considered activated so Workflow Instance ID (MD5_CHECKSUM) will always contain a hash value. |
/IQX/FAB_WF_INST - FAB - Enhanced Workflow Instance (Table released in FAB v3.3)
As of FAB v3.3.1, this table stores captures a snapshot of the workflow definition snapshot every time WF Definition is each time the corresponding workflow version is saved and activated.
As of FAB v3.3, this table stores captures a snapshot of the definition snapshot of WF Definition when a FAB Form instance is submittedworkflow definition whenever its changes are saved.
Notable Fields:
WF_INSTANCE : Contains the same value as /IQX/FAB_WF-MD5_CHECKSUM- Workflow Instance ID, Unique character identifier for Workflow Version
ZFORM_NAME : - Form App
ZITERATION_NO : - Form Iteration
ID : - Workflow Pattern ID (Always set to '1' as of FAB v3.3.12)
Description Fields:
VERSION_DESC : - Workflow Version Description (editable via new workflow designer)
Workflow Data Comparison Across FAB Versions
Fields | Prior FAB version 3.3 | FAB version 3.3 | FAB version 3.3.1 | FAB version 3.3.2 | |
---|---|---|---|---|---|
Table /IQX/FORMHD_INST | WF_INSTANCE | Not populated | Contains the WF Instance (MD5 checksum value) in which the form instance is currently running on. Check table fields: /IQX/FAB_WF-MD5_CHECKSUM or /IQX/FAB_WF_INST-WF_INSTANCE | Same as FAB 3.3 | Same as FAB 3.3.1 |
WF_ITERATION | Not populated | Not populated | Same value as Form Iteration | Same as FAB 3.3.1 | |
WF_PATTERN_ID | Not populated | Not populated | Always “1” | Same as FAB 3.3.1 | |
WF_VERSION_ID | Not populated | Not populated | Increments for every activated & saved WF Definition | Same as FAB 3.3.1 | |
CHECKSUM | Not populated | Not populated | Not populated | Contains the OneList Hash checksum for syncing tasks via event | |
Table /IQX/FAB_WF | MD5_CHECKSUM | Not populated | Contains the latest WF Instance in which new submitted form instances will run on. On FAB 3.3, new hash value will be generated every time the WF Definition is changed and saved. Therefore, MD5_CHECKSUM will always contain the hash value for latest WF Definition. | Contains the latest WF Instance in which new submitted form instances will run on. | Same as FAB 3.3.1 |
MODIFIED_* | Not populated | Contains details of WF Definition change (date & time) | Same as FAB 3.3 | Same as FAB 3.3.1 | |
VERSION_ID | Not populated | Not populated | Increments for every activated & saved WF Definition | Same as FAB 3.3.1 | |
VERSION_DESCRIPTION | Not populated | Not populated | Contains the value entered by user in Process Designer or the default concatenated value of date and timestamp | Same as FAB 3.3.1 | |
IS_ACTIVE | Not populated | Not populated | Same as FAB 3.3.1 | ||
IS_RELEASED | Not populated | Not populated | Set to 'X' when WF Definition is in Locked status in Process Designer | Same as FAB 3.3.1 | |
WF_ID_* | Not populated | Not populated | Contains details of WF Definition creation (date & time) | Same as FAB 3.3.1 | |
MC_* | Not populated | Not populated | Contains match code values for Revised WF Versioning | Same as FAB 3.3.1 | |
Table /IQX/FAB_WF_INST | WF_INSTANCE | No table entry | Contains the hash value for WF Definition. New table entry is added each time the WF Definition is changed and saved. | Contains the hash value for WF Definition. New table entry is only added for new value combination of Project Form Name, WF Iteration, WF Pattern, and WF Version and WF Definition is saved and activated. | Same as FAB 3.3.1 |
VERSION_ID | No table entry | Not populated | Increments for every saved & activated WF Definition | Same as FAB 3.3.1 | |
VERSION_DESCRIPTION | No table entry | Not populated | Contains the value entered by user in Process Designer or the default concatenated value of date and timestamp | Same as FAB 3.3.1 | |
MC_* | No table entry | Not populated | Contains match code values for Revised WF Versioning | Same as FAB 3.3.1 | |
MODIFIED_* | No table entry | Contains details of WF Definition change (date & time) | Contains details of WF Definition change (date & time) | Same as FAB 3.3.1 |
Sample Screenshots Workflow Data Across FAB Versions
Prior FAB version 3.3
Table /IQX/FORMHD_INST
...
Table /IQX/FAB_WF
...
No Table /IQX/FAB_WF_INST
FAB version 3.3
Table /IQX/FORMHD_INST
...
Table /IQX/FAB_WF
...
Table /IQX/FAB_WF_INST
...
FAB version 3.3.1 and higher
Table /IQX/FORMHD_INST
...
Table /IQX/FAB_WF
...
Table /IQX/FAB_WF_INST
...
More Information
To know more the on workflow differences between data fields for different FAB release versionreleased versions, please check FAB Process Flow Version Comparison.