Category

Engineering Excellence

All Camunda blog posts tagged with Engineering Excellence.

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.    Example The example we use is how to transform a list of The Big Bang Theory episodes (provided as…

By Daniel Meyer

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. Tests With E2E tests we specify and test the desired behavior of the widgets. For our angular widgets, we use Protractor. E2E tests interact with a webpage, e.g. by clicking on links and buttons or typing text. This simulates the user behavior. To run these tests, we have to create the webpages the tests use. These webpages display the widget in the environment we want to test. Documentation For the documentation, we describe the interface…

By Sebastian Stamm

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. Internal Compensation Modeling compensation inside the process itself: The compensation undoes the effects of the process so far. This is usually modeled in a way where you attach a compensation handler to those service tasks which have effects on…

By Daniel Meyer

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 Multi Instance (CAM-986, contribution by Ronny Bräunlich) Variable Serialization (CAM-3167, CAM-3174, CAM-3176, CAM-3179) 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…

By Daniel Meyer

Camunda 7.2 Hands-on Webinars: Recordings available

Camunda 7.2 is packed with new features, which is why we just ran a series of developer-oriented webinars about the most important ones. We hope you like what we built! The best way to let us know what we can do in order to provide you with the best BPM technology in the universe is to participate in our survey, please – it’s only 3 questions! Thank you so much! Recordings in English Tasklist and Javascript Forms SDK CMMN Case Management Connectors, Data, Scripting Performance, Scalability Slides in English Tasklist and Javascript Forms SDK CMMN Case Management Connectors, Data, Scripting Performance, Scalability Recordings in German Tasklist und Javascript Forms SDK CMMN Case Management Konnektoren, Daten, Skripte Performance und Skalierbarkeit

By Jakob Freund

Camunda Modeler 2.7.0 release

The Camunda BPM team is pleased to announce the release of Camunda Modeler 2.7.0. This release is dedicated to align the latest improvements of Camunda BPM 7.2 with the modelers properties panel. Find a complete list of issues solved in this release in JIRA. This release covers Eclipse Kepler and Juno/Indigo as well as the Camunda Modeler Standalone. The new features were mainly developed by Roman! What’s inside? We exposed the attributes we have added with the Modeler release 2.6.1 on the properties panel, namely i/o mapping, connectors and asyncBefore/asyncAfter. Two new tabs were added to the properties panel in order to configure Input/Output parameter and connector settings. A new input dialog was implemented for adding and editing the parameter details. Find a complete overview…

By Michael Schöttes

Cycle 3.1 Released

We are happy to announce the release of Cycle version 3.1. Cycle is a tool which makes synchronization of BPMN diagrams between the camunda modeler and third party modeling tools possible. With this release we provide a feature which allows bpmn tool vendors to integrate their tool with camunda cycle by providing custom Connectors. The complete release notes can be found in JIRA You can download the distribution of Cycle 3.1 from camunda.org and view the source code on GitHub. Connectors Cycle uses Connectors which implement the necessary operations to synchronize BPMN diagrams. With Cycle 3.1, we provide a way to augment Cycle with custom Connectors. Tool vendors can implement needed operations and publish a Connector which integrates their tool…

By Sebastian Stamm

Getting Started: CMMN and Camunda

With Camunda BPM 7.2, we have released our very first implementation of the Case Management Model and Notation (CMMN) standard. Some people even say it is the first available CMMN implementation at all. Like BPMN, CMMN is a specification by the Object Management Group and while BPMN is a standard for modeling processes that are highly structured, CMMN is a standard for modeling cases. In contrast to processes, cases are user- and data-driven and typically are much less pre-defined in terms of execution order and required tasks. With 7.2, it is now possible to deploy CMMN models to the engine, and interact with case instances via a rich Java and REST API. For human tasks, camunda Tasklist can be used…

By Thorben Lindhauer

Camunda Modeler 2.6.1 release

It’s been a while since our last eclipse Modeler release. We are happy to announce the new Camunda Modeler release 2.6.1. Downloads Eclipse Modeler https://camunda.org/download/modeler/ Standalone Modeler https://camunda.org/bpmn/tool/ Kepler: https://camunda.org/release/camunda-modeler/update-sites/kepler/latest/site/ Indigo and Juno: https://camunda.org/release/camunda-modeler/update-sites/latest/site/ What’s inside? This release ensures compatibility of the Modeler with the latest attributes introduced in Camunda BPM 7.2. Roman has done a great job updating the meta model of the Modeler so that BPMN 2.0 XMLs which contain i/o-mapping and script attributes can now be opened. Additionally, we are happy that two pull requests from our great community are included in this release. What’s next? Currently we are working on the 2.7.0 version of our Modeler, which will expose the attributes we have added with 2.6.1 on the…

By Robert Gimbel

Try All Features of Camunda