Skip to main content

Defined Smart Sources

Defined Smart Sources, or LogicStacks as we like to call them, allow you to configure a smart source for situations where you need to conditionally return a smart source or a constant value. There are many situations where this can be useful, and it gives users a lot of creative freedom! Below are some generic examples of the type of logic that can be achieved with conditional smart sources:

  • You have a field on your form and you want to return 123 if ABC is true or return 456 if XYZ is true.
  • You have a field on your form and you want to return 123 only once ABC and XYZ are populated.

Navigation: Manage GT eForms 3.x > GT Functional Setup > eForm Parts Gallery > Custom Parts > Defined SmartSources

A screenshot of the search page for the Defined Smart Sources tool

Search By Fields

FIELDVALUE
Unique Smart Source IDOptional – enter full or partial ID of desired defined smart source to view/edit

Search Result Fields

FIELDVALUE
Unique Smart Source IDDisplays the ID of the existing defined smart sources based on the Search By fields
Note: this cannot be changed after adding a new value
Smart SourceDisplays the name of the existing defined smart sources based on the Search By fields
TypeDisplays the smart source type of the existing defined smart sources
Smart Source Return TypeDisplays the data type of the existing defined smart sources

Logic Stacks

The Logic Stacks page is used to define what are the possible values that may be returned in the smart source, and the logic for when that value should be returned.

A screnshot of the Defined Smart Sources tool menu

Smart Source Properties

FIELDVALUE
Smart Source IDDisplays the ID value entered when adding a new defined smart source
Smart Source Return TypeField data type returned by the defined smart source with the options of date, number, or string (all supported characters)
Smart Source NameEnter a unique name to refer to this smart source anywhere within the GT Framework

Smart Source Logic

FIELDVALUE
Up Arrow (button)Moves the row up
Down Arrow (button)Moves the row down
TypeDropdown - select Constant to add a static value or select Smart Source for a dynamic value
ConstantEnter a static value where the data value matches the option selected for Smart Source Return Type
Note: If String is selected for Return Type, field is limited to 254 characters.
Smart SourceEnter a smart source where the data value matches the option selected for the Smart Source Return Type
SearchUse the lookup icon to select any smart source in the framework
LogicUse to add a visual if for when the defined smart source should return the value in the row
Add a Row (button)Adds a new row below the row where the button is clicked
Delete a Row (button)Deletes the row where the button is clicked

Configuration Tips

The logic stack will resolve in the row order that is configured. That means if the visual if on the first row is true, then that value will be returned, and no further rows will be evaluated. If you need to re-sort the row order, you may use the Up and Down arrows to set the correct sequence. If none of the visual ifs return true, then the smart source will not return any value. If you set the last row of the stack to have a constant/smart source but use a blank visual if, it will have the same effect as none of the rows returning true and equate to saying “if else” return this value.

NOTE

You can use these smart sources anywhere in the framework (email templates, initialize from, update when the source changes, etc.). However, they may not work in participation rosters to control who can see the form task links. That is because participation rosters cannot rely on form data. You may use a logic stack in a participation roster if it only uses system variables, such as Current Oprid.