Camunda Team Blog

Camunda BPM 7.11.0-alpha3 Released

Written by Camunda BPM Team on , under Execution category.

Camunda BPM 7.11.0-alpha3 is here and the highlights are:

  • Official Support for camunda-bpm-assert
  • Java/REST API: Case Insensitive Semantics for Task Variables Names
  • Java/REST API: Return Variables after task completion
  • Cockpit: Audit Log Dashboard (Enterprise)
  • Cockpit: Recalculate Timer Due Dates
  • 15 Bug Fixes

You can Download Camunda for free (click on Preview Release) or Run it with Docker.

If you are interested, you can see the complete release notes.

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

Official Support for Camunda BPM Assert

BPM Assert is now an official part of Camunda BPM with the release of version 3.0.0-alpha1.

We want to thank Martin Schimak and the many other contributors, who have made BPM Assert into what it is today.

The current release is mostly concentrated on including the project in the Camunda development lifecycle and resolving compatibility issues. You can read up on this in the separate blog post.

The highlights from this release:

  • new Maven coordinates:

    <dependency>
    <groupId>org.camunda.bpm.assert</groupId>
    <artifactId>camunda-bpm-assert</artifactId>
    <version>3.0.0-alpha1</version>
    </dependency>
    
  • no inheritance from AssertJ Assertions anymore

  • compatibility artifacts if you want to use BPM Assert with Java 1.7 or Spring Boot 2.0.x (see our version compatibility overview)

  • official support for CMMN assertions

  • assertions for external tasks, just write:

    complete(externalTask("review"), withVariables("approved", true));
    

The final release is scheduled for May 31, 2019. Stay tuned for the next releases!

Java/REST API: Case Insensitive Semantics for Task Variables Names

In the Camunda 7.11.0-alpha2 release we introduced task queries where variable names could be treated case-insensitively. To do this, we introduced several new methods. (Nine in total: Three types of variables times three case-insensitive operators)

The team decided that we also want to support case-insensitive variable names in task queries which meant that the method count would again increase by nine resulting in 18 methods just for comparing variables case-insensitively.

We decided to drop all this in favor of a more simple solution that can handle variable names and values case-insensitively, needs only two different methods and just has one small trade-off.

With this release you can use one of the following methods to flag the whole query to match all variable names and/or values case-insensitively. The methods for individual variables are no longer supported.

taskQuery.matchVariableValuesIgnoreCase();
taskQuery.matchVariableNamesIgnoreCase();

For more information on how to use this via the REST API check the documentation here and here. If you want to see how it used with the Java API, find the documentation about it here.

Java/REST API: Return Variables after task completion

When starting a process instance, it is already possible to get the latest variables returned. Now we can do something similar with tasks when they are completed.

With the REST API it is now possible to set the withVariablesInReturn property to get all variables in the process scope after the task completes. This can be done on the POST /task/{taskId}/complete and POST /task/{taskId}/submit-form endpoints like this:

{
 "variables":
    {"aVariable": {"value": "aStringValue"},
    "anotherVariable": {"value": 42},
    "aThirdVariable": {"value": true}},
 "withVariablesInReturn": true
}

Using the Java API, this can be achieved by using one of the new methods:

taskService.completeWithVariablesInReturn(String taskId, Map<String, Object> variables)
formService.submitTaskFormWithVariablesInReturn(String taskId, Map<String, Object> properties);

Cockpit: Operations Log Dashboard (Enterprise)

We love the automation of processes. But sometimes, we have to make changes manually. To keep track of all manual changes, we already offer the User Operations table in the History view.

The new Operations Log in Cockpit creates an overview of all User Operations in your application. From here, you can easily keep track of all manual changes made to your processes.

A similar dashboard is planned for Camunda Admin, so stay tuned.

Please bear in mind that this feature is only available in the Enterprise Edition of the Camunda BPM platform. To try it out anyway, please request a Free Trial or Quote

Cockpit: Recalculate Timer Due Dates

In the Camunda 7.11.0-alpha2 release the API to Recalculate Job due dates. This feature is now accessible from Cockpit. Recalculation is useful when the due date is dependent on variables or expressions, which will be reevaluated with the current process state. In the process instance runtime view, a new Tab is introduced, which allows for recalculating the timer due date or setting a specific one.

Screenshot of the Recalculation Dialog in Cockpit

What’s Next?

This is the third alpha release on the road to Camunda BPM 7.11 (due May 31, 2019). Stay tuned for more features around setting engine-wide history time to live and improvements of Audit Log Dashboards. Also please have a look at our roadmap.

Your Feedback Matters!

With every release, we strive to improve Camunda BPM. To make this possible, we are reliant on your feedback. Feel free to share your ideas and suggestions with us.

You can contact us by writing a post in the forum.