Version 1.32.0
In this release, we improved capabilities of workflows to automate REM-related processes.
Performance of configuration package processing has been improved to provide more accurate tracking of operations when working with configuration packages.
We also introduced a new mechanism for retrospective pause calculation when creating indications whose start time is in the past, and improved the handling of stalled scheduler tasks to increase metric accuracy and reduce process recovery time. In addition, we fixed several issues affecting data migration accuracy, script execution, and overall system stability.
New functionality
Asynchronous configuration package uploading
We introduced an asynchronous processing mechanism for imported packages and optimized their execution workflow. This functionality ensures stable handling of configuration packages and improves the experience of importing large packages (more than 100,000 VCS records) into an instance.
In the platform.vcs.sop_process_quantity system property, you can specify the number of configuration packages that can be processed simultaneously.
The new Configuration Package Management widget displays information about imported packages whose processing has been initiated on the instance. The widget provides details about the initiator and processing state, along with the links to the corresponding package records.
Read more in the Configuration Packages article.
Improvements
Retrospective pause time calculation
When calculating the total pause duration of an indication, the system now also accounts for potential processing pauses that occurred in the past. To support this, the Use retrospective pause option has been added to the indicator form.
If the Use retrospective pause option is enabled:
- When an indication starts, the system checks the record history. If it finds record states that meet the pause condition, it sums their duration and includes it in the corresponding indication parameters, such as business time, breach time, and pause time.
- On the indication form, the Pause time field displays the retrospective pause value at the time of indication creation. After creation, it displays the sum of retrospective and accumulated pause if the Use retrospective pause option is enabled and the Indication breach time field is set to Defined by field.
Since pause calculations are based on the data from the History (sys_history) table, pauses are not calculated for indicators where pause or resume conditions use:
- REM attributes
- fields accessed via dot-walking
- Journal Input fields
because changes to these values are not recorded for the target record.
Read more in the Indicators article.
Workflow for REM
You can now associate a Record Extended Model with a workflow. For example, for each standard service request created using a model, the corresponding workflow with the required steps (data collection, approval, fulfillment, survey, and others) can be started.
You can create multiple models for the same service to trigger different workflows depending on conditions. For example, one workflow may not include approval, while another one may require additional approval and data processing steps.
The workflow starts when a record is created from a model. If the model is changed, the current workflow stops and a new one starts. To configure this behavior, specify the workflow on the model form and set the workflow trigger to REM-driven in the workflow properties.
In addition, the Condition type field in workflow properties has been renamed to Trigger, and its options have been updated to reflect their behavior: Manual, Condition-based, and REM-driven.
We also added a field titled Workflow version to the Switch workflow action. This field displays the workflow name, making it easier to identify running actions.
Read more in the Record Extended Model article.
System Improvements
Unblocking tasks stalled in scheduler
In this version we have updated the mechanism for detecting stalled scheduler tasks. Such tasks are now available for retry one minute after the issue is detected. Previously, they remained locked for one hour.
Read more in the maintenance documentation.
Fixes
DEF0022644: The Record Generator workflow action was interrupted with an Array to string conversion error due to insufficient validation in the column type detection logic. As a result, created and updated records could contain incorrect field values and become unavailable for further use.
DEF0022287: After separating the ESM platform (Simple application) into a standalone application, some records (for example, those created in the Simple application) were migrated to the Platform application and became unavailable for editing after upgrading to version 1.29.0. The issue was caused by a client-side configuration of "out-of-the-box" tables that was not accounted for in the migration logic. In this release, the migration algorithms have been fixed, and all Simple application records have been moved back from Platform to Simple.
DEF0021494: The indicator logic did not check for empty field values. As a result, an indication was created when using the IS NOT condition if the target field was empty. We updated the operator logic to correctly handle all operators and field types combinations.
DEF0021205: When record saving was interrupted by a business rule using the setAbortAction method, a standalone system instance stopped processing and returned a 500 error. In distributed environments, this resulted in a 502 error. In this release, we added handling scenarios to ensure correct behavior when a process is interrupted.
DEF0021010: The fields of type Template incorrectly converted values taken from the WYSIWYG fields. The mechanism has been updated to correctly transfer values from WYSIWYG to Template.
DEF0020747: The system could not process dot-walking access to fields of type List in the condition attribute. As a result, the autosuggestion mechanism did not work and a Server error occurred. This behavior has been fixed.
DEF0020127: Column titles in related lists were misaligned when records were grouped by column. In this version, the layout issue has been corrected.
DEF0019650: The onChange client script did not trigger when Date/Time or Date fields, including REM attributes, were changed. The isChanged logic did not account for reverting to the original value (including clearing the field), which caused incorrect script behavior. The logic has been updated accordingly.
DEF0018431: In the LDAP integration settings, it was possible to specify a malicious URL. To prevent such cases in new versions, we have strengthened our security testing.