Comparison Rules allow users to construct business rules by comparing one Workflow Attribute against another attribute or a static value. They are widely used through the system to govern things such as:
- Workflow access controls
- Field visibility rules
- Data entry validation rules
- etc
Different comparison operators are supported for different data types:
= Supported / = Not supported
= Data type is optimized for bulk operations
Empty/ Not Empty | Equals/ Not Equal | True/ False | Between | Contains Substring | Special behaviors | ||||
---|---|---|---|---|---|---|---|---|---|
Activity Container |
| ||||||||
Activity Lookup | |||||||||
Assessment Definition | |||||||||
Assessment Instance |
| ||||||||
Autonumber | |||||||||
Boolean | |||||||||
Competency Classification | |||||||||
Date |
| ||||||||
Date Stamp |
| ||||||||
Date Time |
| ||||||||
Discussion | |||||||||
Entity Image | |||||||||
Entity List | |||||||||
Image | |||||||||
Long Text | |||||||||
Member | |||||||||
Multi-select | |||||||||
Numeric | |||||||||
Payment | |||||||||
PD In Focus | |||||||||
Picklist | |||||||||
QR Code | |||||||||
Rating | |||||||||
Rich Text | |||||||||
Short Text | |||||||||
Supervisor | |||||||||
Tag List | |||||||||
Upload | |||||||||
Vimeo | |||||||||
Template | |||||||||
Tenant Multi-Select | |||||||||
Bulk Operation Support
As of LearningBuilder 9.1, certain Comparison Rules can be evaluated directly in the database to dramatically improve performance of bulk operations.
In order for this optimization to occur, the Comparison Rule must:
- Target an Extrinsic attribute of a supported data type (see table above) or a supported Intrinsic attribute
- Be used in a feature that supports bulk optimization
As of 9.1, the features supporting bulk optimization are:
- Scheduled Workflow Behaviors
Extended Properties
Certain data types expose more than one value that can be targeted by a Comparison Rule. This is commonly seen in data types representing complex interactions or in "container" type attributes.
NOTE: Unless specially noted, rules targeting extended properties are NOT optimized for bulk operations, regardless of the data type.
TODO: Why does Container support Equal/Not Equal but not Empty/Not Empty?