Version 1.30.0
In this platform version, we introduced several new features, namely: combining child schedules into a parent schedule, that eliminates the need to reconfigure it in each mechanism at the start of a new year; and posting comments on behalf of another user – this action is only available through a script and only to users with the new proxy_commenter role.
Improvements include enhanced configuration capabilities of the dependency map, workflow actions support for referencing REM attributes, and new API methods for converting text.
New features
Combining schedules
You can now use a single schedule for various system mechanisms and manage its child components. Combine and include several schedules into one, making the main schedule the parent and the added schedules its children. When the included schedules are modified, the parent schedule is updated automatically — you do not need to reconfigure it in the system mechanisms.
You no longer need to manually update the main schedule each year to recalculate work times. Instead, add a child schedule containing all holidays and days off. All exceptions will be automatically applied to the related indicators.
For more details, see Schedules.
Adding comments on behalf of another user
You can now post comments on behalf of another user in the Journal Input fields, in activity feed, during integrations or when processing incoming emails.
Previously, when comments were received from external systems and services, they were automatically added to the system under the name "Guest" and were anonymous, which made it impossible to see the real sender of the message. Now, there is an option to add comments through the server API with the real name of the sender, which significantly increases the transparency of the interaction history and facilitates internal investigations.
Since adding a comment on behalf of another user can affect trust and security, this feature is only available to users with the new proxy_commenter role. Therefore, only administrators or integration accounts with the necessary level of rights can use this function, and their actions will be monitored.
To add comments on behalf of another user, see the new methods of the SimpleRecord/Comment server class: setAuthor(), setMessage(), and setComment().
Improvements
Dependency map
You can now define the algorithm that the dependency map is built on by using the new simple.ci.dependency_map.display_mode system property. Available algorithm options: based on configuration type or class (provided in the Simple Application), or customized algorithm.
The dependency map is now also more interactive:
- You can drag elements on the map without breaking their relationships to organize them in a way that suits your workflow. After reloading, the map returns to its original layout.
- When hovering over a relationship arrow, you can see a corresponding label.
- Use the getNodeColor script include to set node colors depending on their operational state.
For more details, see Dependency Map.
Accessing REM attributes in workflow actions
The If, Wait Condition, Run Script, Record Generator, User Approval, Switch, and Timer actions now support referencing attributes of Record Extended Model (REM) objects in scripts.
In the Switch action settings, the Type field now includes the Attribute option, which you can use to specify a reference to an attribute used for switching.
For more details, see Workflow Actions.
HTML-to-WYSIWYG conversion methods
This version introduces new methods of the SimpleWysiwyg server API class:
- convertFromHtml() – converts data from HTML format to WYSIWYG.
- convertToHtml() – converts data from WYSIWYG format to HTML.
For more details, see SimpleWysiwyg.
Design and interface
New platform instances now include the updated SimpleOne logo set in the ui.branding.logo system property and new methods for working with the logo:
- getLogoURL() – returns a direct link to the logo.
- getLogoBase64() – returns the logo encoded in Base64 format.
You can also use these methods to automate adding a logo to email notifications.
For more details, see SimpleSystem.
Fixes
DEF0019934: REM attribute values set in the portal interface on the request registration form were not transferred to the agent interface form. In this version, the Request Models (sys_rmc_model) table was excluded from the cache reset mechanism so that the data is transferred correctly.
DEF0019763: Related lists displayed records from the previously opened table (in the list interface). The issue occurred under 3G connections via devtools. In this version, related list display is stable even with poor internet connection.
DEF0019194: When opening an instance in the browser’s incognito mode, the system entered an endless redirect loop. In this version, the system correctly redirects the user to the login page if no active sessions are found.
DEF0018708: When accessing object properties that could be null, the operation failed with an exception if the property was accessed using object.prop instead of object?.prop. In this version, we added the ? operator to access properties only when their values are not null or undefined.
DEF0017306: The search using the condition builder was complicated by duplicate Record Extension Model names. Now, search works correctly.
DEF0017407: Due to the missing NOT IN operator for Numeric fields in the condition builder, filters defined by scripts with this operator were altered when edited in the dictionary. In this version, the NOT IN operator has been added for Numeric fields into the condition builder.
DEF0016224: When deleting text from the search bar using the X icon during an active search, the system displayed the error Missing required parameters: query. The issue was that the search query was not canceled when the X icon was used. In this version, the behavior is fixed — clearing the text with the button now also cancels the search query.