You're currently browsing the Ignition 8.0 docs. Click here to view the latest docs.


Session Overview

A Perspective Session represents one instance of a project running on a web browser or mobile app. The term "session" might be new to some users, where "client" or "runtime" may sound more familiar. So anytime we refer to a session, we are talking about a runtime application in Perspective.

Now that you know that a session is effectively running an instance of the application, it can have multiple Pages in the same web browser. Perspective Sessions work the same way as web pages do on your favorite website on the internet. You can log into your favorite shopping website and then open several new tabs, where each tab is aware of your user credentials without having to retype them.  

A session appears fairly simplistic, but there is actually a rich hierarchy of elements to be aware of. This page details the various moving pieces that comprise a session. 

Session Anatomy

A Perspective Session contains a hierarchy of logical elements, as shown in the example below. 

A session can have any number of pages at a time, pages can have any number of views, and containers can have any number of components, including other containers as children, which can also be nested to support multiple layout strategies. In this section, we discuss each building block of this hierarchy, starting at the bottom and working our way up. When describing each element, it helps to understand the smallest piece first which is a component, and then move up the hierarchy simply because that's where the design process begins in Perspective.


On this page ...

IULocgo


Perspective Project Elements

Component

Components are elements that you can select from to design your project. Perspective has a host of built-in components such as displays, buttons, charts, and other elements that display information to the user viewing a session. There is also an Embedded View component that allows you to include a view in the place of any component in the above structure.

Container

Containers are elements that contain components. You can nest one container inside of another container. It is important to note that containers do more than simply contain components, they also define a layout strategy of how components inside a container resize and reposition. Because of this, there are several different types of containers and each behave differently, and support different layout strategies

View

Views are the primary unit of design in Perspective. Views are unique in that they can act as both a top level screen (a whole page in your session) or a component (embedded in another view). Each View is a project resource, which are named and organized into folders in the Ignition Designer’s Project Browser tree. These folders/paths are important not only for organization and referencing, but also because these paths uniquely identify each view, and are used in the session (runtime) for navigation. Each View has a container type that decides how the components inside it will behave. Multiple Views can be present within the same page, and views can also be nested. Parameters can be passed into a view from an external source.

Page

Page represents a collection of views that are displayed in a single space such as a browser window or tab, and is the main navigation element in a session. Each page consists of a primary view, but multiple views can be defined from within a single page. Some views can be docked to specific edges of the page, or “popups” floating on top of the other views. Multiple pages can be open as part of the same session, but can show different  information. A URL is defined for a page, which means the Forward and Back buttons in a web browser can be used to navigate to pages that have already been visited.

Properties

A session has its own properties that can be customized. For information, see Session Properties.

A Simple Example

If you are just starting to explore Perspective, you will most likely create a single view, add a few components (no containers), and then launch a session. In this case, our structure seems much simpler than the diagram above, but your session has one page, which is displaying one view, which has a few components. As you add to your project, it will become more complex and start to resemble the image above.


Launching a Perspective Session

There are three ways to launch a Perspective Session:

  • From the Designer
  • From the Gateway Webpage
  • By entering the web address of the project in your web browser

Launching a Session from the Designer

Launching a Perspective Session from the Designer is a great method if you're testing your changes.  When you're in the Designer, simply click the Tools > Launch Perspective > Launch Session from the top menubar. This opens a session for the project you are working on directly from the Designer. 

2018-11-21_15-35-22.png

Launching a Session from the Gateway Webpage

On the Gateway Webpage, you'll notice the Get Started page is the home page. Under the Perspective logo, click View Projects



The window will window refresh with a list of Perspective projects. Find your project and click the Launch Project button. This opens your project in a browser tab.

Launching a Session using the Web Address 

In your web browser, enter the web address of your project. This address follows a special pattern and can either take an IPAddress:port, or if you have redirection set up on your network, it could be very simple. If you are using a local Ignition instance, you can use localhost:8088. This will take you to the Ignition installed on your computer.

Possible Project Links
Generic Project Link
http://<IP Address>:<port>/data/perspective/client/<Project Name>

IP Address Project Link
http://10.20.30.40:8088/data/perspective/client/QuickStart

Redirection Project Link
http://demo.ia.io


Local Project Link
http://Localhost:8088/data/perspective/client/QuickStart


IULocgo


Launching a Session



Session App Bar 

At the bottom of every Perspective Session, there is an app bar with a few options that provide information about Ignition and the current session. To display the app bar, click the Maximize  icon in the lower right corner of the screen. 

This brings up the app bar at the bottom of the window.


The following feature is new in Ignition version 8.0.5
Click here to check out the other new features
You can change the location of the Maximize/Minimize icon on the app bar in the Property Editor. Scroll down the list of properties and expand the appBar property. Right click on the togglePosition property and select one of the three options: leftright or hidden.


IULocgo


Session App Bar

On the lower left of the app bar, click the Ignition  icon to open the About Ignition information pop up. This screen has a short introduction to Ignition and a link to the Inductive Automation website. Use the scroll bar on the right to scroll down. 


Here you'll see the number of modules installed on the Gateway, along with a list of those a modules, their version numbers, and whether they are currently running.

  


In the middle of the app bar at the bottom of the window, the current Gateway ID is displayed. Click on this for additional information. The popup screen shows the current user and connected Gateway. If no user is signed in, a Sign In button is displayed in the upper right corner.

Click on the right arrow or anywhere on the Gateway name to open the Session Status popup.


The Session Status popup has two tabs: Gateway and Project. Under the Gateway tab, you can see the connection status, Gateway URL, Session ID, and Page ID.  The Visit Gateway button is a shortcut to the Gateway Homepage. 

Under the Project tab, you see the name of the project, the last modified date for the project, and whether the project is up to date.



Project Updates

If you have a Perspective Session open and a change was made in the Designer that was saved and published, one of two things may happen. Either the project will silently update, or an Update Notification window will appear in your session. Your session will automatically update in 30 seconds or you can click Update Now

In order to receive update notifications in a Perspective Session the Update Notification option must be enabled. To access the Project Properties, in the Designer, click on Project tab on the menu bar. Then select Project Properties.  Scroll down to Perspective > General and then check Enable Update Notification.


IULocgo


Session Update Notifications


Page URLs

Because Perspective is designed to operate in a web browser, each page must be “mounted” at a given URL. The URL setting of the page will be reflected in the browser’s URL bar if the session is running in a consumer web browser. To learn more, refer to the section on Page URLs in Pages in Perspective.

Pages can be mounted at URLs that also include parameters. These parameters are used to allow a page to be mounted at a dynamic URL, allowing information in the URL to be interpreted as input parameters to the page’s primary view. Go to the section on Passing Parameters to get more detailed information on passing URL parameters.


The following feature is new in Ignition version 8.0.3
Click here to check out the other new features

Browser Caching

Perspective Sessions cache assets (our CSS, JS, fonts, and images) to reduce load times after the first time opening the project. Sessions will cache assets, but some browsers will attempt to re-download assets on refresh. This is mostly controlled by the browser instead of Ignition so there are some important differences between browsers.

Chrome and Safari handle browser cache differently than Edge and Firefox when it comes to hitting the ‘refresh’ or ‘reload’ button. Edge and Firefox both seem to send a request for new copies of the resources with header of max-age=0 instead of pulling from the cache. Navigating via a 'back’ button or entering in the URL bar and pressing ‘enter’ will load from cache. This seems to simply be a design difference by these two browsers, in which both are working as intended.


Cache-Control


Caching can be disabled via a flag in the ignition.conf file by using a jvm parameter:


Dperspective.gateway.disableClientCaching=true


Users can also control what gets cached via the `Cache-Control` flag. Response header’s Cache-Control value defaults to:


public, max-age=2419400, no-transform


You can set your own cache-control header via another env var: 


-Dperspective.gateway.cacheControl=<some alternative cache control settings>


You can learn more about the Cache-Control flag through online resources like the MDN Web Docs.


Browser Version Requirements

Browser version requirements are hard to define since each major or minor browser versions may introduce new CSS specifications which are leveraged by individual features in Perspective. For example, a container component built around a relatively new and exciting CSS layout system will likely require a more recent browser version. In general however, the supported browser listed below do a good job at staying up to date with implementation and support of these new specifications.

Our general policy is to only use features that have been supported for some time, whenever possible. We are currently using features that have been standardized for a few years before Perspective was even released. Overall, we will always recommend that you keep your browser up to date to take advantage of browser features, fixes, and most importantly for security updates.

We, along with browsers, are constantly evolving and leveraging new APIs to provide you with the best experience possible, so it's difficult to pin down minimum versions for 100% of Perspective's functionality. We do take care to ensure Perspective sessions will always work on the browsers and versions listed below. Perspective sessions may very likely work for some browsers that are not even listed below, but we do not test against them, and thus cannot guarantee their behavior.

Some browsers that are not listed below may also work, but we cannot guarantee them.

Basic Session Functionality Requirements for Ignition 8.0.0
BrowserMinimum Version Required
Chrome57
Firefox52
Safari11
Edge16


Related Topics ...
In This Section ...


  • No labels