7.1.0.M6

7.1.0.M6

You can consume all the Activiti artifacts for this release from Maven Central:

Activiti Cloud:

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.activiti.cloud.dependencies</groupId>
<artifactId>activiti-cloud-dependencies</artifactId>
<version>7.1.0.M6</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>

Activiti Core

<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.activiti.dependencies</groupId>
<artifactId>activiti-dependencies</artifactId>
<version>7.1.0.M6</version>
<scope>import</scope>
<type>pom</type>
</dependency>
</dependencies>
</dependencyManagement>

In the 7.1.0.M6 release you will find the following main fixes & features:

  • Add support to Swimlanes and pools on Activiti Cloud Modeling.

  • Cloud Native BPMN Messages Service with Stateful Backend: in the previous milestone (7.1.0.M5) we added the support for BPMN throw message event. However, the implementation was using In-Memory storage to keep track of messages, making it not suitable for production. The current milestone provides a new implementation based on Spring Integration that allows you to choose between one following back-end storage for BPMN messages: JDBC, Redis, HazelCast, MongoDb. In order to do so, pick one of the provided message starters. For instance, activiti-cloud-messages example is using JDBC message backend.

  • Multi-instance result collection: add the possibility to collect to result from each one of the instances in the case of a multi-instance activity. Two properties are to be specified:

    • Result Element Variable: specifies the name of local variable that will hold the result on each one of the instances in the multi-instance activity

    • Result collection: specifies the name of the process variable that will aggregate all the results. For instance:

      • Multi-instance task with cardinality 2

      • Result Element Variable with value meal

      • Result Collection with value meals

      • First instance returns meal = "Pizza"

      • Second instance returns meal = "Pasta"

      • A process variable will be created with name meals and value ["Pizza", "Pasta"]

  • Support expressions on output mapping. Previously, expressions were supported only in input mappings. i.e:

"mappings": {
"serviceTask": {
"outputs": {
"outVarFromJsonExpression": {
"type": "value",
"value": "${sightSeeing.city.place}"
}
}
}
}
  • New versioning logic: it will use a project manifest file to detect if the version of a given process definition should be bump up (instead of checking if the file content has changed). The new logic will be used when a project manifest file is set via the property project.manifest.file.path. Here is an example. All the versions of process definitions will be bumped up when the version of project changes inside the manifest file.

  • Update to Spring Boot 2.1.12.RELEASE and Spring Cloud Greenwich.SR5

Known issues / Changes from 7.0.x

Extensions file structure

Due to the introduction of swimlanes and pools we were constrained to change the structure of the extension files: the extensions section is now a map having process definition (xml) id as key; properties , mappings, and constants sections were moved one level down, inside the related process id section.

Old structure (Before 7.1.0.M6)

{
"id": "process_definition_id",
"extensions": {
"properties": {
},
"mappings": {
},
"constants": {
}
}
}

New structure (from 7.1.0.M6)

{
"id": "model_id",
"extensions": {
"process_definition_id": {
"properties": {
},
"mappings": {
},
"constants": {
}
}
}
}