Appboard/2.4/builder/system administration/session variables: Difference between revisions

imported>Jason.nicholls
imported>Jason.nicholls
Line 59: Line 59:
|
|
* ''Server Use Only:'' on by default and means the variable is only used internally. By un-checking this the variable can be passed in via URL parameters - see the [[appboard/2.4/admin/accessing_appboard#Session Variables|Accessing AppBoard]] page for more information.
* ''Server Use Only:'' on by default and means the variable is only used internally. By un-checking this the variable can be passed in via URL parameters - see the [[appboard/2.4/admin/accessing_appboard#Session Variables|Accessing AppBoard]] page for more information.
* ''Encrypted:''  
* ''Encrypted:'' This flag will ensure the variable value is not shown anywhere in the AppBoard UI, instead the string <tt>!!encrypted!!</tt> is shown. Note: encrypted values will not be returned in either <tt>appboard.session.CustContext</tt> or <tt>appboard.session.MyCustUserEnv<tt> records.
* ''LDAP:'' this is hidden unless the ''User'' scope is checked. This is an '''indicator only''' for the administrator that this variable will be set dynamically from LDAP. The job of configuring LDAP-to-variable mapping is via configuration file (please contact support).
* ''LDAP:'' this is hidden unless the ''User'' scope is checked. This is an '''indicator only''' for the administrator that this variable will be set dynamically from LDAP. The job of configuring LDAP-to-variable mapping is via configuration file (please contact support).
|-
|-

Revision as of 13:50, 3 October 2013


The Session Variable administration page allows the definition and default configuration for session variables within the AppBoard system.

Session Variables administration page


Overview

Typical uses for session variables:

  • storing environmental information that is subject to change such as database hostnames, usernames, passwords.
  • associating extra information for domains and users, which can then be used for a variety of purposes such as modifying queries etc... This may be helpful in multi-tenanted deployments.
  • a central place to store simple key information used in multiple places

Session variables can be used anywhere SHIM expressions are permitted using session.var.get.

There are a number of ways to set session variables:

  • Session Variables administration page to define and set defaults
  • URL parameters to override session variables (only allowed if configured this way)
  • Explicitly set through the use of a SHIM expression session.var.set.
  • Imported at runtime dynamically, for example by pulling in additional user attributes from LDAP and assigning them to session variables.

Variable Scoping

An important concept is that session variables are globally available but can actually have different values depending on the session and whether the session variable has been defined to have Domain and/or User scope. For a given session the most specific version takes precedence: user, then domain, then the system default.

Managing Session Variables

Manage Variables dialog

The default screen when accessing the Sessions Variable administration page provides the mechanism to override Domain and User scoped variables. To actually define and edit default values click the Manage Variables button to bring up the Manage Variables dialog as shown to the right.

This dialog can be used to:

  • Add new variables
  • Delete variables
  • Configure existing variables

The following table provides a description of the configuration fields when defining variables:

Field Description
Name Shows the name of the currently selected variable. This is not editable, if a variable with an incorrect name is created then delete it and create another.
Description This description is purely for the AppBoard administrator. Best practices is to provide some information around why and what the variable is used for.
Type Drop-down selection of the data type of the variable. The default is STRING, but other types include BOOLEAN, NUMBER, INT, and DATE
Scope Check the Domain and/or User boxes allow for domain and user scoping. See the Variable Scoping section above for more information.
Options
  • Server Use Only: on by default and means the variable is only used internally. By un-checking this the variable can be passed in via URL parameters - see the Accessing AppBoard page for more information.
  • Encrypted: This flag will ensure the variable value is not shown anywhere in the AppBoard UI, instead the string !!encrypted!! is shown. Note: encrypted values will not be returned in either appboard.session.CustContext or appboard.session.MyCustUserEnv records.
  • LDAP: this is hidden unless the User scope is checked. This is an indicator only for the administrator that this variable will be set dynamically from LDAP. The job of configuring LDAP-to-variable mapping is via configuration file (please contact support).
Ordinal Position Can be used to order the list of variables in this dialog.
Default Value Define the default value of this variable here.


Setting Scoped Overrides

The Managed Variables dialog allows for variables to be configured along with their default values. If the Domain and/or User scopes have been checked then the main Session Variables administration page is used to specify the Domain and User specific overrides.

To set an override:

  1. Bring up the Session Variables administration page
  2. Select the appropriate domain from the Domain drop-down selection.
  3. Either select the domain itself or a specific user in the Users list.
  4. At this point the Variables pane should show any variables that are scoped for the selection made (either domain or user or both).
  5. Type in an override value for desired variable.

As shown in the example screenshot at the top of this page, the domain System is selected which is showing a variable Test. As the field is blank there is currently no override, but the administrator could specify one here.