Product Update - v20.47

Details of the product update v20.47 from 19th of November 2020.

Features

Debug and one-time execution logs

We introduce a new possibility to obtain the debug and one-time executions logs straight from the logs window. You can choose to Download the logs directly to your computer and the system will give you a time-stamped *.log file or you can choose Copy to clipboard to paste the logs where you need. The small animation below shows these options.

Logs Window

Improvements and Updates

With this release we spent considerable time to streamline and improve the platform UI pages. For example the executions page is now more responsive and the new executions show much faster than before. By our initial estimate it loads 20 to 30% faster. We also load next and previous executions pages asynchronously to improve the first page loading speed.

The mapper UI received a particular attention where we improved the usability of multiple features explained in the following subsections.

Empty dynamic-select model

While using the dynamically selectable fields from third party sources you might encounter situations when no metadata is returned. In this cases we will show the following warning text to text:

Unfortunately the service behind the component did not provide any options for the given credentials. This is not necessarily an error. Please check whether there are data for the given credential and retrieve the options again by clicking on the Reload icon on the right side of the drop-down element.

Re-sizable text-input fields

All text-input fields now grow with the content. When the you have an input longer than 4 to 5 lines, a new vertical resize selector in the right bottom corner of the field appears. You can use it to extend the field for your viewing convenience.

Scrolling of mapped fields

You can scroll to see all the content of mapped fields in any saved flow versions. The scroll-bars show not only the input fields but besides the mapping results too.

Object types in mapping fields

You can now switch between Integrator and Developer modes and edit without a problem while using any object type in your mapping.

Node.js and Java Sailor updates

We are constantly improving Sailor versions for Node.js and Java programming languages. In this round we addressed edge cases when trigger and action functions might output sensitive data while processing error stacks. Here are the most recent versions:

  • Node.js Sailor version 2.6.18
  • Java Sailor version 3.3.1

Auth-clients without expiration

To address certain 3rd party OAuth2 provider unique setups we introduced default token_expires_in parameter with 1 hour interval. The background of the problem came from the cases when the external systems (e.g. Salesforce) would not return token_expires_in for the auth-client calls.

Now any authentication client without expieres_in parameter receives a default token_expires_in parameter with 1 hour value. This value will propagate to the connected secrets as well. The API documentation was updated accordingly.

Configure timeouts for debug tasks

You can now configure how long it would take the one-time or debug tasks to timeout and severe the connection with the third party resource. We introduced a new variable FORCE_DESTROY_DEBUG_TASK_TIMEOUT_SEC which can be defined in platform deployment config.json file to control this behaviour. If this parameter is not defined the default behaviour is the following:

  • Frontend timeout after 60 seconds.
  • Back-end timeout in 180 seconds.

Removing default favicon for tenants

If the favicon is not defined for your tenant the platform will return 404 on /favicon.ico address. Please make sure to define it as a tenant parameter for your tenant. To define the favicon you would need to define the parameter favicon_url as it is explained in the API documentation. Contact support if you require need help in setting this up.

Recipes permissions per tenant

As an OEM manager you can control which role holder can create recipes from the flows. We introduced a new permission workspaces.flow.exportToRecipe which you can grant to Admin, Integrator or any newly created role to manage recipe creation.

Please Note: The workspace Owner role can not receive this permission since the role is restricted and any changes to the role is against the security policies defined by the law. You can, however, add an additional role to the workspace Owner which has the permission to create recipes.

In addition, the Tenant Administrator role can export a flow to a recipe if he/she has access to the flow. These changes are also applied in the API documentation.

To benefit from these changes a migration process must be done which is handled by the gendry.

New permissions added

We introduce new sets of permissions including /v2/permissions and all error messages to extend the existing sets to global access for multi-tenant installation of the platform. The following permission were replaced with their global counterparts:

contracts.auth_clients.create, contracts.auth_clients.delete, contracts.auth_clients.edit, contracts.auth_clients.get, workspaces.auth_clients.create, workspaces.auth_clients.delete, workspaces.auth_clients.edit, workspaces.auth_clients.get, tenants.auth_clients.get, tenants.auth_clients.edit, tenants.auth_clients.create and tenants.auth_clients.delete.

Replacements:

global.auth_clients.get, global.auth_clients.edit, global.auth_clients.create and global.auth_clients.delete.

Fixed Bugs

  • Fixed the bug when the mapped data would disappear after component version change.
  • Addresses issue when a JSONata expression would disappear from the mapped fields.
  • Fixed the issue when the system would not save dynamic-select model in cache.
  • Fixed the problem when select-model stops executing while opening the log window in the flow-designer.
  • Addressed the behaviour when data from previous steps would disappear after some manipulations.
  • Fixed the inconsistency when duplicate logs were shown during the flow-designer.
  • Addressed the “Allowed Values” limitation of the new mapping experience to handle large number of values.
  • Fixed the bug in case of REST API component when the user entries would disappear.
  • Addressed the problem when the metadata would disappear in case of identical value entry in the drop-down list (select model).
  • Fixed a strange behaviour in the new mapping experience with changed select-model lists.
  • Addressed the problem with Splitter component when component would constantly “blink” between configured and non-configured modes during flow design.
  • Fixed the problem when the Browser window would crash during editing a flow with large number of steps.

Components

Batch Component

  • FIXED - Credentials verify minor issue.
  • FIXED - MongoError: Authentication failed by authSource.
  • IMPROVEMENT - Annual audit of the component code to check if it exposes a sensitive data in the logs.
  • UPDATED - Dependencies and the Node.js Sailor version to 2.6.18.
  • UPDATED - batching-library version.

Google Spreadsheets

  • IMPROVEMENT - Annual audit of the component code to check if it exposes a sensitive data in the logs.
  • UPDATED - Dependencies and the Node.js Sailor version to 2.6.18.
  • UPDATED - Removed the deprecated functions.

REST API Component

  • IMPROVEMENT - Automatically retry 5 times on network failure.
  • IMPROVEMENT - All network failures trigger rebounds in case of enable rebound option set.
  • UPDATED - Dependencies and the Node.js Sailor version to 2.6.18.
  • UPDATED - The deprecated V1 component icon to gray-scale.

Salesforce Component

  • FIXED - Field dependencies from object field in component.json which caused en error in drop-down.
  • UPDATED - Dependencies and the Node.js Sailor version to 2.6.18.
  • UPDATED - The deprecated V1 component icon to gray-scale.

SugarCRM Component

  • FIXED - an exception when emitwas called without await.
  • FIXED - an issue when Verify credentials button would not verify credentials.
  • IMPROVEMENT - Annual audit of the component code to check if it exposes a sensitive data in the logs.
  • UPDATED - Dependencies and the Node.js Sailor version to 2.6.18.

Sailor version update in bulk

As a part of the annual component code audit for a possibility of sensitive data exposing we checked and updated the following component codes and the dependencies: