Global values – settings that apply to the whole installation¶
A global value is a named value that expressions and actions can read anywhere: a company name, a VAT rate, the address of an external system. A global value can also be user-defined – then every user can have their own value. This chapter describes how global values are created, read and changed, and how long user-defined values are kept.
It is intended for administrators who configure the application.
1. Global values at a glance¶
| Kind | Settings | Value | Typical use |
|---|---|---|---|
| Global value | "User Defined" off | One value for everybody | Company name, VAT rate, base address of an external system |
| User-defined global value | "User Defined" on | Every user can have their own value; until then, "Value" applies | A team or region the user is currently working on |
| Persistent user-defined global value | "User Defined" and "Persist User Defined Value" on | As above, kept across reloads, sign-ins and restarts | A personal default that should be remembered |
Global values are managed in the Admin Studio under Design → Global Values.
Summary¶
- A global value is text. Expressions that read it receive this text.
- It is read with an expression of the type "Global Value", or inserted into a text expression.
- It is changed by an administrator in the editor or by the action command "Update Global Value".
- Global values can always be changed without a sketch (see Sketches and publishing).
2. Creating a global value¶
- Open Admin Studio → Design → Global Values and choose "Add".
- Enter a "Display Name", for example "VAT rate", and the "Value", for example
19. - Switch on "User Defined" if every user should be able to have their own value.
- Save.
Settings¶
| Setting | Meaning | Default |
|---|---|---|
| "Display Name", "Description", "Tags" | Name and documentation. Write in the description what the value is used for. | – |
| "Value" | The value. For a user-defined global value, it is the default that applies until a user has a value of their own. Empty is a valid value. | empty |
| "User Defined" | Every user can have their own value, set by an action | off |
| "Persist User Defined Value" | The values of the users are stored in the database. Only shown with "User Defined". | off |
3. Reading a global value¶
| Where | How |
|---|---|
| In an expression | An expression of the type "Global Value" with the setting "Global Value". It can be used wherever an expression is used – in conditions, calculations, business rules, actions, filters. It needs no current record. |
| In a text | A text expression can contain a global value at any place, for example in a mail text: "Kind regards, your team of Company name". |
For a user-defined global value, the expression returns the value of the current user; if the user has none, it returns "Value". A global value inserted into a text is read the same way.
The value is text. Write numbers and dates in a form that the expression using them can read, for
example 19 or 2026-12-31.
Example: The expression "Gross amount" multiplies the net amount by 1 plus the global value "VAT rate" divided by 100. When the rate changes, only the global value is edited.
4. Changing a global value¶
In the editor¶
An administrator changes "Value" in the editor. The new value applies to all users. A user-defined value that a user already has is not affected – it continues to apply for that user.
For a user-defined global value, a changed "Value" reaches every user who has no value of their own, right away. Reading the global value does not give a user a value of their own; only "Update Global Value" does.
With an action¶
The action command "Update Global Value" writes one or more global values. For each entry:
| Setting | Meaning |
|---|---|
| "Global Value" | The global value to write |
| "Value" | An expression that computes the new value, evaluated for the record the action works on |
| "Condition" | Optional. The value is only written when the condition is true. |
What the command writes depends on the kind of global value:
| Kind | Effect of "Update Global Value" |
|---|---|
| Global value | "Value" is changed for everybody, immediately – also while a sketch is open, without going through the sketch |
| User-defined | The value of the current user is set. Other users are not affected. |
| Persistent user-defined | The value of the current user is set and stored in the database |
The command "Reset Global User Value" removes the value of the current user from a user-defined global value. Afterwards "Value" applies to them again. For a global value that is not user-defined it does nothing. See Actions.
Example: A dashboard offers the buttons "North", "South" and "All". Each runs an action with "Update Global Value" on the user-defined global value "Current region". The queries of the dashboard filter by this value – every user sees their own region.
5. How long user-defined values are kept¶
| Without "Persist User Defined Value" | With "Persist User Defined Value" | |
|---|---|---|
| Kept for | Until the server restarts | Until it is reset or changed |
| Reload of the page, new browser tab, signing in again | Kept | Kept |
| Server restart, update | Lost – "Value" applies again | Kept |
| Several servers | Each server has its own values. A user who is served by another server after a reconnect sees "Value" again. | The same everywhere |
| Several browser tabs or devices of the same user | Shared, as long as they are served by the same server | Shared |
Use "Persist User Defined Value" whenever a user would be surprised to lose their choice. Without it, the value behaves like a setting for the current working session that happens to survive reloads.
Without a user¶
A process without a user identity – a scheduled action, a mailbox listener – has no own value:
- Reading a user-defined global value returns an empty value, not "Value".
- "Update Global Value" and "Reset Global User Value" skip user-defined global values.
Do not use user-defined global values in logic that runs in the background.
6. Permissions¶
| Permission | Allows |
|---|---|
| "Open Global Value Manager" | Seeing the global values |
| "Add Global Value", "Edit Global Value", "Delete Global Value" | Creating, changing and deleting global values |
All four are part of "System Administrator". The action commands do not need these permissions: an action that runs "Update Global Value" changes the value for whoever runs it.
7. Limitations¶
- A global value has no type. It is always text.
- Values that are not persistent are kept in the memory of each server (section 5).
- "Update Global Value" changes a global value that is not user-defined immediately for everybody, bypassing the review of a sketch. If two actions write the same value at the same time, the last one wins.
- Deleting a global value leaves the expressions that read it in place; they return an empty value.
8. Frequently asked questions¶
What is the difference between a global value and a global setting? Global settings configure nexxcite itself – sign-in, sketches, mail (see Global settings). Global values are values of your application that you define yourself and use in your own expressions.
Can a user see or change a global value directly? No. Users only change a global value through actions you provide, for example a button.
Do I need a sketch to change a global value? No. Global values can always be changed without a sketch. While a sketch is open, a change in the editor is collected in it like any other definition.
Why does a scheduled action see an empty value? The value is user-defined, and a scheduled action has no user (section 5).