Session Applications

The Session Applications resource (meta_md_session_app) is part of the System Monitor module of iTopia. The Session Applications view tracks iTopia applications that are currently active within a Web browser window tab (or a background thread).

The purpose of an application is to ensure that one or more resources associated with a browser tab operate in a sandbox. An application within a sandbox cannot be accessed by resources running in a different tab. Resources within the same sandbox may share locks and application attributes.

An application starts with any one of the engine start handlers that needs to operate in the context of an application: wfEngine and metaEngine (i.e. the engine that runs workflows and the engine that runs metadata-driven views). The iTopia portal does not map to an application, since it does not need to keep state or hold locks. If the user shift-clicks on a resource, the given resource will always open in a new tab and hence run in the context of a new application. Locks are associated with a session application, ensuring locks obtained in one window tab (or thread) cannot be accessed by a resource in another, even if both are running under the same session.

A session application is immediately unregistered when:

  • Its browser tab is closed; and,
  • You log out of the system.

The following types of applications are valid:

  • A browser window tab:

    • Each new tab corresponds to a new application;
    • Pasting an emailable URL (i.e. a URL generated from Tools - Prepare Bookmark) in the tab creates a new application.

  • A queue consumer:

    • A background process, which registers an application.

  • A Web service:

    • A default application is created at login, and reused for the duration of the Web service conversation.

Mobile devices present the following exceptions:

  • These platforms support a single tab only.

  • Each time a new resource is launched, it represents a new application.

  • When launching a previously invoked application, the user is returned to a savepoint, and hence a previous application.

The following list defines every field available in the sessions (md_session) table in alphabetical order:

  • Application Name - the name of the application, which may be one of the following:

    • metaEngine
    • wfEngine
    • Tecsys-Queue-Consumer-queueName-id
    • MetaBaseWebService
    • TECSYS Voice Client

  • Created By - displays the name of the user who created the record you are viewing or maintaining. May not be overridden.

  • Created On - displays the date on which the record that you are creating or maintaining was created. May not be overridden. May also represent the creation date of the records you are attempting to retrieve.

  • Extra Attributes - a CLOB-type field used to store additional JSON information.

  • Inactivity Timeout - every browser tab sends a 'keep application alive' signal (aka heartbeat). The information stored in this field represents the number of seconds the application may live without such a heartbeat. In other words, this field determines how long an application can be inactive before expiring. By default, this value is 1800 seconds, and this is defined in the System Properties field in the environments table.

    • When an application goes undetected for the amount of time indicated here, the application is unregistered and the cleanup instructions are executed.

  • Last Access Time - the date and time at which this session application was last accessed.

  • Session Application Attributes - an expression column that provides details of the attributes associated with this session application.

    • When the field is personalized in the search results of a view, it shows the number of attributes. It is linkable to the Session Application Attributes view, and provides a hover preview.

    • When the field is personalized in the Details page, the information is embedded into the page and may not be modified.

  • Session Application ID - the unique identifier for the given session application.

  • Session ID - the unique identifier for a session.

  • Starting Resource Name - the first resource executed within the tab, before any linking occurs.

  • Terminated On - this field is not maintainable. The time at which the session application was terminated. This field contains no value in the case of an active session.

  • Termination Action - this field is not maintainable. The termination action. The following options are available:

    • Not Terminated (default) - indicates that the session is still active and not yet terminated.

    • Requested by User - indicates that the session was terminated by the user using the Logout action.

    • Requested by Administrator - indicates that the session was terminated using the Terminate Session action.

    • Oldest Session Terminated - indicates that the session was terminated by the system as the user exceeded the maximum number of sessions allowed. This restriction is imposed by licensing. When this occurs, the user's oldest session is automatically terminated or logged out.

    • Expired Session Terminated - indicates that the session was terminated by the system session cleanup as the session inactivity time exceeded the session timeout.

    • Terminated by System - indicates that the session was terminated by the system. These are sessions which were created by the system for background processes.

For the functionality of each action (i.e. button) available on this view, refer to the About the Actions topic.