Do not forget, when upgrading to a new platform version, always check and make sure your installed component versions match the versions stated in the release. To do that, go to FLOWX.AI Designer > Platform Status.

After updating to 3.0.0 FLOWX.AI release, importing old processes definitions in the new platform release is not possible (available for exports from < 3.0.0 releases).

Component versions

With the release of FLOWX.AI 3.0, there have been some changes that you need to be aware when upgrading to the latest version:

  • The flowx-process-renderer has been migrated to @flowx\ui-sdk.
  • In future FlowX.AI releases, the paperflow-web-components library will be deprecated (some old components still can be found inside this lib). Instead, the new components can be found in @flowx/ui-toolkit@3.0.
:ballot_box_with_check:3.0.02.14.02.13.02.12.02.11.02.10.02.9.02.8.12.8.02.7.02.6.02.5.02.4.02.3.02.2.02.1.0
Process engine2.0.70.4.1040.4.950.4.900.4.830.4.600.4.490.4.440.4.420.4.420.4.360.4.290.4.220.4.210.4.180.4.13
Admin2.0.80.3.1190.3.1030.3.920.3.810.3.600.3.550.3.470.3.430.3.400.3.360.3.340.3.290.3.230.3.210.3.13
Designer3.2.12.78.4-12.63.62.60.72.48.92.39.22.33.02.28.12.24.22.23.02.19.22.18.22.17.42.15.22.14.42.11.2
@flowx/ui-sdk3.2.1n/an/an/an/an/an/an/an/an/an/an/an/an/an/an/a
@flowx/ui-toolkit3.2.1n/an/an/an/an/an/an/an/an/an/an/an/an/an/a
@flowx/ui-theme3.2.1n/an/an/an/an/an/an/an/an/an/an/an/an/an/an/a
flowx-process-renderer-2.78.4-12.63.62.60.72.48.92.39.22.33.02.28.12.24.22.23.02.19.22.18.22.17.42.15.22.14.42.11.2
paperflow-web-components-2.78.4-12.63.62.60.70.2.100.2.100.2.100.2.60.2.60.2.60.2.60.2.60.2.60.2.60.2.50.2.4
CMS Core1.0.20.2.380.2.360.2.330.2.300.2.250.2.230.2.230.2.230.2.230.2.230.2.200.2.200.2.180.2.170.2.17
Scheduler Core1.0.10.0.340.0.340.0.340.0.330.0.280.0.270.0.270.0.270.0.270.0.270.0.240.0.240.0.230.0.230.0.23
Notification Plugin2.0.11.0.2061.0.2061.0.2061.0.2051.0.2001.0.1981.0.1981.0.1971.0.1941.0.1941.0.1911.0.1911.0.1901.0.1901.0.186-1
Document Plugin2.0.21.0.531.0.531.0.531.0.521.0.471.0.421.0.411.0.381.0.371.0.371.0.351.0.351.0.311.0.311.0.30
OCR Plugin0.1.330.1.330.1.330.1.50.1.50.1.50.1.50.1.50.1.50.1.50.1.50.1.50.1.50.0.1090.0.1090.0.109
License Core1.0.10.1.280.1.280.1.280.1.270.1.230.1.190.1.180.1.180.1.180.1.180.1.150.1.150.1.130.1.130.1.12
Customer Management Plugin0.2.10.1.280.1.280.1.280.1.270.1.230.1.220.1.220.1.220.1.220.1.220.1.200.1.200.1.180.1.180.1.18
Task Management Plugin1.0.10.0.420.0.420.0.400.0.370.0.290.0.280.0.280.0.270.0.270.0.270.0.220.0.220.0.210.0.210.0.16
Data search0.1.30.0.80.0.80.0.6n/an/an/an/an/an/an/an/an/an/an/an/a
Audit Core1.0.10.0.80.0.5n/an/an/an/an/an/an/an/an/an/an/an/an/a
Reporting0.0.390.0.39n/an/an/an/an/an/an/an/an/an/an/an/an/an/a
advancing-controller0.1.20.0.6n/an/an/an/an/an/an/an/an/an/an/an/an/an/a
iOS renderer2.0.0n/an/an/an/an/an/an/an/an/an/an/an/an/an/an/a
Android renderer2.0.1n/an/an/an/an/an/an/an/an/an/an/an/an/an/an/a
FLOWX.AI Platform VersionComponent nameMinimum recommended version (tested versions)
3.0Keycloak18.0.x
3.0Kafka3.2.0
3.0PostgreSQL14.3.0
3.0MongoDB5.0.8
3.0Redis6.2.6
3.0Elasticsearch7.17
3.0S3 (Min.IO) / minio-operator2022-05-26T05-48-41Z / 4.5.4
3.0OracleDB19.8.0.0.0
3.0Angular (Web SDK)14.2.2

FlowX.AI supports any version of the third-party components listed as prerequisites.

For optimal performance and reliability, our internal QA process validates new releases using specific versions as indicated in the provided table. While exploring alternative versions that suit your company’s specific requirements, we recommend referring to the compatibility matrix for guidance.

In the unlikely event that you encounter any compatibility issues with FlowX.AI, please open a support ticket here, and our dedicated team will address and resolve any identified bugs following our standard support process.

Compatibility Matrix:

  • FLOWX.AI Platform: Recommended and tested versions
  • Third-Party Components: Supported versions based on specific requirements and client preferences

Additional configuration

Updates

New updates have been made to the backend and designer configurations. The following changes have been made:

  • Backend: The Java container base image has been updated from 11.0.15 to 11.0.17_8
  • Designer: The Nginx container base image has been updated from 1.19 to 1.23.2

Redis configuration

  disableCommands:
    - CONFIG
# enable keyspace notif as CONFIG is disabled
  notify-keyspace-events KEA

The above command is enabling key space notifications in Redis by setting the notify-keyspace-events configuration parameter to “KEA”. The notify-keyspace-events configuration parameter is used to enable notifications for certain events that occur in the Redis key space.

The reason for enabling this as CONFIG is disabled is that, in this configuration, the CONFIG command is disabled, which means that the Redis server will not accept the command to change its configuration. Therefore, this line is allowing Redis to notify events in key space.

Theming

There are two important items that need to be taken in consideration with it comes to theming:

theme_components.json

This JSON object is a collection of all components and their properties. Each element represents a different design element (e.g. “accordion”,“card”, etc.).

Each element object has two main properties:

  • genericProperties - is an array of objects that define properties such as background color, padding, and font styles for the element

  • modifiers - is also an array of objects, each representing a different modification of the element’s properties, each modifier object has a name property and a properties array, which contains more objects that define the modified properties of the element.

Example

{
    "elementName": "card",
    "genericProperties": [
      {
        "name": "backgroundColor",
        "reference": "color@shades-0",
        "value": null,
        "unit": null
      },
      {
        "name": "color",
        "reference": "color@neutrals-900",
        "value": null,
        "unit": null
      },
      {
        "name": "borderRadius",
        "reference": null,
        "value": "12",
        "unit": "px"
      },
      {
        "name": "borderWidth",
        "reference": null,
        "value": "1",
        "unit": "px"
      },
      {
        "name": "paddingTop",
        "reference": null,
        "value": "16",
        "unit": "px"
      },
      {
        "name": "paddingRight",
        "reference": null,
        "value": "16",
        "unit": "px"
      },
      {
        "name": "paddingBottom",
        "reference": null,
        "value": "16",
        "unit": "px"
      },
      {
        "name": "paddingLeft",
        "reference": null,
        "value": "16",
        "unit": "px"
      },
      {
        "name": "titleFont",
        "reference": "typography@Heading/H6/Semi Bold",
        "value": null,
        "unit": null
      },
      {
        "name": "subtitleFont",
        "reference": "typography@Paragraph/P2/Regular",
        "value": null,
        "unit": null
      },
      {
        "name": "contentFont",
        "reference": "typography@Paragraph/P1/Regular",
        "value": null,
        "unit": null
      },
      {
        "name": "gap",
        "reference": null,
        "value": "24",
        "unit": "px"
      }
    ],
    "modifiers": [
      {
        "name": "border",
        "properties": [
          {
            "name": "borderColor",
            "reference": "color@neutrals-300",
            "value": null,
            "unit": null
          }
        ]
      },
      {
        "name": "raised",
        "properties": [
          {
            "name": "boxShadow",
            "reference": "dropShadow@m",
            "value": null,
            "unit": null
          }
        ]
      },
      {
        "name": "ios",
        "properties": [
          {
            "name": "titleFont",
            "reference": "typography@Heading/H6/Semi Bold",
            "value": null,
            "unit": null
          },
          {
            "name": "subtitleFont",
            "reference": "typography@Paragraph/P2/Regular",
            "value": null,
            "unit": null
          },
          {
            "name": "gap",
            "reference": null,
            "value": "16",
            "unit": "px"
          }
        ]
      },
      {
        "name": "android",
        "properties": [
          {
            "name": "titleFont",
            "reference": "typography@Heading/H6/Semi Bold",
            "value": null,
            "unit": null
          },
          {
            "name": "subtitleFont",
            "reference": "typography@Paragraph/P2/Regular",
            "value": null,
            "unit": null
          },
          {
            "name": "gap",
            "reference": null,
            "value": "16",
            "unit": "px"
          }
        ]
      }
    ]
  }

theme_tokens.json

This JSON object is a collection of color tokens for a design system. The object is structured with a “colors” object that contains multiple color objects, each representing a different color category (e.g. “primary”, “secondary”, “success”, “warning”, “error” and “neutrals”).

Each color object has properties such as “name”, “main” and “shades”. The “name” property contains the name of the color category, the “main” property contains the main shade of the color, the “shades” is an object with key-value pairs that represent different shades of the color.

Each key is a number representing the shade level, and each value is a hex code representing the color at that level.

Example

// COLORS

[
    {
        "name": "primary",
        "shades": [
            {"tint": 50, "hex": "#aabbcc"},
            {"tint": 100, "hex": "#aabbcc"},
            ...
        ],
        "main": 500
    },
    {
        "name": "secondary",
        "shades": [
            {"tint": 50, "hex": "#aabbcc"},
            {"tint": 100, "hex": "#aabbcc"},
            ...
        ],
        "main": 500
    }
]

interface ColorShade {
    tint: number,
    hex: string
}

interface Color {
    name: string,
    shades: ColorShade[]
}

For more information on how to use the web renderer, check the following section:

Using the Angular Renderer - Theming

Task management plugin

  • FLOWX_ALLOW_USERNAME_SEARCH_PARTIAL - new environment variable added to filter users by partial username (default value: true)

Task management plugin setup

  • SPRING_ELASTICSEARCH_INDEX_SETTINGS_NAME - must correspond to the index configured on process-engine

Data search setup