camunda BPM 7.2.0-alpha4 released: CMMN Listener, Tasklist, Spin, Connect

Today we release the next alpha release of camunda BPM platform. The highlights of this release are:

  • CMMN Listener support
  • Embedded Forms in Tasklist
  • JSON support in Spin
  • JSON to Java mapping with Spin
  • Simple REST HTTP Connector
 

Add Listeners to your CMMN Case Definitions

As the CMMN support of our platform steadily increases we started to add features known from our BPMN implementation. With this alpha release you can add camunda:caseExecutionListener to plan items and camunda:taskListener to human tasks:

<?xml version="1.0" encoding="ISO-8859-1" standalone="yes"?>
<definitions id="_7f0c94c0-2a22-445d-b4b7-4fd181e08248"
                  xmlns="http://www.omg.org/spec/CMMN/20131201/MODEL"
                  xmlns:camunda="http://camunda.org/schema/1.0/cmmn"
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  targetNamespace="Examples">
  <case id="case" name="Case">

    <casePlanModel id="CasePlanModel_1">
         
      <extensionElements>
        <!-- Case execution listener which calls a delegate expression if the case is closed -->
        <camunda:caseExecutionListener event="close" delegateExpression="${myListener}" />
      </extensionElements> 
    

      <planItem id="PI_HumanTask_1" definitionRef="HumanTask_1" />

      <humanTask id="HumanTask_1" name="A HumanTask">
        <extensionElements>
        
          <!-- Case execution listener which calls a delegate class if the human task is suspend -->
          <camunda:caseExecutionListener event="suspend" 
            class="org.camunda.bpm.cmmn.listener.MyExecutionListener" />
            
          <!-- Task listener which evaluates an expression if the human task is assigned -->
          <camunda:taskListener event="assignment" 
            expression="${myTaskListener.notify(task, task.eventName)}" />
            
        </extensionElements>
      </humanTask>

    </casePlanModel>

  </case>

</definitions>

Case execution listener can be added for the following state transitions: close, complete, create, disable, enable, exit, manualStart, occur, parentResume, parentSuspend, parentTerminate, reactivate, re-enable, resume, start, suspend and terminate. Task listener on human tasks are triggered for the following events: assignment, complete, create and delete. Case execution listeners and task listeners on human task which do not specify a event will be triggered on all previous listed events.

The CMMN Listeners support all features of our BPMN Listeners like field injection or script execution.

Embedded forms in Tasklist

After a refactoring of our front end projects and infrastructure finally new features are arriving in the Tasklist. Embedded forms of processes and tasks are now visible in the Tasklist. There were some major changes to the forms SDK which will improve the performance and the variable handling of your forms. For a sneak peak of the new features see the docs of the camunda-bpm-sdk-js. Also tasks can now be assigned from the task list and are correctly displayed by the available filters.

Filtered tasklist with an embedded form
Filtered Tasklist with an embedded form. The assignee can be changed directly from the Tasklist.

camunda Spin JSON support

It is now possible to read, modify and write JSON with camunda Spin. For more information on all features please see the documentation.

// read JSON from String
SpinJsonNode json = JSON("{\"name\": \"camunda\", \"version\": \"7.2.0-alpha3\"}");

// read JSON object property as String
String version = json.prop("version").stringValue();

// calculate new version
int newVersion = Integer.valueOf(version.substring(version.length() - 1)) + 1;
version = version.substring(0, version.length() - 1 ) + newVersion;

// set JSON object property
json.prop("version", version);

// return JSON as String
System.out.println(json.toString());

Besides the manipulation of JSON it is also possible to map Java Objects to their JSON representation and vice versa. This feature will be used by the process engine to improve the serialization of Java Objects inside a process instance. It is already implemented in the core of the engine but not yet available from the public API.

Accessing REST APIs with camunda Connect

With the new camunda Connect REST HTTP Connector we provide a low level connector to access REST APIs from a BPMN process. A simple example process which demonstrates the new connector in combination with variable mappings and script execution can be found in our examples repository.

  • Monitoring Camunda Platform 7 with Prometheus

    Monitoring is an essential facet of running applications in a production system. Through this process, organizations collect and analyze data, and determine if a program is performing as expected within set boundaries. When combined with alerting, monitoring allows for detecting unexpected system behavior to mitigate exceptional situations as fast as possible. Furthermore, tracking the performance of a system enables organizations to improve those aspects that have the biggest impact with higher priority. One essential aspect of monitoring is the list of key metrics you want to observe. There are different categories of statistics that can be of interest here. To observe the defined metrics, there are plenty of application monitoring tools on the market today. They differ in many aspects...

    Read more
  • Securing Camunda 8 self-managed cluster and applications...

    Directory services are an effective way to manage an organization’s users, groups, printers, devices, and more. Most organizations accomplish this using Active Directory, Apache Directory, Oracle Internet Directory, or other similar tools. Recently I worked with a customer who wanted to see how he could secure the Camunda 8 Platform and process applications with such a directory. Their requirements consisted of: Allowing Directory users to access Camunda applications (Tasklist, Operate, Optimize) Accessing secured Tasklist & Operate APIs from our custom project Securing the custom project In this article, I’ll briefly explain the 3 easy steps taken to fulfill their requirements which include: Federate users from the Directory service into Keycloak Declare an application in Identity to access Camunda APIs Configure...

    Read more
  • Accelerate Connectivity with Camunda Platform 8.1

    We’re thrilled to announce Camunda Platform 8.1, the latest release of our process orchestration solution. This new version introduces features that accelerate connectivity to the many different systems and technologies that are required for true digital transformation, including: Create custom Connectors with our Integration Framework to accelerate connectivity New out-of-the-box Connectors for popular services Enhancements to Camunda Modeler that improve productivity Hot backups and official support for Amazon EKS and Red Hat OpenShift Plus, several upgrades requested by Camunda Platform 7 customers Organizations across all industries rely on complex technology stacks to adapt and enhance their operations in response to market dynamics, new disruptive companies, and increasing consumer expectations. Your technology stack likely includes everything from cutting-edge technologies to legacy...

    Read more

Ready to get started?

Still have questions?