The Ignition Perspective Module is getting some major attention in Ignition Version 8.0.6. As the update train continues to roll along, we are busy making stops along the way to check on all of the feedback from our community. In Ignition 8.0.6, we’ve added several community-requested features to Perspective, including a component that we’ve ported over from the Vision Module. In this blog post, we’ll explain those new Perspective features and look into a new way to make HTTP requests.
New Perspective Components
Let’s begin with two new Perspective Components.
The first component was highly requested by the community. Perspective now has a dedicated Video Player component, capable of playing hosted videos as well as streaming live feeds.
The Video Player component has all of the common features you would expect of a video player, such as dedicated controls and variable playback speeds. In addition, the component is loaded with various status properties, signaling when the video is paused or ended, as well as various other states. This allows you to configure bindings and scripts that watch for status changes, and react in some useful way.
The View Canvas is a new component based on the Vision Template Canvas component. The component can embed one or more Embedded View instances and position them in a coordinate layout, allowing you to provide explicit XY coordinates to each instance. As with many of the other embedding components, you’re able to apply style configurations, and pass view parameters to each instance. If you’re familiar with the Flex Repeater component, imagine that but with a coordinate layout.
Additionally, the component was designed with the idea of applying CSS transitions to instances as their position properties are manipulated. So moving the instances, either by script or with a binding, will apply a smooth animation as the instance reaches its new position.
Lastly, there is a built-in onInstanceClicked event that triggers whenever an instance inside of the canvas is clicked, providing a means of knowing when the user clicks on an instance, as well as which instance was clicked.
Hiding Perspective Projects from Launchers
Another short but sweet community request is the ability to hide projects from the various Perspective session launching platforms. In 8.0.6, you’ll find a new property located under Perspective General, appropriately titled “Hide From Launch Page And Native Apps”.
As the name implies, enabling this property will hide the project from the Gateway’s Perspective Launch page (under the Home section) and the project listing on the Ignition Perspective mobile app. This setting doesn’t prevent launching, so it’s a good idea to enable authentication on hidden projects to ensure unauthorized access doesn’t occur.
We added Project Browser badges (icons signifying some configuration) for Perspective resources, which was another community-requested feature. The icons were useful in Vision when attempting to understand how an existing window works. Being able to know which components contain scripts and bindings is helpful, especially so if the window was configured by another person.
With 8.0.6, several new badges have been introduced, continuing the trend that the Deep Selection badge started. In the image below, we see the new badges in place, located to the right of each component (and one on the “Badges” view).
Each has a tooltip to help users identify their meaning. Our hope is that this small change can help users quickly orientate themselves when looking at resources configured by other users.
Rotation in Perspective received an overhaul. While rotation properties have been present since the 8.0.0 release, the experience has been somewhat lacking. 8.0.6 brings some notable improvements to rotation.
First, rotation properties have migrated from Meta properties to Position properties. Upon upgrade, existing values and bindings will be migrated over to the new properties automatically, so no worries for those folks who have already started implementing rotation in their projects.
In addition, a new rotation UI has been added, making it easy to rotate components as well as set the anchor, or point of rotation, without manually typing values in the Property Editor.
New system function: system.net.httpClient()
In 8.0.6, we are also introducing a new way to make HTTP requests, providing considerably more flexibility over prior methods.
In the past, making such requests involved using the various system.net. functions, like httpGet or httpPost. The new function allows you to make the same calls as all of the other http* functions, but with vastly improved flexibility, such as the ability to make asynchronous (i.e., non-blocking) requests, including built-in methods to dictate what happens with the response!
A noticeable improvement over the older methods is the ability to define the verb on a request. The old functions were fixed with Get, Post, Put, Delete, and a dedicated method parameter, so they couldn’t be used to interact with any other verbs. With this new function, there are dedicated request() and requestAsync() methods that allow you to define the verb as a parameter, offering a massive degree of flexibility from a single system function.
Documentation on the new function can be found in the Ignition User Manual.
Stay Up to Date
For more information about this update, please refer to the release notes and the Ignition User Manual. Our Ignition update release train is chugging along and the next train reaching the station will be Ignition 8.0.7.