Today we announce the next alpha release of camunda BPM platform. The highlights of this release are:
The tasklist-ui is now developed in a separate git repository.
- Deploy and instantiate CMMN Case Definitions,
- New Tasklist Skeleton
- I/O Mappings for BPMN 2.0 Activities and Events
- Xml Data processing in Java, Expression Language and Script Languages
- Simple SOAP Http Connector
Deploy and instantiate CMMN Case DefinitionsWe are making good progress on CMMN support in the process engine. CMMN is an emerging OMG standard for Case Management. It is now possible to deploy and instantiate a CMMN Case Definition using both Java and REST Api: More examples can be found on Github. In the next release we will provide support for CMMN human tasks, manual activation completing cases and tasks and maybe more.
New Tasklist SkeletonThe new release contains a very early preview version of the upcoming tasklist application.
|Skeleton of new tasklist|
I/O Mapping in Process EngineThe process engine now provides support for input output mappings for Tasks, Events and Subprocesses. Input Output mappings can be used for creating variables in a local scope or mapping variables out of a local scope:
Xml in Expression Language
camunda BPM now provides out of the box support for working with complex data objects in expression language. In alpha-2, support is limited to Xml, other formats like Json are planned. In alpha-2 you can access attributes and child elements of Xml data objects and it is possible to execute XPath queries. This makes is easier to work with Xml data in expression language without having to to map it to Java Objects:
Support for this is provided through camunda Spin, a small library providing lightweight wrappers around existing low-level Apis and parsers (such as Dom).
Spin can also be used from Java Delegate implementations (obviously) and JVM scripting languages.
On top of directly using Spin in El expressions or script code, we plan on using it as data transformation provider for the process engine. This will be usecases around requesting different data representations for a variable (Java Object vs. mapped JSON Representation) and many more.