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.
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.
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.
A 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.
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.
On the lower left of the app bar, click the Ignitionicon 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.
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.
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.
Caching can be disabled via a flag in the ignition.conf file by using a jvm parameter:
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.
Ignition (as well as browsers) is 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|
|Browser||Minimum Version Required|
If a Perspective Session loses its connection to the Ignition Gateway, a message like the one shown below will be immediately displayed on the upper right-hand corner of the Session:
The message will outline the time the connection was lost, and the Session itself will continuously attempt to reconnect to the Gateway. When the connection between the Session and the Gateway is re-established, your Session will resume its normal operation. If the project associated with the Session is somehow deleted, the Session will fail to reconnect because its source project is missing. A project can be manually deleted or overwritten by a Gateway restore.