List of critical changes in version 3.13.14

Critical changes


Locks when working with cache on farms are taken to LockManager, i.e. by default, locks work through the database. Configuring locks via Redis is described in the article https://kb.elma-bpm.com/article-6800.html

Document Management

The setting “Delete the existing user from the approval sheet when reassigning” in the section “Administration – System – System Settings” in the “Document Tasks” section was renamed to “Prohibit duplicate users in the approval sheet”. If this setting is disabled, one and the same user can be added to the approval/acquaintance sheet when adding an executor:

  • From the approval/acquaintance sheet (the Add Executor button);
  • When creating approval/acquaintance subtasks;
  • When reassigning.

Controls Settings

Added the feature that allows specifying settings for sorting object instances in the script:

public virtual void ChangeSortSettings (Context context, EleWise.ELMA.Model.Views.FormViewBuilder<Context> form)
  var contactSettings = (EntitySettings)context.GetSettingsFor(c => c.Kontakt);
  contactSettings.CanSortProperty = true; 
  contactSettings.SortPropertyUid = new Guid("7a37ba5a-5811-4614-8ae9-9d4d3d202e5d"); //Surname - Uid of one of the object properties 
  contactSettings.SortPropertyOrder = ListSortDirection.Descending;

Public methods and interfaces

Method overloading EleWise.ELMA.BPM.Web.Common.Controllers.EntityController.CreateEntitySelectRouteValues(EntitySettings settings, ViewAttributes viewAttributes, bool localize, ClassMetadata metadata) was added which additionally creates sorting parameters.


  1. Changes in effectiveness matrices:
  • If multi-matrices are disabled in the system, the default user will use the effectiveness matrix set and configured for him/her (for example, they will not be able to select an effectiveness matrix when creating a SMART task).
  • The “Completed” status can be checked when recreating an effectiveness matrix. It is impossible to re-create effectiveness matrices with the “Completed” status.
  1. Changes in SMART-tasks:
  • SMART-task importance validation was added.
  • Periods in SMART-tasks can be switched.
  • When changing the period of a SMART-task, the importance of the SMART tasks of the matrices are saved according to their templates. 

Major changes

  1. In the “Configuration management” application the ability to clear the history of the message feed was added.
  2. The “Hidden” feature was added to the report parameter, which allows you to hide this parameter on the standard (non-Razor) parameter entry form.
  3. For the property of the "Block" object type, as well as for the context variable of the “Block” type, the settings of the block “Allow adding” and “Allow editing” located on the “Table” tab are separated (i.e., these settings are independent of each other).
  4. Implemented background asynchronous loading of all resource optimizer projects involved in calculations. Operation completion percentage was added to the resource optimization calculation process (in the standard waiting panel).
  5. Added the setting that allows configuring the timeout for Redis cache commands in milliseconds.
  6. The correctness check of the project stage input (whether it belongs to the correct project template) in the custom extension “Changing the project stage” was implemented.
  7. When reassigning a task, the information about the change of the executor is displayed in the task history in the web application.
  8. In the web application, when creating/moving a document and selecting the parent folder, the entire folder tree is displayed with the option to select only those for which the current user has the permissions to create a document.
  9. User import was transferred to a separate scheduler task. The import button in the web application adds objects to the import queue and does not make the user wait for the import to finish (the page is not blocked). During the import from the provider on the import page a corresponding warning is displayed.
  10. When a fatal error occurs during the primary index in the web application, a notification appears on the index page and the index mechanism is disabled, with the second start attempt.