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
Frequently Asked Questions
Version 2.2.214 Released
Version 2.2.221 Released
Version 2.2.244 Released
Version 2.2.273 Released
Flex Layout Helper Classes
Manage PDFs
Version 2.2.281 Released
Version 2.2.287 Released

Camunda 8 Library

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

Blank Profile Image
Written by David Knapp
Updated a year 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-2023 Apex Process Consultants