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​
Name | Description | Property Type |
---|
id | Unique Session identifier. | value: string |
host | Reflects 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 |
theme | The 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 |
locale | The current locale of this Session. | value: string |
timeZoneId | Timezone 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 |
auth | Represents the user's authentication and authorization for this Session. See auth properties. | object |
gateway | Properties 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 |
device | Properties for the device that is running the Session. See device properties. | object |
bluetooth | Options and data provided by device Bluetooth services. See bluetooth properties. | object |
geolocation | Options and data provided by web or native device geolocation services. See geolocation properties. | object |
appBar | Settings 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​
Name | Description | Property Type |
---|
authenticated | True if the user is authenticated. False if the user is unauthenticated. Null if the user's authentication status is unknown. | value: boolean |
user | Contains information about the user, if they are authenticated. See user. | object |
securityLevels | The 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 |
idpId | The identity provider's ID. Replaced by the idp property. | value: string |
idp | The name of the Identity Provider configuration set on the project. | value: string |
idpAttributes | Represents 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.
New in 8.1.42 Ignition now supports SAML Response documents. When the project IdP is a SAML IdP, the idpAttributes object will contain an authnResponse property, which holds the SAML Response XML string. See idpAttributes. | object |
Name | Description | Property Type |
---|
id | The IdP's unique identifier for this user. Null if the user is not authenticated. | value: string |
userName | The user's username. Null if the user is not authenticated. | value: string |
firstName | The 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 |
lastName | The 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 |
email | The 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 |
roles | The 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 |
timestamp | A timestamp representing the last time the current user authenticated against the Identity Provider. | value: timestamp |
securityLevels
​
Name | Description | Property Type |
---|
name | The name for this security level. Must be unique among its siblings. | value: string |
children | Security levels which descend from this security level. | array |
idpAttributes
​
New in 8.1.42
Name | Description | Property Type |
---|
authnResponse | The SAML Response XML string when the project IdP is a SAML IdP. | value: string |
Gateway Properties​
Name | Description | Property Type |
---|
address | Remote host address of the connected Gateway. | value: string |
timezone | Document providing time zone information. See Gateway - timezone. | object |
connected | True 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
​
Name | Description | Property Type |
---|
id | Time zone identification code, for example America/Los_Angeles. | value: string |
name | Name of the timezone. | value: string |
utcOffset | Offset of the current timezone relative to UTC, in hours. | value: numeric |
Device Properties​
Name | Description | Property Type |
---|
type | Type 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 |
identifier | Unique 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 |
timezone | Document providing time zone information. See device - timezone. | object |
userAgent | User agent string of the connected device. | value: string |
settings | Array of settings for the device. See device - settings. | object |
accelerometer | When continuous read mode is active, represents values retrieved from the accelerometer. See device - accelerometer. | object |
device - timezone
​
Name | Description | Property Type |
---|
id | Time zone identification code, for example America/Los_Angeles. | value: string |
utcOffset | Offset of the current timezone relative to UTC, in hours. | value: numeric |
device - settings
​
Name | Description | Property 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 |
preventSleep | Prevents the device from sleeping while viewing project in the mobile Perspective App. Default is false. | value: boolean |
device - accelerometer
​
Name | Description | Property Type |
---|
timestamp | Timestamp represented as standard 'milliseconds since unix epoch'. | value: string |
x | Acceleration force (in m/s2) along the x axis (including gravity). | value: numeric |
y | Acceleration force (in m/s2) along the y axis (including gravity). | value: numeric |
z | Acceleration force (in m/s2) along the z axis (including gravity). | value: numeric |
Bluetooth Properties​
Name | Description | Property Type |
---|
enabled | If true, enables bluetooth capability. | value: boolean |
options | Bluetooth options. See Bluetooth options. | object |
data | Will populate with most recent packets from any detected beacons. | array |
bluetooth - options
​
Name | Description | Property Type |
---|
updateInterval | How often should the Session check for new data packets. Duration in ms to buffer Bluetooth data before sending to Perspective. | value: numeric |
limit | Maximum number of packets to display. The order of packets is strongest RSSI (Received Signal Strength Indicator) to weakest. | value: numeric |
filter | Bluetooth filtering options. See filter. | object |
Name | Description | Property Type |
---|
enabled | If true, will enable filtering on the packets. | value: boolean |
minimumRSSI | Minimum strength of RSSI to return. Enter 0 to ignore. | value: numeric |
altBeacon | AltBeacon format. See altBeacon. | object |
eddystone | Eddystone open beacon format. See eddystone. | object |
iBeacon | iBeacon format. See iBeacon. | object |
altBeacon
​
Name | Description | Property Type |
---|
exclusive | Exclude other beacon types that are not altBeacon. | value: boolean |
uuid | The 16 byte beacon identifier. Ignores packets that don't match the value specified. | value: str |
eddystone
​
Name | Description | Property Type |
---|
exclusive | Exclude other beacon types that are not eddystone. | value: boolean |
nameSpaceID | Namespace identifier. Ignores packets that don't match the value specified. | value: string |
iBeacon
​
Name | Description | Property Type |
---|
exclusive | Exclude other beacon types. | value: boolean |
uuid | 16 byte proximity uuid of iBeacon. On iOS this must be specified in order to receive iBeacon data. | value: stri |
Geolocation Properties​
Name | Description | Property Type |
---|
enabled | If true, will attempt to populate location data into the 'data' property. | value: boolean |
permissionGranted | If 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 |
options | See geolocation - options. | object |
data | If geolocation is enabled and the device can provide geolocation data, this will hold information about location. See data. | object |
geolocation - options
​
Name | Description | Property Type |
---|
accuracy | Indicates the mode of accuracy the application uses to receive results: max, balanced, and low. See accuracy. | value: boolean |
maximumAge | A 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
​
Name | Description | Property Type |
---|
max | Maximum accuracy (and highest battery use). Accurate to the level allowed by the environment/device. | value: string |
balanced | Balanced 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 |
low | Low 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 |
Name | Description | Property Type |
---|
latitude | A floating point value representing the position's latitude in decimal degrees. Null if location is disabled. | value: float |
longitude | A floating point value representing the position's longitude in decimal degrees. Null if location is disabled. | value: float |
altitude | A 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 |
accuracy | A double representing the accuracy of the latitude and longitude properties, expressed in meters. | value: double |
altitudeAccuracy | A 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 |
heading | Returns 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 |
speed | Returns a double representing the velocity of the device in meters per second. This value can be null. | value: double |
timestamp | Time the last location update was received. | value: string |
appBar
Settings​
Name | Description | Property Type |
---|
togglePosition | The 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 |
Name | Description | Property Type |
---|
show | Determine if a custom about page should be shown. | value: boolean |
icon | The path of the about button icon. | value: string |
path | Path of the view to display in the about modal. | value: string |
title | The title of the about modal. | value: string |
Pipes Properties​
Name | Description | Property Type |
---|
autoAppearance | The 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​
Name | Description | Property Type |
---|
autoAnimationSpeed | Sets the animation speed for any Perspective symbol components that have their animationSpeed property set to auto. | value: string |
autoAppearance | Sets 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 |