New features
Check out the features introduced in the Winter release 2025:
Awen AI Assistant
We welcome our brand-new AI-powered assistant to the IS Tools platform: Awen. Take advantage of it for configuration support! For example, ask questions about how to make queries with IQL, explore features, get examples on functions, etc., only a click away (in the top bar above forms).
Enhanced Form designer
Take a look at the new functionality implemented in this essential form.
-
A fresh layout with movable and expandable blocks, with adjustable size. Find the optimal screen space distribution for your setup!
-
All IQL editors are now grouped into a separate block called “Form rules” where code version and history are logged: each of them with tools to track when and what changes are made. Note that this block also allows you configure advanced filters, just as previously done via the “Filter: Configure:” property for fixed filters.
-
Another new feature is the powerful “Find in form”, which allows you to search for fields, parameters, and variables across all your forms! This lets you quickly identify how and where configuration is set in workflows. Once a code query is found, double-click the entry to be taken directly to the form in question
-
Code completion for parameters. Typing set @<ctrl+space> will suggest global parameters, while typing let @<ctrl+space> will suggest local variables from the same form rule.
Improvements to Rules manager
-
The “Find in rules” feature (similar to “Find in form” described above), searches for fields and variables used within Rules manager, either as a trigger, an action, or both. Once again, you can double-click the resulting entry to be taken directly to the rule in question. This aims to provide a much more comprehensive overview of how fields will impact, or be impacted by, other rules. This means that administrators are no longer dependent on running Usage reports – a far more time consuming and tedious method.
-
Version and history handling is also available in the IQL editor for rules.
-
We have improved the display of IQL in the Edit section, so you don’t need to open the editor to review the statements there in a snap. Furthermore, the “Description” property can be added as a column in this form, allowing rules to be filtered based on notes you type in the Edit section.
Table section
-
Grand total row: Forget about adding extra fields to calculate totals from your Table section. Administrators now have the option to automatically add the total count, sum or average, per column (depending on field type); the result is displayed as a pinned row at the bottom of the section in bold text. The result is refreshed if a filter is applied.
-
Filtering changes: The filter context menu now has an “Apply filter” button. To use it, just click or hit Enter once all your filter criteria have been set.
Additionally, the bottom left of the Table section now displays an icon indicating how many columns you have filtered (similar to the indication for hidden columns), providing a quick view of what your filtered data set contains. You can click on the icon to quickly remove all filters on columns at once.
Note that filters applied directly to columns will be automatically reset after reloading the form, while filters made with the Record filter will be cached in the browser until the user clears them.
-
Multiple sorting: Sort multiple columns at once by holding down the Shift key while you click on the desired headings. For ease of use, the sorting order is displayed by numerical values to the left of the ascending/descending indicator.
-
Quick Excel report’s clearer limitation: Prior to this release, users were unaware of how much data they could download with the Quick Excel report tool, where the data limit was determined by the browser’s header size. If exceeded, the message would inform only that the report could not be generated, not why.
For this release we have defined a maximum limit of 150 columns, which if exceed, is expressly stated in the error message.
New authentication alternative
We have added support for Multi-Factor Authentication (MFA) using an Authenticator app, such as Microsoft Authenticator or Google Authenticator, to meet high-security classification requirements. This new method is available alongside the existing SMS-based 2FA and does not affect users who authenticate via SSO.
We recommend you to use the MFA with Authenticator app, instead of Authentication with SMS.
General filtering in forms
All filters along the application have been standardized so they can be used in a similar manner, typing the value and hitting Enter, without having the need to use asterisk, as they are set by default to the operator “contains”. Note that this does not apply to parameters used as Search boxes, as they are customized by the administrator.
Filters saved in the Record filter will no longer display the suffix “Public”, which made long lists of filters look dense for repeating the same word along the items.
All possible records to be imported
Previously, Imports of type “Insert” would be aborted when attempting to create a duplicate record through rule actions, preventing any remaing rows from being inserted as records. In the new release, duplicate records are now “skipped” and the import continues with the remaining rows. Upon completion a warning is issued for any skipped records in the import log.
Default “Show same record in other form”
This setting, available at the top bar menu of application forms, will be applied by default for new applications (and for existing applications after browsing data has been deleted). This should decrease the necessity of repetetive user input across different forms, and help avoid having to toggle the function every time the browser cache is cleared or a new browser is used.
Form designer
-
Target section in Form designer: Previously, components such as Buttons and Icons could be used to create records for the table selected as their “Target section”; however, certain fields would be interpreted as fields of the parent target instead of fields of the record being created/updated through the component’s IQL properties.
This has been improved by having all fields consistently refer to the same record (i.e. not the parent record in the target section), and now works in the same way as the “Limited by” property.
If you happen to have a configuration where the Target is a different section than Parent (as displayed in the image below), be aware that adjustments might be needed.
To quickly find these cases in your code, look for the statement use_target_section_compatibility_mode in our new tool “Find in form” with “All forms” checked, and read how to proceed here.
-
Record picker as filter box: There are cases where it would be ideal to use a Record picker as a filter box where users could click to select a record, instead of having to type it as text input, as is the case with the current Search box.
This is now configurable in two different ways, made possible through updates to two components:
-
Using the Record selector: hiding its Record filter and previous/next record arrows, as they are now independent component properties, to give it the aesthetic of a dropdown field.
-
Using a Relation component: setting a Table and a variable as it’s Datasource. This will also provide the additional functionality of clearing the selection in cases where you don’t want to force filtering.
-
-
Record selector as read-only: This component can also be set as read-only through the use of IQL Behavior.
-
Layers:When updating or reorganizing a form, the new Trash can icon (which appears next to empty layers) can be used to quickly delete them. You can also click-and-drag layers to reposition them. Furthermore, newly added layers will initially have an automatic name based on their position, e.g., Layer 2, which you can double-click to rename; if you keep the automatic one, be aware that the name will not change if it is repositioned.
All components in a selected Layer will be displayed together with their Parent components even if the latter ones belong to another Layer. This way, you will stop seeing empty layers, and you no longer need to select multiple layers to find your parent components.
-
Open form tool: The “Created date” and “Created by” fields can now be added as columns, which can be used either for filtering or to audit when and when and by whom a form was created.
-
IQL Chart multiple sorting: Previously, it was only possible to apply the order by keyword to one field. With this release, you can now sort by multiple fields as needed. For example,
Responsible, Status, Total from Invoice group by Responsible, Status order by Responsible, Status, Total
Data model editor
-
Field deletion: The task of removing a field (with the exception of “File”-type fields), no longer requires the initial deletion of all the data for that particular field. Instead, you will be required to type the name of the field in a warning window to perform the deletion. The Record update time will not be affected, but the delete action itself and the time of deletion will still be registered in the Activity log for audit reasons.
-
Usage report: When looking for the usage of a field in Data model editor, the results displayed under the Reports section will link you directly to the Report wizard so you can review or edit the field.
Also, this tool now includes information regarding validations and style rules, with links to go directly to the Rules editor.
IQL
-
New functions:
-
call saveAll() – Applied to a Button or Icon component, this function mimics the behaviour of the floating “Show save all button”, saving all changes for all sections in a form. The key difference being that the button/icon component can be configured at the administrators whim, as it, like any other component, is susceptible to additional form IQL.
-
runReportImmediateWithName(Report ID, ‘Format’, ‘File name’) – Makes it possible to customize the name of a report you run via a Button, Link or Icon component, even if you don’t need to store the report. For example, the user clicks on a button to download a preliminary PDF report, with a specific name that includes field values, which a second user subsequently signs and stores at a later stage. This is an alternative to the existing runReportImmediateAndStoreWithName() function.
-
trim(string) – Returns the given string with leading and trailing whitespace characters removed. This includes spaces, tabs, newlines, and other whitespace characters. This can be very useful when applied to data coming from Excel, which is often full of these characters.
-
urlEncode(string) – Link components could not open forms pointing to a record that contained a special character in its name, field, or parameter, if that character appeared as part of the URL (like &, #, @). For example, a destination form with a “Supplier” field with the recordname “Rail & Civils Ltd” injected in a URL via call openUrl(createFormUrl(RecordId, form(“Supplier details”)) || ‘?supplier=’ || Recordname) would not work. By using the new urlEncode(), all special characters that are non-compatible with URLs will be parsed. For example:
call openUrl(createFormUrl(RecordId, form("Supplier details")) || '?supplier=' || urlEncode(Recordname)) -
generateTemporaryLink(File) – Makes it possible to create a public URL that will last 15 minutes to access a File stored in IS Tools. With this, you can, for example:
-
share a link to a document with a contractor that is not a user of your application.
-
share a link to an image to be analyzed by ChatGPT.
-
-
-
Changes to formatdate:
-
Our formatdate(DateTime,’format’) function now supports ISO format, like formatdate(DateTime, ‘YYYY-MM-DDTHH:MM:SS’)
-
Regarding week (formatted as WW), there are two changes:
-
The use of formatdate(Date, ‘WW’) in Run IQL rule action returned a single-digit number when week was below 10. It has now been standardized to works the same way as it does in forms (filters and Run on click), returning a value with a leading 0 for values up to 9 (i.e 01, 02, 03… 09).
-
It is known that week’s value may vary for a given year; for example, the first week in 2027 is set to be between the 4th and 10th of January according to ISO standards, but for an application the first week’s application property value might put it between the 1st and 3rd or January if the property “First week of the year” is set to “Starts on January 1”. To avoid inconsistencies when comparing weeks in filters, form rules, and IQL actions, we have introduced the IYYY ISO format, which defines week 01 as the first 4-day week of the year.
-
-
PDF reports
-
Optional font(s): Prior to this version, there was limited support for fonts in exported PDF reports, but this version makes it possible to add any font you like. To do so, you have to upload the desired font to Jaspersoft Studio, and include it in your export. For more details, see instructions in the manual.
-
Jaspersoft Studio new version: We now support your reports made with Jaspersoft Studio version 7, as well as those created with the previous version 6.
Form parameters in Rule debug tool
It was common practice for administrators to add temporary label components to display parameter values in a form when testing workflow configurations. That won’t be needed anymore, thanks to the new “Form Parameters” section into the Rule debug tool, where you can see all current parameter values at run time.
Markdown
The colors defined in Theme designer for your applications selected theme will also apply to formatted Note fields. A Markdown preview section has been added to Theme designer. You can also use markdown to:
-
Format your Application’s description, found in the Application preferences form, and rendered on the login page. The length limitation has also been increased from 1000 to 4000 characters.
-
Format tables with visible borders, in e-mails sent by rules.
User administration’s confirmation messages
A message confirming the deletion of a user has been implemented and, if multiple actions are done at the same time, each message is displayed in a different color, in order to make each delete action easily distinguishable to the administrator.
Improved Activity log form
This administrative form, released last summer as a means to log changes from roles and form rights, has been expanded to also trace changes to User administration, Field rights, deleted fields from the Data model editor, Manage record groups and APIs.
Functionality removed
-
Scan barcode: We no longer support the Scan Barcode functionality, so it has been removed from the platform. On the other hand, the Scan QR code remains available in all applications.
-
Forms related to News: The forms View news, Edit news, and News category have been removed, as it is already possible to customize a form and messages with Form designer and Notifications, making News redundant.