3.05 Exclusion Groups
What are Exclusion Groups?
Exclusion Groups are used to group Actionflows and limit their ability to run at the same time.
Where multiple Actionflows have the same exclusion group, only one Actionflow will be able to run at any one time. Attempting to run a second Actionflow, with the same exclusion group, will return a warning message and the Actionflow will not run. This applies whether the Actionflow is run manually or automatically using a schedule.
Exclusion groups are evaluated before any Actionflows are started. When an Actionflow with an exclusion group is triggered, if no other Actionflow with the same exclusion group is already running then the Actionflow will continue. The action will be considered to be using this exclusion group from this point until the Actionflow has completed.
Setting Exclusion Groups
Open an Actionflow and open its
Under Basic Settings, populate the Exclusion Group field with any text to indicate the group
This field is case insensitive and can take any free text
Repeat this with other Actionflows to add them to the same Exclusion Group
Worked Example
Here's a worked example using the Company Data (available from the Learning Centre).
In this example, we are using:
A Company Orders screen containing two grids of the Orders and OrderLines data - this screen was created using the Multi-tile template
If you are completing this chapter as part of the Actionflow course and using a training instance, the data and screens have already been pre-loaded into the Actionflow Advanced Application. For this example, we'll be working on the Company Orders screen.
Stop Multiple Processes Running While Performing Data Import
In this example, we'll create an Actionflow to import the AdditionalCompanies_Processed data and add the Status of New to each company on that table before adding it to the Companies table. We'll add this Actionflow to an Exclusion Group with other Actionflows on the same screen so that other processes cannot be triggered while the import is taking place.
Actionflow Setup
Open the Company Approval Review screen
Create an Actionflow on the Import button to import the AdditionalCompanies_Processed data
Name:
ImportCompaniesIf you have completed the Actionflow Intermediate Course, chapter 2.16 Analysis Action Configuration, this Actionflow setup is similar
Configure an input of On Click
Add a
action to the canvasName:
Add Details
Connect the
node to the Calculate actionOn the Calculate action, add the following Output Attribute that will be used to update the Status of all imported companies:
Name:
StatusType:
StringExpression:
"New"
On the Calculate action, add another Output Attribute that will be used to add a 20 second delay into the Actionflow, this will simulate a large data import and allow time to trigger the Actionflow twice:
Name:
DelayType:
IntegerExpression:
sleep(20)This will add a delay into the Actionflow for demonstration purposes. See sleep
Add a
action to the canvasOn its Properties, in the Tables section, click the
iconDrag across the AdditionalCompanies_Processed table from the Repository to the Analysis action properties
Connect the Calculate action to the Analysis action and map across the Status attribute
Table Attributes Setup
On the Analysis Model, Actionflow Advanced Data, click on the table, AdditionalCompanies_Processed
Double-click on the attribute, Status, and change the Expression to
_context.StatusThis is then referring to the attribute setup on the Calculate action
See 2.16 Analysis Action Configuration and Internal Variables for more information on the internal variable _context
Save the Analysis Model
Combine Data & Display
On the Actionflow, create a
action with the Primary Table, AdditionalCompanies_Processed, and connect the Analysis action to the View actionIn the Properties for the View, in the Data Retrieval Options section, set the Data Range to Latest
This will ensure that this data isn't continuously added if the Actionflow is run repeatedly
For the Output Attributes section, click the
icon and drag across all attributesSave the properties
Create a
action to save the data to the Companies tableIn its Properties, in the Basic Settings section, set the Type to Insert and
toggle on Auto Save Attributes
Connect the View to the Save action and map across all attributes
Note: Map the attribute, Status from the View action (not the Calculate action) and map the attribute Name to CompanyName
Setting the Exclusion Group
Open the Actionflow
Under Basic Settings, populate the Exclusion Group field with any text, e.g.
Import
Add Actionflow to Import Button on Companies Screen
Add the same Actionflow to the Import button the Company Management screen
Testing
Open the Company Approval Review and Company Management screens
Ensure both screens are
edClick Import on one screen then press Import on the other screen
A warning message should appear