Skip to main content
Version: 8.1

Session Properties

Inductive University

Session Props

Watch the video

Session properties are available for use throughout Perspective Sessions. Sessions of a given project will have the same list of properties, however, the actual values are unique and independent for each running Session.

Each Session creates its own instance of these properties. This makes them very useful as in-project variables for passing information between views or browser tabs, and between other parts of the Session, such as scripting.

The Property Editor displays Session properties when viewed from the Perspective Start screen. Each Session contains a series of properties with unique values. These properties provide some useful information about where the Session is running. Additionally, custom properties may be added, providing a way for a Session to store additional values that can be used in bindings and scripts, and are also important for passing parameters from one view to another.

Restrictions from System Properties

Some Session props are intentionally restricted with a System property and cannot be changed or removed. These properties have a System icon displayed next to them in the Property Editor.

Session Properties Table

NameDescriptionProperty Type
idUnique Session identifier.value: string
hostReflects the connecting system's IP address or hostname.

Changed in 8.1.10
The value of this property is impacted by the gateway's Resolve Client Hostname setting. While Resolve Client Hostname is enabled, the gateway will attempt a reverse DNS hostname lookup. Whatever is returned by this lookup will be set as the value for host.
value: string
themeThe theme to use in the Session. The default theme is light. Writing a theme name to this property will change the theme for the Session.value: string
localeThe current locale of this Session.value: string
timeZoneIdTimezone identification code, for example America/Los_Angeles.

This sessionProps.timeZoneId is the root property. The other timezone.id properties you may see are gateway.timezone.id and device.timezone.id. These are both read-only representations of what the Gateway and user agent (mobile device, browser, workstation, etc.) report back to the session. You can bind either of these properties to override the sessionProps.timeZoneId by setting the project property Timezone Behavior for Perspective to Gateway or Client. This will update the timeZoneId session property on session startup to the reported value.

Beyond manually updating in Session Props or binding the property, you can also update the timeZoneId session property so Perspective will react to updates dynamically.
value: string
lastActivity
New in 8.1.8
A readonly that represents the last time the session was interacted with, such as a user clicking within the session. The time reported by this property is based off of the gateway's time.
value: string
authRepresents the user's authentication and authorization for this Session. See auth properties.object
gatewayProperties for the Gateway that this Session is running on. The value of this property will not be saved with the view. Does not persist by default. See Gateway properties.object
deviceProperties for the device that is running the Session. See device properties.object
bluetoothOptions and data provided by device Bluetooth services. See bluetooth properties.object
geolocationOptions and data provided by web or native device geolocation services. See geolocation properties.object
appBarSettings relevant to the bottom-docked App Bar, which lists Gateway information. See appBar settings.object
pipes
New in 8.1.10
An object containing properties that pertain to pipes. See pipes properties.
object
symbols
New in 8.1.0
Settings relevant to the components on the Perspective Symbols Palette. See symbol component properties.
object
googleMapsApiKey
New in 8.1.33
Google Maps API Key. This key is required to use a functional version of the Google Map component.
value: string
address
New in 8.1.10
Represents the IP address of the Session as the gateway sees it.
value: string

Auth Properties

NameDescriptionProperty Type
authenticatedTrue if the user is authenticated. False if the user is unauthenticated. Null if the user's authentication status is unknown.value: boolean
userContains information about the user, if they are authenticated. See user.object
securityLevelsThe deepest security levels in the tree granted to the current user, starting with the children of the Public security level. The Public security level is never shown since all Sessions include Public. See securityLevels.array
idpIdThe identity provider's ID. Replaced by the idp property.value: string
idpThe name of the Identity Provider configuration set on the project.value: string
idpAttributesRepresents the JSON object returned by the identity provider after logging in. The structure of this object will match that of the JSON provided by the Test Login Identity Provider page.

Note: The Designer does not authenticate against identity providers in Ignition 8.0, so this object will always appear empty in the designer. Use the Test Login page to determine the shape of this property, or use a simple binding to something visual (i.e. a label) display and parse the results while developing your project.

Note: Ignition currently supports the Ignition and OpenID Connect (OIDC) Response Documents, but not SAML. Attempting to use a SAML IdP will result in the idpAttributes property containing an empty string. This note will be updated once support for SAML Response Documents has been implemented.
object

user

NameDescriptionProperty Type
idThe IdP's unique identifier for this user. Null if the user is not authenticated.value: string
userNameThe user's username. Null if the user is not authenticated.value: string
firstNameThe user's first name. Null if the user is not authenticated, if the IdP did not provide this attribute, or if no mapping was configured for this attribute.value: string
lastNameThe user's last name. Null if the user is not authenticated, if the IdP did not provide this attribute, or if no mapping was configured for this attribute.value: string
emailThe user's email address. Null if the user is not authenticated, if the IdP did not provide this attribute, or if no mapping was configured for this attribute.value: string
rolesThe roles that the IdP assigned this user. Null if the user is not authenticated, if the IdP did not provide this attribute, or if no mapping was configured for this attribute.value: string
timestampA timestamp representing the last time the current user authenticated against the Identity Provider.value: timestamp

securityLevels

NameDescriptionProperty Type
nameThe name for this security level. Must be unique among its siblings.value: string
childrenSecurity levels which descend from this security level.array

Gateway Properties

NameDescriptionProperty Type
addressRemote host address of the connected Gateway.value: string
timezoneDocument providing time zone information. See Gateway - timezone.object
connectedTrue when connected to a websocket. All tabs in the Session must have a connected websocket to become true. If a Session disconnects but is still open in the browser, the property will not change, as the property write from the Gateway can't write to the disconnected Session.value: boolean

Gateway - timezone

NameDescriptionProperty Type
idTime zone identification code, for example America/Los_Angeles.value: string
nameName of the timezone.value: string
utcOffsetOffset of the current timezone relative to UTC, in hours.value: numeric

Device Properties

NameDescriptionProperty Type
typeType of device that created this Session. Read only. Options are ios, android, designer, browser, and workstation. Empty string if device is unknown during loading.value: string
identifierUnique ID representing this device. This is a convenience property not intended/suited for security purposes. May change via device/application re-installs or browser cache clears.value: string
timezoneDocument providing time zone information. See device - timezone.object
userAgentUser agent string of the connected device.value: string
settingsArray of settings for the device. See device - settings.object
accelerometerWhen continuous read mode is active, represents values retrieved from the accelerometer. See device - accelerometer.object

device - timezone

NameDescriptionProperty Type
idTime zone identification code, for example America/Los_Angeles.value: string
utcOffsetOffset of the current timezone relative to UTC, in hours.value: numeric

device - settings

NameDescriptionProperty Type
pullToRefresh
New in 8.1.5
If true, swiping down from the top of page and holding for two seconds will refresh the project in the mobile Perspective App. If false, swiping down will scroll the screen. Default is true.
value: boolean
preventSleepPrevents the device from sleeping while viewing project in the mobile Perspective App. Default is false.value: boolean

device - accelerometer

NameDescriptionProperty Type
timestampTimestamp represented as standard 'milliseconds since unix epoch'.value: string
xAcceleration force (in m/s2) along the x axis (including gravity).value: numeric
yAcceleration force (in m/s2) along the y axis (including gravity).value: numeric
zAcceleration force (in m/s2) along the z axis (including gravity).value: numeric

Bluetooth Properties

NameDescriptionProperty Type
enabledIf true, enables bluetooth capability.value: boolean
optionsBluetooth options. See Bluetooth options.object
dataWill populate with most recent packets from any detected beacons.array

bluetooth - options

NameDescriptionProperty Type
updateIntervalHow often should the Session check for new data packets. Duration in ms to buffer Bluetooth data before sending to Perspective.value: numeric
limitMaximum number of packets to display. The order of packets is strongest RSSI (Received Signal Strength Indicator) to weakest.value: numeric
filterBluetooth filtering options. See filter.object
filter
NameDescriptionProperty Type
enabledIf true, will enable filtering on the packets.value: boolean
minimumRSSIMinimum strength of RSSI to return. Enter 0 to ignore.value: numeric
altBeaconAltBeacon format. See altBeacon.object
eddystoneEddystone open beacon format. See eddystone.object
iBeaconiBeacon format. See iBeacon.object
altBeacon
NameDescriptionProperty Type
exclusiveExclude other beacon types that are not altBeacon.value: boolean
uuidThe 16 byte beacon identifier. Ignores packets that don't match the value specified.value: str
eddystone
NameDescriptionProperty Type
exclusiveExclude other beacon types that are not eddystone.value: boolean
nameSpaceIDNamespace identifier. Ignores packets that don't match the value specified.value: string
iBeacon
NameDescriptionProperty Type
exclusiveExclude other beacon types.value: boolean
uuid16 byte proximity uuid of iBeacon. On iOS this must be specified in order to receive iBeacon data.value: stri

Geolocation Properties

NameDescriptionProperty Type
enabledIf true, will attempt to populate location data into the 'data' property.value: boolean
permissionGrantedIf geolocation is enabled and a geolocation permission prompt is requested, this field populates true if the user allowed permission. Otherwise, it is false. Read only.value: boolean
optionsSee geolocation - options.object
dataIf geolocation is enabled and the device can provide geolocation data, this will hold information about location. See data.object

geolocation - options

NameDescriptionProperty Type
accuracyIndicates the mode of accuracy the application uses to receive results: max, balanced, and low. See accuracy.value: boolean
maximumAgeA positive long value indicating the maximum age in milliseconds of a possible cached position that is acceptable to return. If set to 0, it means that the device cannot use a cached position and must attempt to retrieve the real current position. If set to infinity, the device must return a cached position regardless of its age. Default is 0.value: num

geolocation - options - accuracy

NameDescriptionProperty Type
maxMaximum accuracy (and highest battery use). Accurate to the level allowed by the environment/device.value: string
balancedBalanced accuracy - accuracy resolves ~100m (about a city block) using a more efficient poll rate and supplementing with device data. Balanced is the default value.value: string
lowLow accuracy typically does not use a GPS sensor, but relies on environmental meta data (such as cell tower information, Wi-Fi connectivity, etc.). Most efficient, accurate to approximately town/3 kilometers.value: string

data

NameDescriptionProperty Type
latitudeA floating point value representing the position's latitude in decimal degrees. Null if location is disabled.value: float
longitudeA floating point value representing the position's longitude in decimal degrees. Null if location is disabled.value: float
altitudeA double representing the position's altitude in meters, relative to sea level. This value can be null if the implementation cannot provide the data.value: double
accuracyA double representing the accuracy of the latitude and longitude properties, expressed in meters.value: double
altitudeAccuracyA double representing the accuracy of the altitude expressed in meters. May be null if device fails to provide or if geolocation is disabled.value: double
headingReturns a double representing the direction in which the device is traveling. This value, specified in degrees, indicates how far off the device is from heading true north. 0 degrees represents true north, and the direction is determined clockwise (which means that east is 90 degrees and west is 270 degrees). If speed is 0, heading is NaN. If the device is unable to provide heading information, this value is null.value: double
speedReturns a double representing the velocity of the device in meters per second. This value can be null.value: double
timestampTime the last location update was received.value: string

appBar Settings

NameDescriptionProperty Type
togglePositionThe position of the overlaid toggle button that shows the app bar: right, left or hidden.value: string
about
New in 8.1.20
Settings allowing for more customization of the bottom-docked App Bar. See about.
object

about

NameDescriptionProperty Type
showDetermine if a custom about page should be shown.value: boolean
iconThe path of the about button icon.value: string
pathPath of the view to display in the about modal.value: string
titleThe title of the about modal.value: string

Pipes Properties

NameDescriptionProperty Type
autoAppearanceThe styling to use when a set of pipes is set to an "auto" style.value: string
overlapGap
New in 8.1.18
The width of the gap to draw when P&ID pipes overlap. When this property is set to 0 or a negative number, no overlap is rendered. This may result in a rendering performance boost when using complex P&ID pipes. Default is 4.
value: numeric

Symbol Component Properties

NameDescriptionProperty Type
autoAnimationSpeedSets the animation speed for any Perspective symbol components that have their animationSpeed property set to auto.value: string
autoAppearanceSets the appearance for any Perspective symbol components who have their appearance property set to auto. Options are auto, p&id, mimic, and simple.value: string