As more users all over the world adopt Ignition, we’re gradually adding more ways to make every part of your project accessible to non-English-speakers. In Ignition v7.9.7, our development team has added a couple of new localization features that users across our global community should find very useful.
New Localization Features
Ignition lets you customize dates in a number of places using date format strings. When changing from English to French, the date formatting automatically changes words with the locale, like changing “Wednesday” to “mercredi” and “June” to “juin,” but does not automatically change from “6/5/2017” to “5/6/2017.”
To help automate these changes, we’ve added 12 new system tags to give you a full range of date and time formats that change when the locale changes. You can bind these tags to places that expect a date format string, and when the locale changes the value of the tag will update, which will keep your dates and times in a format your user understands and expects.
We’ve also added date formatting options to datasets through the new system.dataset.formatDates() scripting function. This will allow you to pass in a dataset and any valid date format string, and get back a new dataset with the dates correctly formatted in the locale of your choosing. This will make it easy to localize datasets before exporting to Excel, CSV, or HTML.
New Tag for System Uptime
A number of users have requested a way to historize and set alarms on system uptime, so we’ve added a new UptimeSeconds system tag. Adding tag history to this tag will let you monitor historical uptime, and adding an alarm for low values will let you do things like receive an email when the Gateway restarts.
New Scripting Functions for Scheduling
An important part of alarming is knowing which users are scheduled at a particular time. Previously it was difficult to know if a user was scheduled — you needed to get the user, find their schedule, then manually calculate whether a given time was scheduled or not. Holidays and schedule adjustments made this even more difficult.
Now we’ve added two new scripting functions: system.user.isUserScheduled() and system.user.getScheduledUsers().
The system.user.isUserScheduled() scripting function will tell you if a particular user is scheduled at a particular time, taking holidays and schedule adjustments into account.
The system.user.getScheduledUsers() scripting function will give you a list of all users scheduled at that time. This can be very powerful when combined with the calculated roster in alarm pipelines; for example, you could send an alarm only to users who are still scheduled two hours from now, letting you avoid paying overtime for someone to respond to an alarm that occurs at the very end of their shift.
To get more details about what’s new in v7.9.7, see the changelog or our user manual. You can also download it and give it a try, and then let us know what you think about the latest features and fixes in the comments.