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-1125550535
Engineering | JULY 3, 2024
Using AI with Flowable

In the past few months, this has culminated into a clear understanding of the strengths and weaknesses of the Generative AI (GenAI) technology; and where it makes sense to integrate with it and – perhaps more important – where it doesn’t make sense.

pexels-google-deepmind-18069697
Engineering | FEBRUARY 19, 2024
The Value of AI in Modeling

As AI gains prominence as a pivotal technology and enterprises increasingly seek to leverage its capabilities, we are actively exploring diverse avenues for integrating AI into process automation.

pixabay_egg-583163_1920_stevepb
Engineering | OCTOBER 3, 2023
Low-code, High Impact: Flowable & CMMN for Complex Use Cases

The key to managing complexity is to combine different and multiple tools leads to better, faster, and more maintainable solutions. For example, combining BPMN with CMMN.