Expressions

The Expressions tab in Server Configuration allows configuring what diagnostic data is collected for expression evaluations and in what precision mode those evaluations are performed.

Expression Evaluation

Format of the Expression Evaluation table:

Origin Validity Expression

An expression that determines whether the settings in this row apply to a given expression evaluation. It is evaluated against the origin of the expression being computed. The origin is a reference that uniquely identifies the location in the platform where an expression is defined — for example, a specific binding expression, function, or ruleset condition within a model. The origin of the current expression is available as the environment variable {env/reference}.

The expression can return:

  • A string (including the surrounding quotes). The row applies if the string matches the current origin exactly. Each Expression Builder instance automatically adds an entry in this format for its origin to make the corresponding expression debuggable. The entry is removed upon Builder closure.

  • A boolean. The expression is evaluated against the current origin using {env/reference} and the row applies if the result is true. This allows building flexible matching conditions. For example: referencePart({env/reference}, "context") == "users.admin.models.myModel" applies the row to all expressions in the specified model.

Note: For dashboard components, the context part of the origin contains the context of the component itself, not the dashboard it belongs to. The context path of the containing dashboard is placed into the server part. To cover all expressions within a dashboard, use: referencePart({env/reference}, "server") == "users.admin.dashboards.myDash".

Debug

When enabled, the system saves detailed evaluation data for the matching expression: the expression tree, intermediate results at each computation step, and the evaluation environment (default tables, default rows, and other context data). This data is used by the Expression Builder to display the evaluation tree and step-by-step results.

Track Environment Variables

Available only when Debug is enabled. When enabled, environment variables are saved as part of the evaluation data. Disabled by default because storing environment variables for every evaluated expression can significantly increase memory usage.

Track Session Variables

Available only when Debug is enabled. When enabled, session variables are saved as part of the evaluation data. Disabled by default for the same memory reasons as Track Environment Variables.

High Precision Mode

When enabled, the matching expression is evaluated with higher precision arithmetic instead of the default double (64-bit IEEE 754 floating point), which eliminates rounding errors that can accumulate in calculations. For example, 0.2 + 0.3 + + 0.4 evaluates to exactly 0.9 instead of 0.9000000000000001. Enable this option only for expressions where decimal accuracy is critical.

Rows are processed top to bottom. The first matching row is applied, and the result is remembered (cached) until the table is changed. This also relates to unmatched origins to speed up further checks. More specific rules should be placed above more general ones.

Example

To enable High Precision Mode for a specific expression, open it in the Expression Builder, copy the origin reference from the Origin section in the Environment panel, and use it as a string literal in the Origin Validity Expression field:

  • Origin Validity Expression: "users.admin.models.myModel:modelFunctions$expression[0]"

  • High Precision Mode: Enable

To apply High Precision Mode to all expressions within a model, use referencePart({env/reference}, "context") to match by model path:

  • Origin Validity Expression: referencePart({env/reference}, "context") == "users.admin.models.myModel"

  • High Precision Mode: Enable

Was this page helpful?