Camunda BPM Runtime 7.14.0-alpha3 Released

We are happy to share the third alpha release of Camunda BPM Runtime 7.14 with you!

This release features the following improvements:

  • Improved External Task Fetch and Lock
  • Cleanup of History Cleanup Logs
  • REST API: Fetch Telemetry Configuration
  • Cockpit: Asynchronously Set Variables to Process Instances
  • Cockpit: Plugin Point for Batch Operations
  • Support for Wildfly 20
  • 11 Bug Fixes

You can Download Camunda for free or Run it with Docker.

For a complete list of all improvements, take a look at the release notes. Please also see the list of known issues.

If you want to dig in deeper, you can find the source code on GitHub.

Improved External Task Fetch and Lock

In situations where’re you’re using highly concurrent requests to fetch external tasks (e.g. when you run many external task clients for the same topic), it was possible that requests could fail with a NullPointerException due to a concurrent modification. Example: A request fetches a task that is completed and thus deleted in parallel. This alpha release improves the handling of this situation so that the fetch and lock request no longer fails. Instead, such tasks are removed from the result set. The implementation was contributed by community member Harish Malavade.

Cleanup of History Cleanup Logs

Data produced by the engine, like finished Tasks, finished process instances and executed jobs can be stored in history tables. Depending on the usage of the BPM platform, the collection of history data can grow rapidly. To counter this we can schedule periodic cleanup of history data. Each time the history cleanup job is executed, it will search for expired history data and delete it, including entries from the historic job log. Since the history cleanup job is a job in itself, it will also produce historic job log entries potentially resulting in a long history job log containing only history cleanup job logs (because the rest was cleaned up).

To give admins more control over their history, we created a process engine configuration property to enable cleanup of historic job log entries produced by the history cleanup job. The historyCleanupJobLogTimeToLive property takes an ISO-8601 formatted duration String specifying only a number of days (PT30D and PT1D is allowed while PT1H or PT5D10H is not).

Please note, that this feature only works in conjunction with removal-time based history cleanup. More information about the new property and process engine configuration in general can be found in the docs.

REST API: Fetch Telemetry Configuration

The upcoming Camunda BPM Runtime 7.14.0 minor release will provide an option to collect and send environment and usage data that will help us to improve our products for you. The option is not applied by default, and in this alpha we added a new REST API endpoint where the telemetry configuration can be checked. Here is an example of what the request/response looks like:

GET /telemetry/confuguration
enableTelemetry: true

For more information, please have a look at REST API documentation here. The Java API is already available via the ManagementService.
Read more about telemetry in the docs. With this alpha the telemetry cannot be activated in bpm-platform.xml or standalone.xml.

Cockpit: Asynchronously Set Variables to Process Instances

Sometimes it is necessary to add or update data of an already running process instance. For example, when a user entered incorrect data at the beginning of a process, the data needs to be corrected on-the-fly. In Cockpit, this is already possible by setting or updating a variable during process runtime. While this feature is helpful, it becomes a repetitive task when the same variable needs to be set to many process instances at once.

With this release, we introduce a new feature in Cockpit to set variables to the root scope of process instances asynchronously. The new batch operation allows you to set one or more variables to a group of process instances that can be filtered according to several criteria.

The Feature “Set Variables to Process Instances” in Action

Please also see the documentation about the Java API and REST API.

Cockpit: Changes to the Plugin API

With the last alpha release, we introduced the new Frontend Plugin API. We changed a few details in the API since then to clarify what is needed for the plugin to work.

Every plugin point now supports the same top-level attributes: id, pluginPoint, priority, render and unmount. A detailed explaination for these can be found in our docs. These can be used for every documented plugin point. Certain plugin points require additional configuration, which will be capsuled in a properties object, which is specific for every plugin point. The most common property is the label attribute, like in the process definition runtime tab. The new batch operations plugin shows what a more complex plugin point can look like.

To make it easier to create requests to the Camunda REST API, the argument of the render function now has the api property. It contains the API endpoints for the engine and webapps, as well as the current engine and the CSRF tokens. This makes creating requests much easier. You can access it from you plugin like this: render: (node, {api}) => {console.log(api)}. Check out our examples to see how it is used.

Cockpit: Plugin Point for Batch Operations

Operations affecting many process instances can be grouped into a batch operation and executed in the background without blocking the normal execution. With Camunda BPM, you can create any kind of operations using the Java API. To make your custom batch operations more accessible, we added a new Plugin point to cockpit to make it easier to trigger them.

The interface allows you to render a custom form to define your own payload for the operation. Camunda offers filter options for process instances, decision instances and batches. Check out the details and an example in the Plugin Point Documentation.

Support for Wildfly 20

With Camunda BPM Runtime 7.14.0-alpha3 we added support for WildFly Application Server 20. You can find an overview of all supported environments in the documentation.

Share Your Thoughts with Us!

Your feedback is really important to us, so please download Camunda BPM Runtime 7.14.0-alpha3, try it out, and let us know what you think about it.

You can contact us in the forum, send a tweet to @Camunda, or file a bug in our ticket system.

  • Camunda Optimize 3.2.0-alpha2 Released

    We’re excited to announce the release of Camunda Optimize 3.2.0-alpha2. Camunda Optimize provides business activity monitoring for workflows, supporting continuous process improvement by providing transparency into your automated workflows and decisions. Business-friendly reports, dashboards, and alerts make it possible to identify process bottlenecks and improve end-to-end processes. If you’d like to get started with Optimize 3.2.0-alpha2 right away, you can download the release here with your Camunda Enterprise Platform customer credentials. You can also use Docker to run Camunda Optimize. And if you’re not yet a Camunda customer, you can sign up here for a free 30-day trial of the Camunda Enterprise Platform, which includes Camunda Optimize. In the rest of this post, we’ll highlight some of the new capabilities...

    Read more
  • Camunda Optimize 3.2.0-alpha1 Released

    We’re excited to announce the release of Camunda Optimize 3.2.0-alpha1. In this first alpha release of Optimize 3.2.0, you can get an early look at some improvements and features in advance of the stable Optimize 3.2.0. This release adds following new capabilities: New Variable Filter for Process and Decision Reports Alerts to multiple recipients Extended Elasticsearch Support The complete release notes are available in Jira. You can try out a free trial of Camunda Optimize. New Variable Filter for Process and Decision Reports With this release we are introducing a new type of Variable filter for Process and Decision Reports. Within the Variable Filter modal you can now choose to use ‘contains’ or ‘does not contain’ when filtering process or...

    Read more
  • All New Frontend Plugin System for Cockpit...

    We are happy to announce, that Camunda BPM 7.14 (scheduled for Tuesday, October 13th, 2020) includes an all new frontend plugin system for Cockpit. It replaces the current AngularJS 1.8 based plugin system and enables you to extend Cockpit with domain-specific information written in the web-technologies of your choice. You can try it out in our latest alpha release, Camunda BPM 7.14.0-alpha2, which you can download here. What are Plugins Webapp plugins are user extensions that provide custom functionality to Cockpit, Tasklist, and Admin, which Camunda does not provide out of the box. It allows you to embed domain-specific information into Camunda tooling without switching applications. The new plugin system allows you to use the Javascript framework you are most...

    Read more