Version 141855#

A new release of Sherpa Orchestrator has been released: Version 141855.

  1. In the Form Designer, on the Actions screen, a new widget type has been introduced — HTML/JavaScript, which allows for the implementation of arbitrary interface elements with a unique appearance and behavior.

For example, if you fill in the settings window for the element:

Then the following will appear on the Actions screen:

Below is an example with added controls (such as radio and select) and the name attribute to choose between options and implement processing based on the selected value:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<title>Select Option</title>
</head>
<body>

  <h2>Select Option</h2>
  <!-- Radio buttons with the same name attribute -->
  <label>
    <input type="radio" name="variant" value="1" checked /> Option 1
  </label>
  <label>
    <input type="radio" name="variant" value="2" /> Option 2
  </label>

  <h3>Enter your name</h3>
  <input type="text" id="userNameInput" placeholder="Your name" />

  <button id="showGreeting">Show Greeting</button>

  <div id="greetingArea" style="margin-top:20px; font-weight: bold;"></div>

  <script>
    // Template options
    const templates = {
      '1': '<p>Option 1: Hello, {{ user_name }}! This is the first option.</p>',
      '2': '<p>Option 2: Hello, {{ user_name }}! This is the second option.</p>'
    };

    document.getElementById('showGreeting').addEventListener('click', () => {
      // Get the selected option by name attribute
      const selectedRadio = document.querySelector('input[name="variant"]:checked');
      const variant = selectedRadio ? selectedRadio.value : '1';

      // Get the User's name
      const userName = document.getElementById('userNameInput').value.trim() || 'user';

      // Select template by option
      const template = templates[variant];

      // Replace placeholder
      const html = template.replace('{{ user_name }}', userName);

      // Insert result
      document.getElementById('greetingArea').innerHTML = html;
    });
  </script>

</body>
</html>

When executing this code, you will be able to switch between message output options:

The code you write in this field can change the appearance of the Orchestrator interface. Use this functionality with caution to avoid unwanted effects.

To specify or bind an object's property in HTML, the syntax of double curly braces with a space is used: {{ property }}. A mandatory condition for all input control elements (input, radio, checkbox, select) related to nested objects is the name attribute matching the key name.

  1. A new column "Object GUID" has been added to the Audit screen, displaying the GUID of the object mentioned in the record.

By clicking on this field in the desired row of the Audit table, you can navigate to the screen of the mentioned object, where it will be highlighted:

  1. Additionally, now all actions performed via the API are also logged in the Audit.

  2. In all tables on the Orchestrator screens, the time display format has been changed to <dd-mm-yyyy 00:00:00>, which improves the readability of the information and makes working with data simpler and clearer for the User.

For example,

  1. On the Triggers screen, when creating and editing Triggers, a setting "Max monthly runs" has been added, allowing you to limit the number of Trigger activations within a month. For example, if you set the field to 1, then when applying the scheduling option "Every N-th day of the month," the Trigger will activate only once on the specified N-th day.
  1. Optional logging of Robot status history has been added. To enable this, you need to add the parameter: robot_status_logging=1 in the config (backend/config/config.ini).

The Logs table is available at: your-orchestrator-address/main/robot-status-logs.

  1. On the Licenses screen, in the license settings, the options "Deny C#, VB, Python and PowerShell code execution within process" and "Force logging in all blocks" are now also available for Unattended mode.
  1. On the Jobs screen, a column "Last message" has been added to the table, which displays the last message from the Robot executing the Job.
  1. Multiple improvements have been made to enhance system security.