Do not forget, when upgrading to a new platform version, always ensure that your installed component versions match the versions specified in the release notes. To verify this, navigate to FLOWX.AI Designer > Platform Status.

After updating to 3.4.0 FLOWX.AI release, it is not possible to import old process definitions into the new platform release (available for exports from releases < 3.4.0).

Component versions

🧩3.4.03.3.03.2.03.1.03.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.0
process-engine4.2.43.6.02.2.12.1.22.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.21
admin3.2.32.5.22.2.22.1.32.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.23
designer3.33.103.28.113.21.13.15.13.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.2
@flowx/ui-sdk3.33.103.28.113.21.13.15.13.2.1n/an/an/an/an/an/an/an/an/an/an/an/an/a
@flowx/ui-toolkit3.33.103.28.113.21.13.15.13.2.1n/an/an/an/an/an/an/an/an/an/an/an/an/a
@flowx/ui-theme3.33.103.28.113.21.13.15.13.2.1n/an/an/an/an/an/an/an/an/an/an/an/an/a
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.6
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.2
cms-core1.3.61.3.01.2.01.0.31.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.18
scheduler-core1.2.01.0.41.0.41.0.41.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.23
events-gateway1.0.61.0.2----------------
notification-plugin2.0.52.0.42.0.42.0.32.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.190
document-plugin2.0.62.0.42.0.32.0.32.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.31
ocr-plugin1.0.81.0.81.0.20.1.330.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.109
license-core1.0.41.0.21.0.21.0.21.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.13
customer-management-plugin0.2.60.2.40.2.30.2.30.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.18
task-management-plugin3.0.02.1.21.0.41.0.41.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.21
data-search0.2.30.2.00.1.40.1.40.1.30.0.80.0.80.0.6n/an/an/an/an/an/an/an/an/an/a
audit-core2.1.01.0.61.0.51.0.41.0.10.0.80.0.5n/an/an/an/an/an/an/an/an/an/an/a
reporting-plugin0.1.20.0.400.0.400.0.400.0.390.0.39n/an/an/an/an/an/an/an/an/an/an/an/a
advancing-controller0.3.20.3.00.1.40.1.40.1.20.0.6n/an/an/an/an/an/an/an/an/an/an/an/a
iOS renderer2.3.02.1.02.0.12.0.02.0.0n/an/an/an/an/an/an/an/an/an/an/an/an/a
Android renderer2.1.42.0.12.0.12.0.12.0.1n/an/an/an/an/an/an/an/an/an/an/an/an/a

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.
  • As of FLOWX.AI 3.0, the paperflow-web-components library will be deprecated (some components still can be found inside this lib). Instead, the new components can be found in @flowx/ui-toolkit@3.0.
FLOWX.AI Platform VersionComponent nameRecommended version (tested versions)
3.4Keycloak18.0.x
3.4Kafka3.2.3
3.4PostgreSQL14.3.0
3.4MongoDB5.0.8
3.4Redis6.2.6
3.4Elasticsearch7.17
3.4OracleDB19.8.0.0.0
3.4Angular (Web SDK)15.0.0

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

This section outlines the supplementary configurations required to leverage the newly introduced features within FLOWX.AI.

Data Model Update Procedure

When deploying the new version, it’s mandatory to migrate the data model index using the following procedure.

Follow the next steps:

  1. Access Kibana: Start by connecting to Kibana and locate the data model index, which is typically named “process-data-model.”

  2. Open Kibana Devtools: Navigate to Kibana → Devtools. In the Console tab, you should proceed with the following steps.

  3. Check Index Documents: Copy and paste the following script into the left-hand window, replacing any existing content, and then execute it. This script will retrieve the existing documents in the index to validate that the index name is correct.

GET process-data-model/_search
{
  "query": {
    "match_all": {}
  }
}
  1. Update Documents: Replace any existing content in the left window with the following script, and then run it. This script updates the documents in the index by adding a new attribute, “processDefinitionVersionId,” with the same value as “processDefinitionId.”
POST process-data-model/_update_by_query?wait_for_completion=false
{
    "query": {
        "match_all": {}
    },
    "script": {
        "source": "ctx._source.processDefinitionVersionId=ctx._source.processDefinitionId",
        "lang": "painless"
    }
}
  1. Verify the Update: Re-run the script from step 3 to confirm that the new attribute, “processDefinitionVersionId,” has been added with the same value as “processDefinitionId.”

These steps will ensure a smooth migration of the data model index when deploying the new version.

Access rights for Fonts

In order to utilize the new fonts feature in the CMS microservice, it’s mandatory to configure the following access rights:

ModuleScopeRole default valueMicroservice
manage-themesimportROLE_THEMES_IMPORTContent Management
importROLE_THEMES_EDITContent Management
importROLE_THEMES_ADMINContent Management
manage-themesreadROLE_THEMES_READContent Management
readROLE_THEMES_EDITContent Management
readROLE_THEMES_ADMINContent Management
readROLE_THEMES_IMPORTContent Management
manage-themeseditROLE_THEMES_EDITContent Management
editROLE_THEMES_ADMINContent Management
manage-themesadminROLE_THEMES_ADMINContent Management

Markdown support

New lib added:

  • marked@^5.0.0 refers to a specific version of the “marked” library or package in the npm ecosystem. “marked” is an open-source JavaScript library used for parsing and rendering Markdown text into HTML.

To install the lib please make sure to run the following command:

npm install marked@^5.0.0

Timer events

Incorporating new Kafka Topics and Consumer Groups.

Admin

  1. KAFKA_TOPIC_PROCESS_SCHEDULED_TIMER_EVENTS_OUT_SET:

    • Facilitates the transmission of scheduled message requests from the Admin microservice to the Scheduler.
    • Utilize when setting up scheduled messages for precise timing and orchestration.
  2. KAFKA_TOPIC_PROCESS_SCHEDULED_TIMER_EVENTS_OUT_STOP:

    • Responsible for forwarding requests from the Admin microservice to the Scheduler to halt scheduled messages.
    • Utilize to cease previously scheduled messages for streamlined management.
  3. KAFKA_TOPIC_PROCESS_START_FOR_EVENT_IN:

    • Enabling the initiation of process definitions that commence with a timer start event node.
    • Aids in the launch of process flows driven by time-based triggers.

Scheduler

  1. KAFKA_TOPIC_PROCESS_SCHEDULED_TIMER_EVENTS_IN_SET:

    • Receives scheduled message setting requests from the Admin and Process engine microservices.
    • Utilized for setting up precise message scheduling with a focus on timing accuracy.
  2. KAFKA_TOPIC_PROCESS_SCHEDULED_TIMER_EVENTS_IN_STOP:

    • Handles requests from the Admin and Process engine microservices to terminate scheduled messages.
    • Essential for promptly halting scheduled messages according to operational requirements.
  3. KAFKA_TOPIC_AUDIT_OUT:

    • Introduction of audit functionality to the Scheduler microservice through Kafka.
    • Enables tracking and management of scheduling activities.

New consumer groups:

kafka:
  consumer:
    threads: 1
    scheduled-timer-events:
      threads: 1
      group-id: scheduled-timer-events
    stop-scheduled-timer-events:
      threads: 1
      group-id: stop-scheduled-timer-events

Process engine

  1. KAFKA_TOPIC_PROCESS_SCHEDULED_TIMER_EVENTS_OUT_SET:

    • Sent to the scheduler for setting scheduled messages.
  2. KAFKA_TOPIC_PROCESS_SCHEDULED_TIMER_EVENTS_OUT_STOP:

    • Sent to the scheduler for stopping scheduled messages.

New consumer groups:

kafka:
  consumer:
    threads: 1
    scheduled-timer-events:
      threads: 1
      group-id: scheduled-timer-events
    stop-scheduled-timer-events:
      threads: 1
      group-id: stop-scheduled-timer-events

New service account

A new service account has been introduced. This service account is essential for enabling the usage of the Start Timer Event node. Detailed information is available in the following section:

Service accounts

Scheduler: New timer-event-scheduler (Cron)

Introducing a new timer event scheduler designed to manage timer events. This scheduler scans for expired messages every second, processing batches of 100 messages per iteration. For situations with higher message volumes, the scheduler ensures thorough message consumption:

timer-event-scheduler:
  batchSize: 100 
  cronExpression: "*/1 * * * * *" #every 1 seconds

Scheduler: new recovery mechanism

flowx:
  timer-calculator:
    delay-max-repetitions: 1000000

You have a “next execution” set for 10:25, and the cycle step is 10 minutes. If the instance goes down for 2 hours, the next execution time should be 12:25, not 10:35. To calculate this, you add 10 minutes repeatedly to 10:25 until you reach the current time. So, it would be 10:25 + 10 min + 10 min + 10 min, until you reach the current time of 12:25. This ensures that the next execution time is adjusted correctly after the downtime.

  • FLOWX_TIMER_CALCULATOR_DELAY_MAX_REPETITIONS - This means that, for example, if our cycle step is set to one second and the system experiences a downtime of two weeks, which is equivalent to 1,209,600 seconds, and we have the “max repetitions” set to 1,000,000, it will attempt to calculate the next schedule. However, when it reaches the maximum repetitions, an exception is thrown, making it impossible to calculate the next schedule. As a result, the entry remains locked and needs to be rescheduled. This scenario represents a critical case where the system experiences extended downtime, and the cycle step is very short (e.g., 1 second), leading to the inability to determine the next scheduled event.