Skip to content

kalodim/code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Repository files navigation

Camunda Consulting Examples

This repository contains examples, code snippets and demo applications build by the Camunda Consulting Team or contributors. Note: All examples are only tested manually and there is no guarantee that they are actively maintained. If you search for officially maintained examples go to https://github.com/camunda/camunda-bpm-examples.

Type of ExampleDescription
Show CasesComplete demo applications showing more complex scenarios
SnippetsCode snippets for particular technical issues
One-time ExamplesExamples created once for a specific event (like a conference or a magazine article). The code is not maintained and might be out-of-date.

Showcases

Review Process for new Tweets
Key Features showcased:
  • Complete Process Application
  • HTML or JSF task forms
  • Testing with camunda-bpm-assert and PowerMock + Mockito
  • [todo] Cycle with Collaboration
  • [todo] Retries and Incident Handling
Camel Use Cases
Key Features showcased:
  • Features of Camel Component, especially including messaging
Insurance Underwriting
Key Features showcased:
  • CMMN
  • Case UI in JSF
  • Combination of BPMN, CMMN and Rules
Incident Handling
Key Features showcased:
  • Working process from official OMG by example paper
  • BPMN Collaboration
Skill-based-Routing
Key Features showcased:
  • DMN Decision Tables
  • Decision Flow implementing a DMN Decision Requirement Diagram (DRD)

Snippets

Human Task Management

PreviewNameDescription
Subtask ChecklistBPMN process with sub tasks configured on a User Task using BPMN Extension Elements. The Subtasks are shown in the HTML task form using the Camunda Forms SDK (JavaScript). A User Task can only be completed if all subtasks are completed beforehand.
Simple tasklist build with JSFA tasklist to show how to use the engine api inside a JSF application. It calls forms, completes tasks and shows the detail process diagram with bpmn.io
Watch Task Due Date and Automatically Take ActionA Process engine Plugin which registers Jobs for all User Tasks having a due date. It allows to define an own JobHandler to take action whenever a due date is hit, e.g sending an email.
Dynamic single task processA highly configurable process to get toDo items into your task list

BPMN

PreviewNameDescription
BPMN Signal Events between Parallel BranchesThis example shows how to interrupt a Task in a parallel flow within the same process instance by using a BPMN Signal Event.
Translate your process model on the flyTranslate the BPMN XML on the fly using XPath and render the result (in the correct language) via bpmn.io
Call Activity sets local variableShows how to set a local variable in a parent process based on the variable of a child process invoked by a Call Activity.
Split Order Item Handling via OR GatewayAssume only a few items of an order are decided in one go - but the approved ones need to get processed right away. This is modeled using an OR Gateway and local variables.
Workaround to realize BPMN AdHoc SubpocessThe BPMN AdHoc Subprocess is not specified to be executable, hence camunda BPM cannot execute it out-of-the-box. This snippet shows a possile workaround.
Non-interrupting Message Event Sub-Process inside a Sub-ProcessAn example showing that a Sub-Process is not finished until a contained Event Sub-Process has reached its end.

Camunda Webapp (Tasklist & Cockpit)

PreviewNameDescription
Webapp CustomizingShows how to build a customized webapp (own logo, colors, language, plugins, ...) by using Maven Overlay.
Various Cockpit PluginsThe Plugin Store lists various available cockpit plugins, including the consulting snippets.
Tasklist Plugin: Easy SearchPlugin that provides a "Google-like" search bar for tasks.
Tasklist Plugin: Extended External FormsPlugin that provides a customized and better looking external forms hook.

bpmn.io

PreviewNameDescription
Plain HTML page showing Process Instance statusShows how to build a self-contained HTML page with bpmn.io showing the process model and add overlays and markers to show historical information.

DMN

PreviewNameDescription
DMN dependant decisionsHow to evaluate dependant DMN decisions on the Camunda BPM platform.

CMMN

CMMN Human Task Listener in a Process Engine PluginUsing task listener in all CMMN Human Tasks.

Process Engine Plugins

PreviewNameDescription
Making parallel joins asynchronousTo avoid optimistic lock exceptions on heavy load processes, this plugin makes each joining gateway asynchronous without further configuration in the process diagram.
authenticatedUserId after Asynchronous ContinuationTo use the userId after asynchronous continuation, this plugin puts it from the history on the current thread.
Authorized User TasksOnly authorized users are able to complete a task. Obsolete since 7.3. Use Authorization-Service instead.
History Variable FilterHow to store only one of many variables in the history.
Change Number of Job RetriesThis snippet shows how to change the number of retries for all jobs without touching the process diagrams.
Extend serialization of process variablesThis snippets exends the serialization of process variables for special classes, builds a jboss module with a maven plugin and shows how to use complex objects in a process application.
Engine Plugin: Add Save PointsA plugin that automatically adds save points, i.e. asyncronous continuation or transaction boundaries, to certain BPMN elements.

Runtime Environments

PreviewNameDescription
Java-based Spring container configurationRun the process application in a Spring container with java-based configuration on a shared process engine.
Embedded Process Engine without SpringA Process Application containing an embedded process engine that is configured in the processes.xml file and therefore does not require the Spring Framework as a dependency.

Testing

PreviewNameDescription
BPMN Validation with the Parser of the Process EngineA minimal environment for validating BPMN processes using an in-memory process engine in a JUnit test.

Administration

PreviewNameDescription
How to clean up the history tablesSolutions to clean up the history from old completed process instances.

About

Examples and demo applications built by the camunda consulting team

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript65.0%
  • Java19.1%
  • HTML9.7%
  • CSS4.9%
  • PLSQL0.8%
  • TypeScript0.3%
  • Other0.2%