Ignition 8.1.15: Perspective Components Get a Boost, Creating Tags Gets Easier, and Much More
Can you feel it, the rumble under your feet? The distant horn of the release train beckons you to race to the station to witness the arrival of Ignition 8.1.15! As each train arrives, Ignition gets new, community-requested features that will surely make working with Ignition even more enjoyable. This edition brings forth updates that improve the Perspective Map component, tag creation, and the overall usability of the Ignition platform.
Updates to Perspective
Perspective receives several choice updates in Ignition 8.1.15. Let us take a deeper look.
A Pointed Update
In Perspective, when you click on a button or hover over an element there are mouse events that allow you to trigger a script or some built-in action such as navigation or a popup. With the increased use of digital pens, styluses, and touch screens, mouse events did not adequately support all input methods.
In 8.1.15, the component events in Perspective include Pointer Events that provide a broader scope for all input types. In addition to mouse inputs, the Pointer Events include support for pens, styluses, and touch screens.
Mouse events are limited to clicks and movement. Script actions on pointer events provide access to additional arguments, such as pressure, taps, rotating, twisting, and gestures, to name a few. This gives you greater flexibility when it comes to event triggering in your maps. To learn more about pointer events in general, please visit: https://developer.mozilla.org/en-US/docs/Web/API/Pointer_events.
An Improved Perspective on Maps: GeoJSON With Style, and More
This next feature has been a user request for some time. The Map component in Perspective consists of four layers: Raster, Vector, User Interface (UI), and Other. The Other layer contains GeoJSON objects (GeoJSON is a format for encoding a variety of geographic data structures).
Beyond their navigational purposes, Internet-based maps also allow us to add census, environmental, and political data, and health statistics (as seen during the pandemic), that help us make informed decisions. This information, driven by GeoJSON, is represented by geographic data structures which can be pulled into Ignition and displayed in the Map component, including its styling.
In 8.1.15, we have expanded our GeoJSON support to include style options as well as the ability to specify additional marker-specific configurations such as tooltip, popup, draggable and clickable for any “point” GeoJSON feature object. It is not intended to make the modifications via the property editor but to use an HTTP binding along with a map transform to add configurations as foreign members to their layers and features that can be processed and passed along to the Leaflet API.
Other Map updates include:
- Vector and marker click events now get passed a dictionary parameter called “properties.”
- Changes to the default schemas for Polygon, Polyline, Rectangle, and Circle layers now align with how GeoJSON features are configured to make it more straightforward.
- We now supply the true latitude and longitude coordinates of an element when a vector or marker is clicked.
- Configuration of objects is now more flexible. Any additional configuration is merged and forwarded directly to the Leaflet API. This is an advanced feature, so use it with care.
- Changes to the configuration of a GeoJSON layer will result in that layer being redrawn.
Interact With Specific, Defined Map Elements
Back in the day, when we released Ignition 8.0.15, we added a stopPropagation property that allowed nested child containers to not pass on their events to parent containers. This provided greater flexibility if each nested container required a specific event.
Let's take a closer look at the map component. We have events such as onMapClick and on onVectorClick. You can trigger scripts or actions with these events. Let's say you wanted specific scripts or actions with just the map or just the vector. Unfortunately, since the vector is technically part of the map, both the onVectorClick and onMapClick are triggered if you click on a vector object.
Fast-forward 10 versions to Ignition 8.1.15 and the stopPropagation property lets you define specific scripts or actions to vectors, markers, or nested elements without triggering the map event. This gives you greater control and flexibility with how users can interact with the Map component in Perspective.
Improvements to the Platform
The Ignition platform is getting a couple of improvements with 8.1.15. There is one update in particular we want to take a closer look at, and that is tags.
Creating Tags Just Got Better
In Ignition, when you want to add tags to your project, one way to do so is by using the Connected Devices window. In this window, you are able to view and select devices that can, in turn, create tags that are available for your project to use. A benefit of using this window is the ability to configure tags before they are made available in the tag provider.
There are times when you may want to import tags into your project from a file. If you do, the imported tags are immediately made available in the tag provider. The drawback is that you are not able to tweak tags before they are made live.
In 8.1.15, we added a new method of importing tags from a file called Interactive. When using the Interactive import method, the new Tag Creator window appears and allows you to make edits to tags that are from a file import. This gives you greater control over the new tags before they are made available in the tag provider.
Additional Updates in This Version
Here are a few other updates in Ignition 8.1.15 you should know about:
- Added a “LicenseState” gateway system tag that reports the licensing state of the gateway.
- Added a system.user.getUserSources function that returns a list of all user source profiles configured in the system.
- The system.alarm.acknowledge function now returns a set of alarm event IDs that could not be acknowledged successfully.
- The Modbus Addressing gateway page now lists the name of the device in the page header.
- Added props.label.offSetX, .offsetY, and .color to the Simple Gauge component.
You can learn more about these updates and other improvements in our release notes and user manual. As always, we invite your feedback about what you’d like to see in upcoming releases. 8.1.16 is right around the corner and will be arriving at the station with more improvements and updates to Ignition.