Apex Designer Documentation
What's New
Getting Started
Projects
Business Objects
Processes
User Interfaces
App Behaviors
Files
Dependencies
Project Settings
Libraries
Patterns and Best Practices
App Showcase

Camunda 8 Library

Business objects and user interface components to integrate with the Camunda 8.

Blank Profile Image
Written by David Knapp
Updated a month ago
4 min read

Camunda is an open-source platform for process automation. Camunda 8 is based on a next generation high performance engine called Zeebe. The Camunda 8 Library includes business objects and user interface components to run processes on the Zeebe engine.

Zeebe Business Objects

The library includes a set of business objects that represent information in the Zeebe engine:

Process Definition

A Process Definition represents a version of a process definition deployed to the Zeebe engine. It has behaviors including:

  • Deploy deploys a BPMN process definition to the Zeebe engine
  • Start that creates a process instances with variables and optionally waits for and returns the first user task
  • Start by Name uses a name instead of a process definition id to start a process instance
  • Deploy on Start deploys BPMN files when the app starts
  • Latest returns a list of the latest version of each process definition

Process Instance

A Process Instance represents an execution of a process definition in the Zeebe engine. It has behaviors including:

  • Set Variables creates or updates process variables in the Zeebe engine
  • Cancel cancels a running process instance
  • Wait for User Task polls the process instance until a user task is available

Process Incident

A Process Incident represents an incident in the Zeebe engine. Zeebe creates incidents for things like failed service tasks and invalid expressions. It has a Resolve behavior that informs Zeebe that the incident has been addressed and it should be retried.

Task

A Task represents a single job in the Zeebe engine. It may be a user task or a service task. It has behaviors including:

  • My Tasks returns the list of tasks that are assigned to the user or one of their roles
  • Claim assigns an unassigned task to a user
  • Set Variables sets variables on the task context
  • Complete completes the job in the Zeebe engine

It also has logic to restrict who can access task business objects.

Process Variable

A Process Variable represents process variables associated to a process instance or task. It includes logic to update the associated process business object when Zeebe is ahead.

Task Assignment Business Objects

The Camunda 8 Library leverages the App User, Role and App User To Role business objects from the Loopback 4 Base Library. A task's assigned user is represented by a Task belongs to App User relationship. Candidate groups are represented by Task to Role linking objects.

Mixin Business Objects

The Camunda 8 Library includes three Business Object Mixins:

  • Zeebe Object manages the synchronization between Elasticsearch and the app database
  • Process Business Object adds properties and behaviors to the process business objects
  • Emitter emits events for the Zeebe objects enabling notifications and realtime task lists

Task Management Components

The Camunda 8 Library includes user interface components that simplify building task management user experiences. Components include:

  • My Tasks Page Content contains a simple task list
  • Select and Start Process Button and Select and Start Process Dialog are used to start process instances and redirect the user to the first task
  • Render Task With Camunda Form is used for tasks that have a Camunda Form instead of a User Task page
  • Render Task With Angular Component is used for tasks that have an Angular Component instead of a User Task page
  • Task Service includes centralized logic to handle tasks

User Task Components

The Camunda 8 Library includes user interface components that simplify building pages for user tasks. Components include:

  • Task Breadcrumb displays the name of the task and a link back to the task list
  • Complete Task Button is enabled when the fields are valid and completes the task when clicked

Process Administration Components

The Camunda 8 Library includes user interfaces components that simplify building process administration pages. Components include:

  • Process Definitions Page Content displays the list of process definitions and allows for import of new process definitions
  • Process Definition Page Content displays the metadata, diagram and XML for a process definition, buttons to start or download the process definition, and a list of process instances
  • Process Instance Page Content displays the metadata, variables, tasks, children and incidents for a process instance and a button to cancel the process instance
  • Task Page Content displays the metadata, process instance variables, and task variables for a task and includes a button to complete the task
  • User Roles manages assignment of roles to users
  • Query Elasticsearch Page Content is used to execute sql queries against Elasticsearch

The library also includes several other components that support these components.

App Behaviors

The Camunda 8 Library includes several App Behaviors:

  • Add Camunda Admins adds the Camunda Administrator role to any users with the Administrator role
  • Connect to Elasticsearch and Zeebe establishes the connection to Zeebe and Elasticsearch and initiates the synchronization process
  • Query Elasticsearch executes a sql query against the Elasticsearch database
  • Get Elasticsearch Document retrieves a specific document from Elasticsearch
  • Disconnect disconnects from Zeebe and Elasticsearch when the app shuts down

 

Powered by Apex Designer
Terms of ServicePrivacy Policy
© 2017-2022 Apex Process Consultants