OCTOBER 2, 2018

Where to get it:

The source code can be found on Github: https://github.com/flowable/flowable-engine/tree/flowable-6.4.0

Highlights

  • A first version of process instance migration has been added to the Flowable BPMN Engine. In the RuntimeService you can now use the createProcessInstanceMigrationBuilder to define and execute the process instance migration. This first version supports migrating process instances with wait states, embedded (event) sub processes and boundary events. In the next version more support will be added for more complex cases like parallel and inclusive gateways, multi-instance activities and call activities.

  • Expression support have been added for the BPMN and CMMN engines to make it easier to work with variables and in specific variables that may not have been initialized yet. When you reference a variable in an expression like ${customerNumber > 40} and there is no customerNumber variable yet, an exception would be thrown. With the variable expression support this can be handled without an exception with ${variables:getOrDefault(customerNumber, 0) > 0}. A similar expression is possible for strings with ${variables:get(customerName) == "test"}. The user guide describes the full set of available variable expressions.

  • A first version with support for MongoDB persistence has been added. The MongoDB module is available from a separate Git repository at https://github.com/flowable/flowable-mongodb. The MongoDB module is made available in a separate repository, so that it can be released in a different pace than the full Flowable Engine releases. The support of MongoDB already includes most BPMN constructs, but in the coming releases it will be extended to be on par with the relational database support.

  • Upgrade to Spring 5.x for all the integration modules using Spring.

  • Added plan item lifecycle listener to the CMMN engine, to allow for listening to plan item instance state changes.

  • In the Task app support for activating manual plan items and triggering user event listeners has been added.

  • Added support for JUnit 5.

  • Support for using java.time.Duration variables and expressions for Timer durations.

  • Chinese translation has been added for the UI apps.

  • Various small bugfixes and improvements all around.

Upgrade notes

Idm Engine SpringEncoder

The deprecated constructor from SpringEncoder that accepted org.springframework.security.authentication.encoding.PasswordEncoder has been removed

Custom IdGenerator using a Bean in Spring Boot

It is now possible to define the custom IdGenerator for the Flowable Process engine, by creating a bean of type IdGenerator. If no bean is provided the StrongUuidGenerator will be used. If there is a bean qualified with @Process then this one would be used, otherwise a unique global one would be used. If there are more global beans then the default StrongUuidGenerator will be used.

FlowableFunctionDelegate changes

The method functionClass has been removed from the org.flowable.common.engine.api.delegate.FlowableFunctionDelegate interface. This doesn’t change anything with regards to adding custom functions to expressions: returning the right Method in functionMethod() is enough.

Tijs_Rademakers_MG 8595

Tijs Rademakers

VP Engineering

BPM enthusiast and Flowable project lead.

Share this Blog post
iStock-1381327337
Engineering | DECEMBER 23, 2024
Orchestrated RPA: Bridging the Gap between Legacy Applications and Optimized End-To-End Automation

Optimizing end-to-end business automation can be a tall task for legacy systems that lack integration abilities such as APIs. But robotic process automation can provide a successful interim transition to replacing these when time to market is crucial.

iStock-155374374
Engineering | NOVEMBER 14, 2024
Intelligent Document Processing with Flowable: Streamlining Content Automation

Enterprises need to process a large volume if documents daily — quickly and accurately. Flowable uses Intelligent Document Processing (IDP) to improve content processing and support enterprises in managing documents end-to-end.

iStock-1212433513
Engineering | NOVEMBER 7, 2024
Using CMMN to Go Beyond Case Management

CMMN was mainly designed with case management in mind to handle dynamic, human-driven processes, where the execution is not always a straight line, but might involve human decision to drive the process forward. But it can do way more than that.