7.2.0
Release 7.2.0
You can consume all the Activiti artifacts for this release from Alfresco Nexus:
1
<repositories>
2
<repository>
3
<id>activiti-releases</id>
4
<url>https://artifacts.alfresco.com/nexus/content/repositories/activiti-releases</url>
5
</repository>
6
</repositories>
Copied!
Activiti Cloud:
1
<dependencyManagement>
2
<dependencies>
3
<dependency>
4
<groupId>org.activiti.cloud</groupId>
5
<artifactId>activiti-cloud-dependencies</artifactId>
6
<version>7.2.0</version>
7
<scope>import</scope>
8
<type>pom</type>
9
</dependency>
10
</dependencies>
11
</dependencyManagement>
Copied!
Activiti Core
1
<dependencyManagement>
2
<dependencies>
3
<dependency>
4
<groupId>org.activiti</groupId>
5
<artifactId>activiti-dependencies</artifactId>
6
<version>7.2.0</version>
7
<scope>import</scope>
8
<type>pom</type>
9
</dependency>
10
</dependencies>
11
</dependencyManagement>
Copied!

In release 7.2.0 you will find the following main fixes & features:

JUEL Simulator Starter allows applications using it to simulate JUEL expressions. Providing sample data, the JUEL simulator checks whether the expression works as expected. For this new functionality, a new endpoint has been created located at /v1/juel in the modeling back end. This feature uses the JuelExpressionResolver and needs authentication. The endpoint receives two inputs variables:
  • expression: String containing the JUEL expression.
  • variables: Map with the names and values of the variables used in the expression (Expression context). Example:
1
{
2
"expression": "${var1} + ${var2}"
3
"variables": {
4
"var1": 10,
5
"var2": 20
6
}
7
}
Copied!
Output:
1
{
2
"result": 30
3
}
Copied!
In order to use the JUEL simulator in an application (e.g. The modeling application):
1. Add de maven dependency: org.activiti.cloud:activiti-cloud-starter-juel:${activiti-cloud.version}
1
<dependency>
2
<groupId>org.activiti.cloud</groupId>
3
<artifactId>activiti-cloud-starter-juel</artifactId>
4
<version>${activiti-cloud.version}</version>
5
</dependency>
Copied!
2. Include the @EnableActivitiJuel annotation
This feature has been integrated into the Modeling app:
Open "Edit dialogue" on "Expression" tab
Click on "Open tester'
Enter the values for the variables and click on "Test" button
1
{
2
"entry": {
3
"name": "Claimable task",
4
"permissions": [
5
"VIEW",
6
"CLAIM"
7
]
8
}
9
}
Copied!

Changes from previous versions

Versioning

Activiti is changing the way the project is released: so far the pattern 7.x.y was used for internal releases (created every time a new commit is merged on the develop branch). For instance, 7.1.364 is an internal release. In addition to the internal releases, intermediate milestones were published on regular bases, (e.g. 7.1.0-M17), and eventually, a general availability (GA) version would be released (e.g. 7.1.0-GA).
In order to simplify the management of the releases and avoid confusion, it has been decided that internal versions should use pre-releases suffixes, i.e. -alpha (7.2.0-alpha.1, 7.2.0-alpha.2). In addition to that, milestones releases will no longer be published and will be replaced by a new minor version that will be released more often. It has also been decided that the version 7.1.0-GA will be skipped and the project will go straight to the version 7.2.0.

API changes

This version comes with the following changes in the APIs:
  • Query service: the behavior of the endpoint GET /query/v1/task/{taskId} has changed allowing a user to retrieve by id all the tasks where he is the initiator of the process or he is involved in at least 1 task of the process (he is a candidate, the assignee, in a candidate group). Previously only the tasks for which the user was the assignee or a candidate were returned.
  • Query service: the behavior of the endpoint GET /query/v1/process-instance/{process-id}/tasks has changed allowing a user to retrieve only the tasks where he is the initiator of the process or he is involved in at least 1 task of the process (he is a candidate, the assignee, in a candidate group). Previously all the tasks were returned.
  • Query service: new endpoint GET query/admin/v1/process-instance/{process-id}/tasks allowing an admin to retrieve all the tasks in the scope of a given process instance.
  • Query service: GET /query/v1/process-instances will return only the instances started by the current user. Use the admin API in the case where all the process instances should be returned.
  • Query service: GET /query/v1/process-instances/{processInstanceId}. Only the initiator and users involved in the process will be able to to retrieve the process by id.
  • Runtime bundle: POST /rb/v1/process-instances/{processInstanceId}/suspend. Only the initiator can suspend the process.
  • Runtime bundle: POST /rb/v1/process-instances/{processInstanceId}/resume. Only the initiator can resume the process.
  • Runtime bundle: DELETE /rb/v1/process-instances/{processInstanceId}. Only the initiator can cancel a process instance he started.
  • Runtime bundle: PUT /rb/v1/process-instances/{processInstanceId}. Only the initiator can update the properties of a process instance.
  • Runtime bundle: GET, POST /rb/v1/process-instances/{processInstanceId}/variables. Only the initiator can retrieve and update process variables.
  • Runtime bundle: new endpoint GET /rb/admin/v1/process-instances/{processInstanceId}/variables to list all the variables of a process instance as admin.
Last modified 1mo ago