A Rule Set is a container for a group of logically related rules and actions. Rule sets are functionally significant because they establish when and how the underlying rules are executed. This is accomplished by setting the fire and run modes for the rule set. Rule Sets may also be activated and deactivated individually or by Category to further control the flow and behavior of rule execution.
Three types of Rule Sets
- Entity rule sets - Rule sets based on an entity context and apply for all instances of the entity
- Context-specific rule sets - Rule sets based on an entity context relevant to a specific location in the schema (via Entity Field or Collection reference)
- Independent rule sets - Rule sets defined without an associated Entity context (Entities and values are passed in as parameters)
All rule sets and rules appear under the Rules folder in the navigation pane. The Rules folder contains a folder for each entity, field, or collection that has a Rule Set specific to its context as well as a folder that contains all independent rule set.
Each context-specific Rule Set folder for an entity will contain a separate node for Classifications and Constraints if any have been defined for the entity.
Adding a Rule Set
- Click on Entity in the left-hand navigation pane.
- Click the Add Rule Set button.
- The Select Rule Set Context window will be displayed. Select the context to which you would like the Rule Set to run under, and click OK.
Deleting a Rule Set
- Right-click on the Rule Set you want to delete.
- Click the Delete button.
- You will be prompted to delete the Rule Set. Click Yes.
Modifying a Rule Set
- Click the Rule Set you want to modify.
- The Edit Rule Set screen will be displayed.
The following settings are available for a rule set:
Specifies the name of the Rule Set. This name is used when explicitly executing or activating a rule set from either the Execute Rule Set Action, Activate Rule Set Action, or from irSDK.
Designates whether or not this Rule Set will be compiled into the rule dependency network during rule execution. If a Rule Set is not Enabled, it CANNOT be re-enabled during rules processing at runtime. It cannot be re-enabled using Actions. Rule Sets whose Enabled property is set to FALSE will be grayed-out in the navigation tree.
Activated by Default
Designates whether or not this Rule Set will be considered in the initial rule dependency network during rule execution. Rule Sets CAN be re-activated during rule processing at runtime using various activate rule set actions, or a calling application using the SDK. When activated, they are run as part of an apply rules directive, otherwise they are not. Activated by default means that an explicit “Activate rule set Action” is not required for the rule set to run. Rule sets can be activated or deactivated by name or by category. When testing using irVerify, rule sets can be activated/ deactivated using the right-click menu.
Auto Fire Mode
Specifies that the Rule Set and its associated rules are always "on" and the engine controls when the rule sets get placed on the agenda. The engine will automatically re-fire rules within the rule set when its dependent values change. The Run Mode dictates when dependent value changes are checked and if the entire rule set or individual rules will re-fire.
Specifies how often the rule engine will re-evaluate the Rule Set. There are three modes: optimized, sequential, and single-pass sequential.
- Optimized: The engine will automatically recalculate a condition within the rule set any time any of its dependent values change. Optimized Rule Sets do not fire in the order they are authored - the engine decides the sequence based on a proprietary optimization algorithm. An "Optimized" Rule Set will continue to fire until all of its conditions are satisfied. Only a limited set of actions are available in optimized rule set.
- Sequential: Specifies that the rule set and its associated rules are always "on". Unlike "optimized" rule sets, sequential rule sets execute in the order they appear in the list. These Rule Sets will fire any time a dependency for a top-level rule condition changes as the result of running a subsequent rule set.
- Single-Pass Sequential: Single-pass sequential rule sets execute in the order they appear in the list (in "Auto" fire mode), and execute only once, even if a dependency for a top-level rule condition changes during execution of a subsequent rule set.
Explicit Fire Mode
Specifies that the Rule Set will be executed only when explicitly instructed to do so by an action or calling application. The Run Mode for an explicit rule set is single-pass sequential, thus an explicit rule set is appropriate for procedural operations and will not get re-fired automatically by the engine.
An explicit rule set allows users to pass in additional information via "Parameters". For entity rule sets, this extends the authoring scope of available values and entities beyond the base entity context of the rule set. The “Parameters” grid provides the definition of decimal, Boolean, date, datetime, integer, text, and entity type arguments that can be passed in via an Execute Rule Set Action or from irSDK. Defining parameters is optional; they are input only (except Entity types which are reference-based) and only available with explicit and independent rule sets.
Note: Parameters are optional and not required for basic Rule Set execution. With "Auto Create" checked, an instance of the specified entity type is created automatically when the rule set is executed.
Specifies the list of Vocabulary that will be executed for this Rule Set.
Specifies the list of Rules and Actions that will be executed for this Rule Set.
Displays the Rule Application Detail Report filtered to only show this Rule Set.
Please sign in to leave a comment.