Getting Started
Basic Concepts
Tutorials
Advanced Concepts
How-to Guides
Building integration flows
Data transformation
Integration patterns
Developing Components
Tenant Management
Components
CRM components
ERP components
E-Commerce components
Marketing-related components
Finance-related components
Office components
Protocol components
Service components
Database components
Utility components
References
Sailor
Component Descriptor

3.14.0 Release Notes

v3.14.0 release date is April 04, 2019.

This document presents release notes for our platform version 3.14.0. It contains the following sections:

New Features

This section contains improvements in the following subsections:

OAuth

  • Introduced API endpoints for OAuth clients. Oauth client entity contains client ID and client secret for OAuth authorization. Find more info on OAuth clients here.

  • Oauth client is defined in tenant per component. There may be several OAuth clients in different tenants for same component. Note: since OAuth client belongs to tenant, tenant removal means OAuth clients removal for this tenant.

  • In case a component was removed or hidden due to access change, OAuth client remains. However, no information about component is attached in responses.

  • Accessibility is calculated on tenant basis. So global components are recognized as accessible. If component tenant matches OAuth client tenant, components with tenant and team accesses are also recognized as accessible.

  • Blocked the ability to delete an OAuth client, which is used in the flow (or draft, or version).

  • Global OAuth components don’t appear in GET /v2/components response until a Tenant Admin creates an OAuth Client for them.

  • Set OAuth client related environment variables on each step execution.

  • Reworked OAuth code of Frontend to get tenant-specific OAuth parameters from OAuth clients API. New service account is introduced. It’s used by frontend to communicate with API. Login + pass pair is defined with the new environment variables:

    FRONTEND_SERVICE_ACCOUNT_USERNAME

    FRONTEND_SERVICE_ACCOUNT_PASSWORD.

    You should generate it any way you like (e.g. pwgen -n 15 -y) At this moment only tenants.oauth_client.get permission is granted to frontend service account.

UI

  • Number of workspaces shown on the left menu is now limited by browser height.

  • Added tooltips to the Plus button starting from the second step of the flow. “Add the initial trigger” and “Add a new action” hints.

  • Added tooltip explaining why the user cannot publish a draft. “Please complete all steps first” message is displayed next to the Publish Draft icon.

  • Changed tooltip for Create Draft button to “Edit Flow”. Note: changes will not affect the flow until you publish edited draft message is now appeared.

Other

  • All numeric log object properties are converted to strings to avoid the following Graylog parsing errors: {"type":"mapper_parsing_exception","reason":"failed to parse [err_code]","caused_by":{"type":"number_format_exception","reason":"For input string: \"string\""}} for platform apps logs.

  • To avoid MapperParsingException[failed to parse [err_code]]; nested: NumberFormatException[For input string: "INVALID_PARAM"]. Parsing JSON of components’ log messages removed from Graylog input and is done in-place on frontend. Deployment instructions: Remove all extractors for Graylog GEL input named "Input for flow steps and one-time execs". This should be done after instructions for Route platform app logs to own GELF input -> stream -> index.

  • Removed contract.membership.edit permission from contract.admin role. So that he/she could not change roles of Contract members.

  • New input field type RegExp (Regular Expression). Field object in component.json should have the next property in order to validate it as a regular expression field "type": "regexp".

  • All wiper Cron job descriptors were changed - “startingDeadlineSeconds”: 200 added.

  • Tenant admin can now include the custom .js and .css files in order to be able to change the behavior/appearance of the platform. Tenant model needs to accept the following new properties:

"customStylesheets": [
  {"href": "http://path-to-1.css"},
  {"href": "http://path-to-2.css"},
  ...
],
"customScripts": [
  {"src": "http://path-to-1.js"},
  {"src": "http://path-to-2.js"},
  ...
]
  • Workspace owner can rename workspace via API request.

  • Implemented statistics collector for one-time-executions.

  • CSS improved for custom tenant styles.

  • Unused samples will be deleted after choosing the definite sample.

  • Route platform app logs to own GELF input -> stream -> index. Added ability to send log messages of flow steps and one-time-execs (verify credentials, dynamic metadata, dynamic select model) to separate GELF input in Graylog. This allows applying own extractors configuration and logs records retention policies.

Deployment instructions:

BEFORE DEPLOYMENT:

• Save following .json as file and import as Graylog content pack

{"name":"{name} v3.14.0 update","description":"{name} v3.14.0
update","category":"{name}","inputs":[{"id":"5c641c5346bf4004e61835b5","title":"Input
for flow steps and one-time
execs","configuration":{"override_source":"eio-exec","recv_buffer_size":262144,"bind_address":"0.0.0.0","port":12202,"decompress_size_limit":8388608},"static_fields":{},"type":"org.graylog2.inputs.gelf.udp.GELFUDPInput","global":true,"extractors":[{"title":"message_cut","type":"REGEX_REPLACE","cursor_strategy":"COPY","target_field":"message","source_field":"message","configuration":{"replacement":"$1","regex":"^(.{0,524288}).*$"},"converters":[],"condition_type":"NONE","condition_value":"","order":0},{"title":"JSON","type":"JSON","cursor_strategy":"COPY","target_field":"message","source_field":"message","configuration":{"flatten":false,"key_separator":".","list_separator":",
","kv_separator":"="},"converters":[],"condition_type":"STRING","condition_value":"level","order":1},{"title":"K8S
Fluentd","type":"JSON","cursor_strategy":"COPY","target_field":"","source_field":"log","configuration":{"flatten":true,"list_separator":",
","kv_separator":"=","key_prefix":"","key_separator":"_","replace_key_whitespace":false,"key_whitespace_replacement":"_"},"converters":[],"condition_type":"NONE","condition_value":"","order":2}]}],"streams":[{"id":"5c641bc646bf4004e61830e1","title":"Flow
steps and one-time execs stream","description":"Logs from flow steps and
one-time execs
input","disabled":false,"matching_type":"AND","stream_rules":[{"type":"EXACT","field":"source","value":"eio-exec","inverted":false,"description":""},{"type":"EXACT","field":"source","value":"eio-exec","inverted":false,"description":""}],"outputs":[],"default_stream":false}],"outputs":[],"dashboards":[],"grok_patterns":[{"name":"BASE10NUM","pattern":"(?<![0-9.+-])(?>[+-]?(?:(?:[0-9]+(?:\\.[0-9]+)?)|(?:\\.[0-9]+)))"}],"lookup_tables":[],"lookup_caches":[],"lookup_data_adapters":[]}

• Apply content from imported {name} v3.14.0 update content pack named “Elasticio execs”

• Start Stream “Flow steps and one-time execs stream”

• Make sure udp port 12202 is not blocked by firewall on graylog

• Set GELF_PORT_EIO_EXEC environment variable to 12202 for eio-fluentd Daemon Set

End of Instructions

Fixed Bugs

  • FIXED excessively long text in Configure input section is overlaid table border in retrieved sample.

  • FIXED broken API docs start page when there is no slash at the end of the URL. /docs/v2/ is the new start page now.