Managing session variables
Session variables panel
The view for managing session variables is the panel Session variables. To open it, select the option in the left menu Session variables. On the right side of the panel title bar there is a magnifying glass icon that allows searching the list of variables.

Adding a new session variable
Adding a new session variable is done by pressing the button Add session variable.
In the new row added at the very top of the panel, we fill in:
MID - variable key
Default value - constant variable value
Service ID - after attaching the session variable to the service, the name of that service will appear here
Output parameter - if the session variable is an output parameter of the service, it will be specified here
Exposed - we mark whether the given session variable should be passed to the client explicitly. This option allows the session variable to be used in conditional expressions and formatters executed on the client side. If the session variable has its box unchecked, it is not sent to the client.
Gtm
GTM tag - GTM tag name
Statistics - enabling the option to send the variable value to statistics.

After leaving the name field, the variable is created. If no name is defined for the variable, the system will automatically assign the value "empty" or a copy of that value if it already existed.
Editing an existing session variable
To edit an existing variable, just click in the column MID and change the value.
Service output definition
A session variable can be used as a place to store the result of executing a service defined within any page of the current request.
We define the mapping of the variable to the appropriate service output field in the panel Page services, which we open by clicking the button Page services:

Once the list of services available for the request appears, we look for the correct service, and then reveal its details by clicking the option located on the right side of the panel Show details. Mapping the service output to a variable will be possible after clicking Output parameters in the displayed details:

In the output parameters tab, click the button Add parameter — this will display a row in which first, in the column Request component, we select the session variable for which we want to map the output, and then in the column Output parameter, we indicate the appropriate output:

After correctly attaching the service to the variable, its properties will contain information about the attached service and the indicated output parameter:

Deleting a session variable
A session variable is deleted by selecting the trash icon available after hovering over the row of that session variable. Attempting to delete a session variable used in an artifact (e.g. as a service input parameter or listening on a variable) will result in an informational message:

Using a session variable to determine a component's initial value
To use a session variable to determine the initial value of a given element, perform the following steps:
select the component
in the list of available properties, search in the Interactions section for the property DATA SOURCE FROM ANOTHER FIELD
after clicking in Choose a component or constant we can choose the MID of the session variable that is to serve as the default value of this element,
additionally, listening to the variable must be added according to the instructions in: Listening and clearing
Using a session variable to retrieve a component's value
For the session variable, select the EchoService service added on the request page.
Examples of using a session variable
Using a session variable in a condition: getValue("@zmienna1")=="Y" where zmienna1 is the variable name
Using a session variable in the Label component: Current value of the variable is ${zmienna1} where zmienna1 is the variable name
Note!
If we use the session variable in a compound component, we need to add the @ symbol before its name (we do not use this notation for predefined variables).
Session variables cannot be used in Repeatable section - RepeatableSection — here we use technical fields.
Last updated
Was this helpful?
