Contact Us .......................................................................................................... 21
Page 3
What Are Session Parameters?
Session parameters, also called session variables, in the context of a web
session are values that are available for the life of the session to web application.
The values are referenced by the web application by a defined name.
Session parameters are generally defined and managed by IIS, a parent web
application, or by the Ad Hoc application. For this paper, only the Ad Hoc related
session parameters will be considered.
Some examples of session parameters that are used throughout this paper are
the spCustomerID, spCustomerIDList, and spProductID. Their values will be
determined during the course of the following discussion, however, if the
spCustomerID session parameter is set to a value of “ANTON”, that value will
persist for the life of the session unless specifically over-ridden.
Page 4
What does “Scope” mean?
In the context of Ad Hoc session parameters, scope refers to the range of
application of a session parameter value. The session parameter exists for the
life of a session, but the value of a session parameter is determined by the
current scope.
In Ad Hoc, the initial definition of a session parameter determines the default
value. This value may be over-ridden at the organization level which could be
considered the “organization scope”. With version 10.0.71, the value may be
over-ridden at the user level. Ultimately, when a user logs into Ad Hoc, the
session parameter value will be determined by this system of defaults and overrides.
From the picture above, the CustomerID session parameter value is set to
“ANTON”. This is the default value for the session parameter. In the absence of
any over-rides, all users of the application will see “ANTON” when the
CustomerID session parameter is referenced.
The session parameter value may be over-ridden at the Organization level. From
the picture above, the CustomerID session parameter has been over-ridden for
an organization and set to “JOE”. In the absence of any further over-rides, all
users that are members of the organization will see “JOE” when the CustomerID
session parameter is referenced.
Page 5
The session parameter value may be set at the User level. From the picture
above, the CustomerID session parameter has been set for a specific user to
“DONNA”. That user will see “DONNA” whenever the CustomerID session
parameter is referenced. If a session parameter value has been set at the User
level, this value supersedes all default values for the session parameter.
Note: User scope for session parameter values is new feature in Versions
10.0.71 and higher.
Session parameter values will be determined for every user accessing the
application. The concept of scope has been incorporated into the Ad Hoc
interface to assist with the administration of session parameter values.
Page 6
How are Session Parameters used?
Session parameters may be used throughout Ad Hoc wherever a value may be
supplied. In prior versions of Ad Hoc, session parameters were used by
specifying an @Session token instead of a value.
As an example, if a label was used in a report the label value could have been
set literally as “Label Goes Here”. To do the same thing using a session
parameter, the label value might be set as @Session.LabelValue~. The actual
value of the session parameter will replace the token reference when the report
is run.
That @Session syntax is still available in the current version of Ad Hoc; however,
there are places in the Ad Hoc user interface that a session parameter can be
used by simply referring to the name of the session parameter.
Page 7
The Filter and Data Object Parameter dialogs are the most obvious examples.
See the examples below:
Notice that for the Valuethe source is set to “Session Parameter” and the value
is set to spCustomerID in the filter definition.
The same logic and interface are also presented in the Set Parameters option
for a Data Object (above).
Page 8
How do I define a Session Parameter in Ad Hoc?
Initial Definition
Session parameters are initially defined by clicking on Configuration.
If the ability to define and configure Organizations has been enabled, the
Session Parameters link will be found under the User Configuration tab.
Otherwise, the Session Parameters link will be found under Application
Configuration.
Click on the Session Parameters link to display the following page:
The Session Parameters page presents a list of defined session parameters.
To remove a session parameter, highlight the session parameter by clicking on
the checkbox adjacent to the session parameter and click on the Delete button.
Page 9
To add a session parameter, click on the Add button to open the following dialog:
The Parameter Name attribute is how the session parameter will be referenced
throughout the application.
The Type attribute defines one of the parameter types recognized by Ad Hoc.
The Type will be used along with the usage context to determine which session
parameters to display to the end user. For example, “Text” session parameters
should not be presented as options in the Ad Hoc user interface when the
context clearly calls for a numeric or date value.
The Types include:
Date – the session parameter value is expected to be a date and the
parameter will be available in date contexts
Number – the session parameter value is expected to be a number and
the parameter will be available in numeric contexts
Numeric List – the session parameter value is expected to be a list of
numbers and the parameter will be available for numeric “In List/Not In
List” contexts
Text – the session parameter value is expected to be a string of
characters and will be available in string contexts
Textual List – the session parameter is expected to be a list of string
values and will be available for text based “In List/Not in List” contexts
Page 10
Note: When one of the “list” types is selected the dialog will be adjusted to allow
specification of a list of values as shown below:
Note: If a “Date” type is selected, the dialog will be adjusted and a date picker
control will be displayed as shown below:
The Default Value attribute, in the absence of any over-rides based on
Organization or User, will be supplied to the application when the session
parameter is resolved during the execution of reports.
Page 11
Modifying Session Parameters
Session parameters and their initial (default) values are defined through the
Session Parameters page. The values may be over-ridden at the Organization
and User levels.
Pages and tools have been provided to manage the values for each organization
and user and across all organizations and users.
The action option for setting the session parameter value for a single
organization or user is Set Session Parameters. The actions for setting session
parameter values across all organizations and users are Set by Organization
and Set by User, respectively.
In addition, buttons have been provided to set the session parameter values
across a range of organizations and users. The Restore Defaults button will set
the targeted session parameter value to the default value for all selected
organizations or users. The Set Value button will present a dialog to specify a
new value and the new value will be applied to all selected organizations or
users.
Page 12
Organization Session Parameters
Organizations either use the session parameter value as it was originally defined
or the adjusted the session parameter value specific to the organization. The
actual session parameter must have been created through the session
parameters page. Only the value may be adjusted for the organization.
If a session parameter value is set for an organization, that value will be applied
to all users within that organization unless specifically over-ridden at the user
level.
To review or adjust the session parameter values for an organization, click on
Configuration and select Organizations from the User Configuration menu. The
following page will be displayed:
Page 13
Hover the mousepointer over the Action icon for an organization and select
Set Session Parameters from the list of actions. The following page will be
presented:
The Selected Organization identifies the organization that was the action target
from the previous page. The dropdown list allows the Administrator to select
other organizations and review or adjust their session parameters without having
to return to the Organizations page.
The Restore Defaults button provides a mechanism to set all of the highlighted
(checked) session parameters back to the values shown in the Default Value
column.
To change the parameter value, either enter the new value in the Parameter Value text box or hover the mousepointer over the Actions icon and select
Modify from the list of actions.
The Modify action will present a dialog relevant to the type of the session
parameter. “Date” session parameters will have a date picker control and “List”
session parameters will present a list of values in the dialog.
If the Parameter Value is set to something other than the default value, the
“Follow Default” value will be set to No.
Other Actions include Restore Default to set the value for the session parameter
back to the default value and Define by User that presents a page of users that
are members of the organization and their defined session parameter.
Page 14
The Selected Session Parameter initially identifies the parameter that was
specified when linking to this page. The dropdown list allows the Administrator to
review and modify other session parameter values for the group of users.
The Default Value is the value that will be used for all of the users in the list
unless the value is specifically over-ridden.
The Type indicates one of the five session parameter types; date, number,
numeric list, text and textual list.
The Role dropdown list may be used to filter the list of users. Initially the
dropdown indicates “All” and the list of user are all users in the Organization.
The Restore Default button will set the session parameter value for all selected
users back to the session parameter value specified for the Organization. Users
may be selected by clicking on the checkbox next to the user. All users may be
selected by clicking on the checkbox in the list header.
The Set Value button will open a dialog to acquire a new value and will apply the
value to all of the selected users.
The Is Default column gives an indication as to whether the value for the user
matches the default value for the Organization.
Page 15
To change the parameter value, either enter the new value in the Parameter Value text box or hover the mousepointer over the Actionsicon and select
Modify from the list of actions.
The Modify action will present a dialog relevant to the type of the session
parameter. “Date” session parameters will have a date picker control and “List”
session parameters will present a list of values in the dialog.
From the Actions icon, the session parameter value for the related user may be
reset to the default value for the Organization by clicking on the Restore Default
option.
User Session Parameters
User level session parameters may be set, as described above, by navigating
through the Organization configuration pages. In the event that the Ad Hoc
instance is not configured to use Organizations, user-level session parameter
values may be set by clicking on Configuration and selecting Session
Parameters from the Application Configuration menu.
To change the session parameter value for specific users, hover the
mousepointer over the Actionsicon and select Define by User from the list of
actions. This will present the following page:
Page 16
To change the parameter value, either enter the new value in the Parameter Value text box or hover the mousepointer over the Actionsicon and select
Modify from the list of actions.
The Modify action will present a dialog relevant to the type of the session
parameter. “Date” session parameters will have a date picker control and “List”
session parameters will present a list of values in the dialog.
Usage Scenarios
In Data Object Parameters
Data Objects may be configured to have filters permanently set on the data that
may be returned. A session parameter may be used as part of the filter definition.
For example, a Customers data object might be permanently filtered on the
Country column using a session parameter in the filter condition as in the
following figure:
In older versions of Ad Hoc, the @Session token would have been used as the
Specific Value for the filter.
Page 17
In the current release of Ad Hoc, a more user-friendly option has been provided.
Notice that the Value source option is set to Session Parameter and the value is
set to the session parameter name, “spCountry”.
The actual value of the spCountry session parameter will be determined by the
value set for the logged in user for the current session. The value may by the
original value defined for the session parameter or the organization level override or the user level over-ride. The actual value will be determined when the
user initially logs into Ad Hoc and establishes a session.
To demonstrate the value of the Typeattribute of a session parameter, a “textual
list” type session parameter named “spCustomerList” was created. The initial
value was set to a list of Customer ID’s for the session parameter. In the
following picture:
The Customer ID column is a text column. The Operator selected was “In List”.
The Values source was set to Session Parameter. The dropdown list of possible
session parameters available in this context was restricted to the “textual list”
session parameter type.
Page 18
In a Data Source Filter
Every Ad Hoc report must have a data source defined as the basis for the report.
One of the options on the data source is to specify a filter to be applied on the
data returned to the report. Session parameters may be incorporated into the
report filters in a manner similar to the Data Object Parameters outlined above.
From the Select or Modify Data Source Dialog:
Records from the Customers data object will be filtered by the
Customers.Country equal to the spCountry session parameter value. The actual
value will be determined when the report is run.
Page 19
In a Label or other Attributes
Session parameters values may be used for virtually any data oriented value in
the report definition. The following example shows a session parameter used in a
report label.
For a report label definition, following is an example of session parameter usage:
And the resultant report would appear as:
The session parameter token used in the report label definition was
@Session.spCountry~. The value of that session parameter token was “US”
when the report was run.
Notice that in this context the user must know the @Session token syntax and
the exact session parameter name for the token to be resolved properly when the
report is executed. This is the same functionality that existed in prior versions of
Ad Hoc.
Page 20
Record Level Security
With the extension of session parameters down to the user level, administrators
have better options for implementing record level security.
Record level security is implemented by placing permanent filters (parameters)
on the data objects to restrict the data that the user has access to. The basis for
these filters could be session values established at the user level. In prior
versions of Ad Hoc, the session values could have been established at the
application or organization level. If the data had to be restricted at the user level,
it wasn’t possible to configure the session parameters to accomplish that goal.
With the current release, record level security down to the user level is possible.
It is still not a security model inherent in the product, but the user level session
parameters allow the System Administrator to define the data and schema
structures such that data object parameters could be used to automatically filter
data returned to that pertinent for each user.
Page 21
Contact Us
For more information about other Logi Analytics products or assistance beyond
this user manual, please contact Logi Analytics in the following ways: