Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 24 Current »


The Camunda BPM Connector is currently being developed. The information on this page is subject to change.

Interface to Camunda BPM

The Connector communicates with the process application (based on Camunda BPM) solely through REST APIs. Since the out of the box REST API of Camunda is not designed to retrieve all created human tasks including the required variables, the Connectors provides a dedicated additional REST endpoint, which needs to be added to the process application. This REST endpoint provides the details about created and deleted tasks in an efficient and fault tolerant way. 

To allow the REST service to provide the information about new tasks and cancelled/terminated tasks, the Connector contains some client-side code. This code needs to be added to each process application which is connected to TASKANA. 

The main part of this client-side code is the TASKANA TaskListener, which creates an event for each created or cancelled human task in the process. This event is stored in an dedicated event store, which is a database table placed in a seperate schema in the same database as the Camunda engine. This allows to write the event to the database inside the same transaction of the Camunda engine. The keeps the integrity of the event store stable. 


Information mapping from Camunda BPM to TASKANA

Information

Source

Target

Comment

Domain

Extension property 'taskana.domain' from process or task of BPMN model.

Task.domain

taskana.domain can be taken from the process or single tasks in the BPMN model. Domain definitions in tasks overwrite domain definitions in the process.

Classification

Extension property 'taskana.classification-key' from human task in the BPMN model.

Task.classification_key

In TASKANA, each task is associated with a classification. This concept does not exist in Camunda BPM. Therefore the additional required information is stored at the human task in the BPMN model. This way, each human task in the process can have its own classification.

Taskname

Task.name

Task.name


Description

Task.description

Task.description


Assignee

Task.assignee

Task.owner


Due

Task.due

Task.due


Priority

Task.priority

-

Priority will be initialized from the configuration of the associated classifications.



Task.creator

(Technical) user of the adapter

Workbasket

Process variable with name 'taskana.workbasket-key' from human task in the BPMN model. 

Task.workbasket_key


Manual priority

Process variable with name 'taskana.manual-priority' from human task in the BPMN model. 

Task.manualPrioreity

If this process variable is existing, the manual priority will be set to its' value. If it is not existing the process variable will be set to the default value of -1.


The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 1

Process variable with name 'taskana.custom-int-1'

Task.customInt1

If this process variable is existing, the custom integer 1 will be set to its' value. If it is not existing the process variable will not be set.


The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 2

Process variable with name 'taskana.custom-int-2'

Task.customInt1

If this process variable is existing, the custom integer 2 will be set to its' value. If it is not existing the process variable will not be set.

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 3

Process variable with name 'taskana.custom-int-3'

Task.customInt1

If this process variable is existing, the custom integer 3 will be set to its' value. If it is not existing the process variable will not be set.

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 4

Process variable with name 'taskana.custom-int-4'

Task.customInt1

If this process variable is existing, the custom integer 4 will be set to its' value. If it is not existing the process variable will not be set.

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 5

Process variable with name 'taskana.custom-int-5'

Task.customInt1

If this process variable is existing, the custom integer 5 will be set to its' value. If it is not existing the process variable will not be set.

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 6

Process variable with name 'taskana.custom-int-6'

Task.customInt1

If this process variable is existing, the custom integer 6 will be set to its' value. If it is not existing the process variable will not be set.

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 7

Process variable with name 'taskana.custom-int-7'

Task.customInt1

If this process variable is existing, the custom integer 7 will be set to its' value. If it is not existing the process variable will not be set.

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom Integer Field 8

Process variable with name 'taskana.custom-int-8'

Task.customInt1

If this process variable is existing, the custom integer 8 will be set to its' value. If it is not existing the process variable will not be set.

The process variable must be of type STRING but with an INTEGER value e.g. "555"

Custom attributes

List of relevant process variables (see comment)

Task.custom_attributes

Extension property 'taskana-attributes' from BPMN model contains a comma-seperated list of process variable names, which should be copied to TASKANA. These variables will be stored in the generic JSON structure 'custom_attributes'.


  • No labels