Search this Blog

Search this Blog


Follow our Blog by Email

Thursday, March 5, 2015

Camunda BPM 7.3.0-alpha2 released

A new alpha release of our open source BPM and Workflow platform is available for download. The highlights of this release are:
  • Process Engine and Rest Api
    • Native JSON and XML Variable Value Types
    • Improved Sorting: specify multiple sort parameters in rest api, sort task by variable value
    • Historic Job Log
    • Support for databases: Oracle 12c
    • Partially Order Historic Activity Instances by occurrence
  • Cockpit
    • UI improvements
    • Advanced Process Instance Search (enterprise feature)
  • Tasklist
    • Sort by multiple parameters
    • Sort by variable value
  • Admin
    • Browse Users by Group
  • JavaScript SDK
    • Add group resource
    • Support local variables
The full release notes can retrieved from Jira. The known issues as well.

Tuesday, February 17, 2015

Feedback wanted: Camunda BPM and Business Rules

Have you ever used the business rules task in BPMN?
Are your company's business rules closely related to your processes?

Many of our users will answer these questions with a 'yes'.

With the new DMN standard for decision management and business rules being close to the final release at OMG, the whole topic has recently been getting increased attention. The DMN (Decision Model and Notation) standard has been built in a way so that it can easily interact and integrate with BPMN.

Camunda BPM is widely considered a great BPMN engine. We have recently added the CMMN standard for case management to this engine, which was a great success for our users. Now we are thinking about adding a solution for executing business rules based on DMN.

We want to give you the chance to influence our decision, so that we build what you need most.

This is why we are asking you to participate in our survey. It's just 10 questions, won't take longer than 10 minutes and doesn't require any personal data. Please participate, even if you do not know DMN or if you do not care about business rules.

English version:

German version:

Thanks for taking part and for helping us decide. 

Monday, February 9, 2015

{ "json" : "everywhere" } - How to use json in a process

Since Camunda BPM platform 7.2 it is very easy to read, write and manipulate json objects by using Camunda Spin. Among other things, this feature is used to serialize Java objects inside a process instance in the process engine.

But what if you want to use Json Variables without mapping to Java objects? With the next alpha release we will introduce a new ValueType "json" (and "xml" but that is an other story).

In this post I demonstrate how you can use the json value type to

  • implement HTML Forms which work with a Json Variable,
  • implement BPMN Sequence Flow conditions based on the properties of the Json Variable.

Thursday, February 5, 2015

Data mapping and transformation with Camunda Spin and Java 8

Working with text based data formats such as Xml and Json is a common requirement when implementing BPMN processes.

Since version 7.2 Camunda provides an optional library which is called Camunda Spin. Spin is a lightweight wrapper library which provides a easy to use API when working with text based data formats such as XML and Json.

In this post I show how the Camunda Spin can be used for implementing data transformations and mapping in combination with the Java 8 Stream processing API and contrast this to the classical Java 6 / 7 way of doing it.

Tuesday, February 3, 2015

The symbiosis of test and documentation

We want to build a library of reusable widgets, which are tested and documented. The components of the tasklist search are examples for such widgets:

This blog entry describes how we document and test widgets and make sure that tests and documentation stay in sync.

Monday, February 2, 2015

Gracefully Cancelling a Process Instance

Cancelling a running process instance in Camunda is easy:
DELETE /process-instance/{id}
or, using Java API:
RuntimeService.deleteProcessInstance(String, String)
this will simply delete the process instance and remove it from the database. Sometimes this is exactly what you need.

However: what if you want to cancel the process instance gracefully? Gracefully in the sense that the effects it has had on the outside world are undone? The answer to this is compensation. In this post I discuss two ways to implement compensation.

Tuesday, January 27, 2015

Camunda BPM 7.3.0-alpha1 released

The first alpha release in the 7.3 branch is ready! This is what's inside:

  • New Documentation
    • Case Management Getting Started Tutorial (Docs)
    • Multi Tenancy (Docs)
  • Process Engine
    • Features
      • Namespaces in XPath (CAM-2342)
      • Typed Variable API in CDI Module (CAM-3152, contribution by Michael Scholz)
      • Support for CMMN Manual Activation Rule (CAM-3169
      • Use BPMN Call Activity for starting a CMMN Case Instance (CAM-3353)
    • Bugfixes
  • Cockpit
    • Maintenance
      • Upgrade to Bootstrap 3 (See "Known Issues" below)
      • Switched from Angular UI to Angular Bootstrap (See "Known Issues" below)
      • Support for requirejs-angular-define deprecated
    • Features
      • Improved startup time: All Javascript resources are now minified (including plugins)
      • Advanced Process Instance Search (CAM-2697, enterprise edition only)
  • Camunda Tasklist
    • Features
      • Create a standalone task
      • Support custom libraries providing custom angular controllers and other components. (Docs)
      • Support for plugins (Docs)
All together, 75 issues were closed. Read the complete release notes in JIRA.

Camunda BPM is open source and can be downloaded from