Ignition 8.1.1: Improvements to Commissioning, Gateway Interface, Designer Find/Replace & Performance
We’re hot on the heels of 8.1.0’s release and the trains keep pushing along! As mentioned during the ICC Developer Panel, we’re spending more time in 8.1 polishing and refining existing features. That’s why you won’t find any large new features this time around but you’ll definitely find quite a few quality-of-life improvements.
We’ve been iterating over the installation process for a while now, including commissioning — the part where your web browser opens and asks you a couple of questions, like which edition you want to install. In 8.1.1, we’ve continued this iteration by including the Gateway Network Port configuration, next to the HTTP and HTTPS ports.
A small change, but nice if you’re deploying a system that’s going to be interacting with other gateways over the Gateway Network. The added Gateway Network Port text field here potentially saves you several clicks later on.
As part of this same effort, we did something really subtle, but quite impactful. During commissioning, we’ll try to detect if the defaults for those ports are already bound to something. If so, we’ll try again with a different port. We’ll keep doing this over and over until we find free ports for all three configurations. In the image above, the normal ports are all blocked because I have a separate gateway running on the same system, so commissioning incremented the port values for all three settings by one, and found some free ports, which I can use.
This port iteration is exciting, because it’s now easier than ever to get two Ignition systems running side-by-side on the same system. In the past, you had to muck about in some configuration files to make sure your two gateways weren’t stepping on each other's toes. But, since we’ve been adding all of these small changes to the process (such as letting you change the service name during install), you can now just run the installer twice, picking different installation directories for both (or however many gateways you want to run simultaneously). Rather nice for folks who aren’t too familiar with virtualization and containers.
I should add, while having two gateways running side-by-side outside of virtualization is possible, we still don’t recommend doing that in a production environment — you probably want dedicated servers, VMs, or containers. Having multiple gateways run in the same environment is great for testing or development systems though.
Gateway Web Interface User Inactivity Timeout
On the security side of gateway stuff, we added a gateway-level property that allows you to determine how long it takes for a user’s gateway web interface session to be closed due to inactivity. Before 8.1.1, we provided a fairly lengthy inactivity window, which some folks felt was a little on the insecure side of things (rightly so). Thus we added the new property, allowing you to determine how long that inactivity window is.
You’ll find the new setting under the gateway’s general security settings (Gateway > Config > Security > General).
If you’re upgrading, we set this setting to 0 by default to maintain existing functionality, but newly installed systems will use a default of 10 minutes.
Designer Find/Replace Window Updates
We made some further improvements to the Designer’s Find/Replace window, which can be used to search strings throughout your project and tags. Aside from a couple of bug fixes, we also added Named Queries to the selection of options, so now you can find and replace those silly parameter naming conventions your colleagues keep coming up with.
Second, we added a “select all” checkbox at the top, making it easy for you to check or uncheck every box in the window.
I’m leaving out a large number of other improvements we’ve made, as they’re largely bug fixes or behind-the-scenes changes. However, there are a couple I did want to shine some light on, such as a number of performance tweaks. For example, we improved performance when adding properties to Perspective components in cases where the component model already contained large JSON structures. So you should notice some snappier interactions when working with complex components.
Furthermore we also made improvements when browsing tags in remote tag providers. This is pretty huge for Ignition Edge. Edge gateways are commonly paired with other Ignition gateways to form a larger architecture, where each gateway shares data with other nodes. By hastening the tag browsing experience, we’re able to reduce development time when looking for tags in those edge-of-network systems.
Lastly (at least, the last I’m going to talk about here), we spent some time improving performance on PyDatasets. For the uninformed, PyDatasets are an Ignition-flavored way to wrap up a lot of data points, such as an entire table’s worth. They’re designed to be easily manipulatable and interactable from Python, allowing your scripts to iterate over their contents quickly. As of 8.1.1, we found some opportunities to remove unnecessary overhead, making the little buggers even easier to iterate over. If your system is making use of large PyDatasets, you could potentially see some performance improvements.
The Updates Keep Chugging Along
To learn more about all of the other changes and updates in 8.1.1, check out the release notes or the User Manual. As always, we encourage you to tell us what you think and what you’d like to see in upcoming releases. As the release train keeps on pace, stay on the lookout for 8.1.2 to arrive at a station near you soon.