Cafienne Engine Release 1.1.11
Maintenance Release - with some hidden gems
Version 1.1.11 is mostly a maintenance release. The Cafienne team has been busy with many smaller topics inside the engine and also some refactoring work in the Cafienne IDE. Nevertheless, this release ships with some interesting new features.
Dynamic classpath
The Docker image that is shipped with every release has been extended with a new classpath setting. This setting enables the creation of a directory external to the image in which you can add custom jar files that need to be loaded by the engine.
Publishing the jar files to Maven
From this release onwards, jar files of the Cafienne engine are published to maven, thereby enabling the new classpath feature to support custom implementations of e.g. process tasks or expression languages.
New Mail definition with support for iCal
The former SMTPCallDefinition class has been superseded by a new MailDefinition class that has better support for addressing mail messages to multiple recipients. In addition, the iCal4j library has been added to the Cafienne dependency chain enabling you to send out calendar invites from the MailDefinition process tasks. Last but not least, the mail server properties are no longer required inside each and every mail task, but instead can be configured once in a platform wide manner, including authentication to the mail server with user name and password.
Important - check the getting-started repository for an example configuration change
More CMMN1.1 compliance
- The Cafienne now registers the default expression language set at the level of the
<definitions>
tag. - Input mappings now support binding refinements to have more control over repetitive plan items in relation to case file items with
multiplicity 0..* and 1..*
. Furthermore, it is now possible to pass a case file item by reference instead of by value, which is a recommended pattern for HumanTasks.
Explicit mappings for task failures and task completion.
In CMMN, the parameter mappings to be executed upon task completion or task failures is a straight list. This behavior has been extended to support exclusive mappings for either task completion or task failures. E.g., if a task fails and one of the expressions in the mappings relies on the output to succeed can now be separated out and prevented. Furthermore the engine now supports setting "static" output parameters, i.e., define and fill task output parameters even if the underlying task implementation does not hold the a corresponding output parameter. This functionality can be used to e.g. put a timestamp with the task completion date in a case file item.
Housekeeping
- Internal build street has been extended to run more compatibility tests.