Version 1.1.12 has a few additions that help mostly in the every day detail.
This includes topics such as more informative log messages, a better and more explicit API for usage inside expressions. Also a few new features such as support for anonymously starting cases. And a couple of detailed issues have been solved, such as adding an additional CORS related header in the HTTP traffic.
Experimental: Calculation Task
Some use cases require changes to the case file and the case plan based on certain conditions. E.g. a case file item array must be updated conditionally, depending on the outcome of a certain task. Until now, this required either extremely complex expressions (using engine internal APIs), or the creation of separate end points that can be invoked through ProcessTasks invoking HTTP endpoints. The new experimental Calculation Task can be invoked as a regular process task, but without any external dependencies. The task takes an arbitrary number of input parameters and produces output parameters based on a set of steps that run expressions on the input parameters (or the outcome of other steps). Output parameters are produced on a conditional basis, enabling simpler decisions in the case plan.
Start Case Anonymously
Most of the REST services API of Cafienne require authentication through the OIDC standard, with JWT tokens. In quite a few scenarios (e.g. a government portal where citizens can submit certain applications), the user requesting the case need not be part of the actual handling of the case, let alone be registered as a Cafienne Engine user. Through a new configuration option it is possible to start case definitions anonymously. Each type of case that can be started is given an identifier on the end point, and each type can configure it's own case team.
New Expression API
The CMMN enables the use of expressions in many different places, such as repetition rule conditions, or parameter transformations. The Cafienne Engine leverages the powerful Spring Expression Language (SPEL) as the default implementation (next to a few others). Up until this release, the SPEL language could be used to access engine internal APIs. From version 1.1.12 onwards, the internal API is no longer available, and replaced with a formally supported API to access e.g. a case id or a task id. More information on this new feature can be found in the expressions section of the Cafienne Guide
|203||CaseAppliedPlatformUpdate event handling should also update the case_instance_definition table|
|204||Restarting an earlier failed ProcessTask should not have old exceptions in the output|
|207||It should be possible to complete an unassigned task|
|208||Case output parameters that refer to an array case file item must return complete array instead of current|
|213||Engine must return Access-Control-Expose-Headers|
|215||GetTenantUsers must not include in-active roles|
|217||Milestone transition behavior is executed in the wrong order|
|219||New expression API gives wrong Stage for a Task|
|222||Swagger documentation for setting case team is wrong|