New releases > ELMA365 SaaS / 2024.2

2024.2

Below is a list of changes that you can explore right now by activating the ELMA365 trial version. After March 13, 2024, all changes will become available to our clients in their active companies. Please note that the list may be expanded after the release.

 

Auto-update of the app item list

 

TEAM-7807 The Auto-refresh item list setting is now available for all display modes (Table, Tiles, Kanban) without activating a feature flag. This option enables the automatic updating of the items list when editing or adding new items, enhancing user collaboration. Now, when a user adds a new item, it automatically appears in the list for other users, eliminating the need to manually refresh the page to get up-to-date data.

 

Export and import structures

TEAM-13002 A new feature Export the entire workspace has been added to the solution composition settings. It allows exporting the entire system section, including its structure and section-level processes, without the need to select individual applications. This simplifies the process of transferring settings between companies, ensuring more complete configuration preservation.

 

User-type field

1. TEAM-16254 Full-text search has been added to the User field for the fields Full Name, Email, and Login.

2. TEAM-25057 An option "Show invited" has been added for variables of the User and Role types, allowing users with the status Invited to be displayed in selection fields.

 

Access to app

TEAM-21060 In app access settings, the option        If access is denied, hide the list of users who can provide access rights has been added. If the option is enabled, when attempting to open an item to which the current user does not have access, the window Access to the item is denied will not display the list of users who can provide access.

 

SAML

TEAM-25449 A new setting Update existing user data has been added to the SAML module. If the setting is enabled, user data in ELMA365 will be updated during authentication with the information received in the SAML Response. This includes the ability to update data even if it arrives empty, provided that the corresponding attribute is present in the response. Depending on the Claims Mapping settings on the authentication provider side, various user data can be updated, including login, email, and full name.

 

Reports

TEAM-22575 Debugging functionality has been added to Reports. The Debug button becomes available after adding a report source. Users need to fill in the report columns and link data sources if there are several. After clicking the "Debug" button, users will see the resulting table, allowing for quick analysis and data correction.

 

ECM

1. TEAM-22581 Functionality has been added to change the app item status after the approval sheet is archived. This update aims to solve the problem of retaining the outdated status after making changes to the item page that require new approval. For this purpose, a new tab Actions for archiving has appeared in the app approval settings, where you can now specify a business process to run when moving to the archive. This provides the ability to automate status changes and apply other actions in the process.

 

2. TEAM-23727 A setting for Files workspace has been added, allowing administrators to change the workspace name and restrict access to it through user groups.

 

3. TEAM-24845 An enhancement has been implemented to more informatively reflect in the app item feed events related to familiarization with Document type items. Now, when a document is sent for information without creating a task, the feed displays not only the document title but also information about who the document was sent to.

 

4. TEAM-24490 Support for comparing .doc files with .doc and .docx files with .docx has been enabled, expanding document handling capabilities.

 

CRM

TEAM-23822 A new feature has been added to CRM: filtering contacts by company in tasks. This functionality simplifies the process of attaching a contact to a CRM task, providing a faster and more accurate search for the necessary contacts. Now, when a user clicks on the magnifying glass icon in the contact selection field for a call or email, the system automatically filters and displays only those contacts that are associated with the company specified in the deal.

 

TSSDK

1. TEAM-23821 A feature has been added to TSSDK to enable mass subscription to application update/deletion events.

For example:

// Context.fields.zayavka.app - app from context property
 
// Subscribe to update events for any app items
await System.events.subscribe().onAppItemUpdate(Context.fields.zayavka.app, appItemUpdateHandler).all();
// Subscribe to deletion events for any app items
await System.events.subscribe().onAppItemDelete(Context.fields.zayavka.app, appItemDeleteHandler).all();
 
// Unsubscribe from update events for any app items
await System.events.unsubscribe().onAppItemUpdate(Context.fields.app.app, appItemUpdateHandler).all();
// Unsubscribe from deletion events for any app items
await System.events.unsubscribe().onAppItemDelete(Context.fields.app.app, appItemDeleteHandler).all();

 

2. TEAM-24411 New FormData methods have been added:

  • set(…) overwrites or creates a new field. Accepts parameters similar to the append method.
  • delete(key: string): void deletes a field by key.
  • get(key: string): File | string | undefined returns the first found field by key. If append(‘p1’, ‘1’) and append(‘p1’, ‘2’) are added, then get(‘p1’ will return ‘1’.
  • getAll(key: string): {File | string}[] returns all fields by key. If append(‘p1’, ‘1’) and append(‘p1’, ‘2’) are added, then getAll(‘p1’) will return [‘1’, ‘2’].
  • has(key: string): bool checks the existence of a field by key.

let test;
 
    const fd = new FormData();
 
    test = fd.get('p1'); // null
    test = fd.getAll('p1'); // []
    test = fd.has('p1'); // false
 
    fd.append('p1', '1');
    fd.append('p1', '2');
    fd.append('p1', '3');
 
    test = fd.get('p1'); // '1'
    test = fd.getAll('p1'); // ['1', '2', '3']
    test = fd.has('p1'); // true
 
    fd.set('p1', '4');
    fd.set('p1', '5');
 
    test = fd.get('p1'); // '5'
    test = fd.getAll('p1'); // ['5']
    test = fd.has('p1'); // true
 
    fd.delete('p1');
 
    test = fd.get('p1'); // null
    test = fd.getAll('p1'); // []
    test = fd.has('p1'); // false
 
    // Adding a file
 
    // Get the file link in the context variable `file`
    const fileURL = await Context.data.file!.getDownloadUrl();
    // Get the file body and upload it to the buffer
    const fileResponse = await fetch(fileURL);
    const buf = await fileResponse.arrayBuffer();
    // Add the buffer to the form field `file`
    fd.set('file', buf, 'my_document.pdf', 'application/pdf');
    test = fd.has('file'); // true

 

 

3. TEAM-23914 As part of the TypeScript SDK (TSSDK) enhancement for the Employees app, the following improvements have been implemented:

Now, when working with the Employees app, all app fields are displayed in autocomplete, not just data from BaseItemData. This allows developers to more conveniently and efficiently use employee information, facilitating access to the full user data structure.

The specific _user field associated with user accounts is now also available in autocomplete when working with the Employees app.

 

Modules

TEAM-24621 Changes have been made to the module namespace aimed at improving security and restricting access to internal module components from external scripts. These changes affect the following aspects:

In script dependencies, only api, code, and name are available. Client-side and server-side are identical.

The app and portal have been removed from the module script.

 

OAuth

TEAM-24747 Cross-OAuth authorization functionality has been implemented for the external portal, allowing users to access various platforms without the need for re-authorization after logging in through Keycloak. This improvement aims to simplify user interaction with the external portal, providing seamless access to services immediately after a single authorization.

 

Appearance of the sign-in page

TEAM-21571 To meet the request for creating custom sign-in pages, a File with custom styles setting has been added to Administration > Theme. This functionality allows uploading a CSS file with custom styles, providing detailed customization of the appearance of the sign-in page, including background, border, padding, and button colors, without affecting other system components. After applying changes in the theme and refreshing the page, custom styles are activated.

 

Widgets

TEAM-24837 A new capability to unpublish old versions of widgets has been added, enhancing security control and version management. Now, when publishing a widget, a setting can be used to prevent the publication of old versions, and in the version history, there is an option Unpublish for all versions except the latest one. Unpublished versions are marked in the interface and are not available for requests or execution of server scripts, aiming to prevent the execution of outdated or potentially vulnerable code.

 

Projects

1. TEAM-15594 Form adjustments have been made to resolve logic conflicts on forms and in the Gantt chart library. The changes concern the handling of deadlines for stage tasks: now, when creating a stage task, the user can only specify the start date, and the end date is automatically determined based on the deadlines of nested tasks. Editing the start and end dates of a stage task on the form is no longer possible, thereby ensuring consistency between the deadlines of the stage task and its components. This guarantees a more consistent and logical workflow with project tasks.

 

2. TEAM-18333 Now there is an option in the system to hide project tasks in the Tasks workspace. In Administration > Projects, a new Settings page has been added, where the Hide project tasks feature can be activated. This setting is also added to the user profile, allowing individual management of the display of project tasks. By default, the state of the new option for all users depends on the choice made by the Administrator, but each user has the ability to customize the visibility of project tasks through their profile.

 

3. TEAM-21648 Now when opening a plan element of type Task or Milestone on a published plan in view mode, the user will be directly redirected to the corresponding project task instead of viewing the plan element. This update simplifies navigation and improves integration between project planning and execution.

 

4. TEAM-21863 Functionality has been implemented to complete a project task from any status, except Completed and Archived. Previously, the Done button was displayed on the task form only in the In progress status, limiting the flexibility of task management, especially in the presence of intermediate statuses in the task lifecycle. Now, regardless of the current task status, except for final ones, users have the ability to complete it.

 

5. TEAM-23627 The ability to change headers in the Project tasks and Milestones widgets has been added. This can be done through the Panel with header element, allowing users to specify custom text in the form builder.

 

Service

1. TEAM-21193 Now when creating or editing session routing rules, there is an option to select a specific business process for automatic launch if the session meets the specified criteria. This allows administrators and supervisors to configure individual session processing processes without the need to make changes to the global business process launched for each new session. An option to block the launch of the global business process has been enabled, preventing its execution for sessions for which a specific business process has already been launched according to the routing rule. A modal window for setting up business process launches from the live chat with field mapping has been added, providing precise and flexible interaction configuration between sessions and business processes.

 

2. TEAM-24166 Functionality for record deduplication on the new session creation form has been implemented to prevent selection from two identical entities, for example, when a counterparty has identical entries in the Email and Account fields.

 

3. TEAM-25172 As part of improving the interface and standardizing settings when creating a property with the Account type in the app, it was decided to set the subtype Multiple by default. This change aims to simplify the setup process for users.

 

Bugs fixed

  1. TEAM-14225 An issue has been fixed where the process instance name was not displayed in the Process Monitor in the Administration workspace.
  2. TEAM-18814 An error related to permissions issuance in system processes has been corrected. Previously, users encountered an issue where the system attempted to grant permissions for new app instances within tasks to users who were not the authors of the app item, while the access mode to the app was set to anything other than individual permissions for each object. This resulted in the generation of numerous warnings in the logs with the text "precondition: Permissions can be updated only for row access type," making it difficult to read and analyze them. Now, permissions for new app instances are correctly granted during task creation and execution, without generating unnecessary warnings in the logs.
  3. TEAM-19596 An error has been fixed where the associated item was not displayed in outgoing and completed incoming tasks. Now, associated items are correctly shown in any task workspace, ensuring complete informational transparency.
  4. TEAM-21154 In the latest update, an error related to updating task information on the Kanban board has been fixed. Previously, users encountered a situation where adding a new task or completing an existing task the changes were not reflected on the Kanban board without refreshing the page. This affected both regular tasks and tasks in custom applications and CRM. The solution eliminates the need for manual page refresh to display updated information.
  5. TEAM-24860 An issue was identified and resolved where configured access rights to app items were not considered when generating reports. This problem manifested as users being able to see data in reports for all app items, even those they did not have access to. A feature to consider access rights when displaying report results has been added. It can be enabled upon request.
  6. TEAM-25068 An error in the process designer regarding debugging settings has been fixed. Previously, users encountered an issue where after deleting added context fields from the debugging settings form and then starting debugging, these fields reappeared in the debugging form and settings. This contradicted users' expectations, as they wanted the ability to remove unnecessary fields from the form to simplify the debugging process. The issue has been resolved by adjusting the logic of working with the debugging settings form. Now, after a user deletes fields from the debugging settings form, these changes are correctly saved, and the deleted fields do not reappear during the next debugging session.
  7. TEAM-25109 A problem was identified during task creation via an app item for a group of users or an organizational chart element including more than 10 users. Instead of creating the task as expected, a checkpoint was generated, and attempting to open it in the tasks workspace resulted in an error. This issue hindered the normal operation of the system and created obstacles for users' efficient work. The problem has been resolved: now, when
  8. TEAM-25661 An error affecting the task reassignment process to multiple users has been identified in the system. When an administrator attempted to reassign one of the outgoing tasks via the actions menu (three dots), in most cases, the task was incorrectly reassigned not to the selected user but to the executor of the lowest task instance in the table, which presumably corresponded to the first task instance created. This problem has been successfully resolved, and now tasks are correctly reassigned to the specified user without errors, with task completion results correctly reflected in the results table.
  9. TEAM-24424 A problem was found with the functionality to navigate to the previous email in the Email section. Users encountered an issue where attempting to use the Previous button to navigate to the previous message in the Inbox and Sent folders did not lead to the expected result—the navigation did not occur, and the system did not display any errors. The error has been fixed.
  10. TEAM-25461 An error in the Email section interface has been identified and fixed, where users encountered an issue of an extra field being displayed next to the To and Cc fields when attempting to write an email. This duplication of fields caused confusion and hindered the email sending process. After the fixes were applied, the extra field was removed.
  11. TEAM-23522 An error occurred during solution export, accompanied by messages in the logs such as "not found: no rows in result set" and "Permissions can be updated only for row access type: precondition." The problem was related to access settings and has been successfully fixed, allowing users to export solutions without errors in the future.
  12. TEAM-23941 A bug related to the API for creating items in apps has been identified. When sending a request to create an item without specifying a type for the Phone Number and Email fields (the type field was left empty), the item was successfully created but with an undefined data type. Now, if the type of these fields is not explicitly specified, the system automatically saves them with the Main type.
  13. TEAM-24289 A problem was identified in the worker's operation: when rejecting a promise in a server script without proper error handling through .catch(), an undesired termination of the fork's operation occurred. This manifested in cases where an asynchronous function generated an error but was not awaited, or when in an array of promises one of them was rejected without explicit waiting for its execution.
    To address this issue, steps were taken to stabilize the operation of server and client scripts, particularly improving error handling in asynchronous functions. Now, if an error occurs in a promise in the server script without a catch block, the system correctly handles such situations, preventing the undesired termination of the worker's operation. As a result of these improvements, scripts should now provide a clear error message related to promise rejection without handling it, in the case of server execution, while such an error should not occur in client execution.
  14. TEAM-24353 An error was identified in the event handler management system, where the event domain for created handlers was incorrectly displayed. Instead of the expected designation All events in the interface, App items was displayed for handlers configured to work with all system events. The problem has been resolved.
  15. TEAM-24784 Issues with the Money field were fixed, including incorrect rounding and value processing.
  • now, values are automatically rounded to the specified number of decimal places when losing focus. For example, 12.12 instead of 12.129.
  • when specifying a very large number like 99999999999999999999999999 and losing focus, Number.MAX_SAFE_INTEGER value is saved with cents deducted. For example, for rubles, this is Number.MAX_SAFE_INTEGER / 100.
  1. TEAM-24856 An error in working with Email fields on forms was identified and fixed: when changing the subtype of an email address (e.g., from Primary to Work or adding new addresses with different subtypes) and saving the changes, all addresses were incorrectly marked as Primary. This problem resulted in all addresses being displayed as Primary upon reopening the item editing form, regardless of the subtypes initially selected by the user.
  2. TEAM-24960 A problem with the visualization of the Money field in app creation forms was discovered: when selecting a currency with the symbol placed before the amount (e.g., dollars or euros), the entered amount was displayed at the beginning of the line, covering the currency symbol. After the fix, entering the amount starts after the currency symbol.
  3. TEAM-25029 A problem with the unstable operation of periodic tasks for clearing metrics and generating performance reports was identified and resolved. When telemetry collection was activated and a schedule was set for automatic generation, the scheduled tasks were not initiated as expected.
  4. TEAM-25058 During operation, an issue was identified and addressed where in the runTimerAction action, the same logger instance was constantly attributed via the API Named() and With(), leading to the generation of long, repetitive messages in the logs. This made the logs overloaded and difficult to analyze.
  5. TEAM-25088 An error "Cannot read properties of undefined (reading 'app')" was identified and fixed, occurring when trying to load the main page of the ELMA365 technical support portal.
  6. TEAM-24496 An issue with incorrect interaction with the user interface in the Projects module was resolved, related to the vertical offset of the project plan. The fix addressed a situation where interaction with a long project name and subsequent addition of multiple tasks unexpectedly shifted the plan upward when hovering over the name. Now, after the adjustments, the task list remains stable and does not shift.
  7. TEAM-24888 An adjustment was made to the Gantt chart functionality, excluding the possibility of using the context menu for tasks in editing mode before their actual saving.
  8. TEAM-25012 The layout of the Gantt chart widget was adjusted: previously observed issues with lack of margins in the widget's bottom panel were successfully resolved.
  9. TEAM-25076 A problem with recalculating the completion date of a stage task was fixed. Previously, when changing the completion date of a nested task through dragging or editing, the completion date of the stage task remained unchanged, although visually the timeline of the stage task adapted to the new deadlines. Now, the completion date of the stage task is automatically recalculated in accordance with the changes in the dates of the nested tasks.
  10. TEAM-22898 An error in displaying the widget for selecting business processes when creating or editing tasks from the Gantt chart editing mode was fixed. Previously, the widget did not appear automatically on the form, requiring additional action from the user.
  11. TEAM-24463 An error causing a crash in the template file generation block due to insufficient permissions has been fixed. Now, administrative rights are added to the context of launching a process line for certain situations. This applies to cases where the process binding is set to "initiator=session" in the process settings. If the operator and their ID are not zero, administrative rights are not granted.
  12. TEAM-24833 An error has been fixed that resulted in the incorrect display of the Account type property. The issue occurred after adding a single-variable of type Account (not multiple) with a specified service (e.g., WhatsApp) and subsequently populating this field on the app item creation form.
  13. TEAM-24909 An error preventing the deletion of an app item or the interruption of the process when it was located on the Send a Live Chat Message or Send Live Chat Response block has been fixed. The problem arose due to the retry setting in the Initiating message into line block, when the Repeat execution option with default values for the Number of repetitions and Delay time between repetitions was activated.
  14. TEAM-21874 A problem with mass actions (starting a process) where not all selected items were passed to the user variable when starting a process has been identified and fixed.
  15. TEAM-21936 An error in the Namespace.app working mechanism, which led to deleted apps being included in the list of active apps in the workspace after several solution updates, has been discovered and rectified.
  16. TEAM-24151 An error occurring when trying to delete app items in the Service workspace, resulting in a 500 error, has been identified and addressed. During diagnosis, the specific cause of the error was identified as accessing non-existent database records.
  17. TEAM-24559 A problem with the search function in the user card editing interface, which made it impossible to find user groups through the search field of the Groups field, has been identified and fixed.
  18. TEAM-24780 An issue where closing a modal window with an app item opened via a link on the main page caused the main page to reload, resulting in the loss of specified context in widgets, has been identified and fixed.
  19. TEAM-24916 An error in calculating the license limit when importing users from Active Directory (AD), where the system erroneously assumed a shortage of licenses despite the presence of concurrent licenses, has been fixed.
  20. TEAM-24944 An error related to adding OAuth bindings for the same user in different tenants, which led to the deletion of the previous binding, has been fixed.
  21. TEAM-22653 An error where the item author could not move it between folders in an app with configured access rights has been fixed.
  22. TEAM-23707 An error related to displaying items in the contract after installing the CRM solution and importing data for the Units of measurement app, where the items did not appear after the data import attempt and resulted in a TypeError: FLOAT must be a number data type error in the console, has been identified and addressed.
  23. TEAM-24506 A problem related to displaying deleted registrations in active registration logs has been identified and fixed.
  24. TEAM-24562 The option Assign an index number when creating an item in the app numerator settings has been reviewed and renamed for clearer understanding of its functionality. The new option name is Assign an index number when opening item creation form, which more accurately reflects the moment of assigning a number to a document or app item. This change aims to eliminate ambiguity and potential confusion among users, ensuring a better understanding of the numbering process.
  25. TEAM-24906 An issue in the app access restriction mechanism was identified and fixed, causing files added to an app item not to be displayed for users with access to that element. The situation was observed when working under a user account without administrative rights, leading to the inability to view uploaded files on the app item viewing form, even when explicit access rights to that item were granted to the user.
  26. TEAM-25126 An error was discovered and rectified where the context menu items Compare with file and Compare with version were not displayed for files with the .docx extension if the file extension was specified using uppercase letters (e.g., .docX or .dOcx).
  27. TEAM-25242 Issues with automatic approval were addressed in the system: now, when changing the approval method from manual to automatic, transitions over time are correctly taken into account, avoiding process startup errors. Additionally, incorrect determination of the overall approval status when using automatic resolutions was fixed, ensuring consistency between expected and actual approval outcomes.

Found a typo? Highlight the text, press ctrl + enter and notify us