Code Monkey home page Code Monkey logo

code's Introduction

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 Example Description
Show Cases Complete demo applications showing more complex scenarios
Snippets Code snippets for particular technical issues
One-time Examples Examples 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

Preview Name Description
Subtask Checklist BPMN 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 JSF A 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 Action A 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 process A highly configurable process to get toDo items into your task list

BPMN

Preview Name Description
BPMN Signal Events between Parallel Branches This 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 fly Translate the BPMN XML on the fly using XPath and render the result (in the correct language) via bpmn.io
Call Activity sets local variable Shows 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 Gateway Assume 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 Subpocess The 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-Process An example showing that a Sub-Process is not finished until a contained Event Sub-Process has reached its end.

Camunda Webapp (Tasklist & Cockpit)

Preview Name Description
Webapp Customizing Shows how to build a customized webapp (own logo, colors, language, plugins, ...) by using Maven Overlay.
Various Cockpit Plugins The Plugin Store lists various available cockpit plugins, including the consulting snippets.
Tasklist Plugin: Easy Search Plugin that provides a "Google-like" search bar for tasks.
Tasklist Plugin: Extended External Forms Plugin that provides a customized and better looking external forms hook.

bpmn.io

Preview Name Description
Plain HTML page showing Process Instance status Shows 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

Preview Name Description
DMN dependant decisions How to evaluate dependant DMN decisions on the Camunda BPM platform.

CMMN

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

Process Engine Plugins

Preview Name Description
Making parallel joins asynchronous To 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 Continuation To use the userId after asynchronous continuation, this plugin puts it from the history on the current thread.
Authorized User Tasks Only authorized users are able to complete a task. Obsolete since 7.3. Use Authorization-Service instead.
History Variable Filter How to store only one of many variables in the history.
Change Number of Job Retries This snippet shows how to change the number of retries for all jobs without touching the process diagrams.
Extend serialization of process variables This 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 Points A plugin that automatically adds save points, i.e. asyncronous continuation or transaction boundaries, to certain BPMN elements.

Runtime Environments

Preview Name Description
Java-based Spring container configuration Run the process application in a Spring container with java-based configuration on a shared process engine.
Embedded Process Engine without Spring A 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

Preview Name Description
BPMN Validation with the Parser of the Process Engine A minimal environment for validating BPMN processes using an in-memory process engine in a JUnit test.

Administration

Preview Name Description
How to clean up the history tables Solutions to clean up the history from old completed process instances.

code's People

Contributors

bastianbentfeld avatar benhoffmann avatar berndruecker avatar ekamil avatar falko avatar felix-mueller avatar gimbel avatar hawky-4s- avatar ingorichtsmeier avatar jakobfreund avatar jangalinski avatar mburke84 avatar menski avatar meyerdan avatar mschoe avatar nevries avatar nikku avatar npdeehan avatar patrick-werner avatar polenz avatar rafacm avatar romansmirnov avatar spiff02 avatar tobiasschaefer avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.