CaseFabric Reference Guide

CaseFabric Reference Guide

  • Overview
  • Getting Started
  • CMMN
  • CaseFabric IDE
  • CaseFabric Engine
  • Extensions
  • API Reference
  • Releases

›Releases

Overview

  • CaseFabric
  • A short introduction
  • Product Overview

Getting Started

  • Introducing CaseFabric Demo
  • Generic UI
  • How to use task UI rendering
  • Two business applications
  • Obtaining CaseFabric Demo

Some CMMN

  • What is CMMN
  • Modelling the Case Plan
  • Modelling the Case File
  • Modelling the Case Team
  • Other things to model

CaseFabric IDE

  • An IDE?
  • Designing
  • Tasks and Parameters
  • Expressions
  • Deploying
  • Debugging

CaseFabric Engine

  • The CaseFabric Engine
  • Authentication
  • Authorization
  • Pictorial overview
  • Configuration
  • Logging
  • Repository

Extensions

  • Do we need extensions?
  • Fault Handling
  • Workflow
  • Business Identifiers

API Reference

  • Introducing the API
  • Joining the platform
  • Start a Case
  • Case Team membership
  • Executing the case
  • Retrieving cases and tasks
  • Casefile requests

Releases

  • Overview
  • 1.1.34
  • 1.1.33
  • 1.1.32
  • 1.1.31
  • 1.1.30
  • 1.1.29
  • 1.1.28
  • 1.1.27
  • 1.1.26
  • 1.1.25
  • 1.1.24
  • 1.1.23
  • 1.1.22
  • 1.1.21
  • 1.1.20
  • 1.1.19
  • 1.1.18
  • 1.1.17
  • 1.1.16
  • 1.1.15
  • 1.1.14
  • 1.1.13
  • 1.1.12
  • 1.1.11
  • 1.1.10
  • 1.1.9
  • 1.1.8
  • 1.1.7
  • 1.1.6
  • 1.1.5
  • 1.1.4
  • 1.1.3
  • 1.1.2
  • 1.1.1
  • 1.1.0

Cafienne Engine Release 1.1.10

Time for small gifts and presents

The big news of November 2020 was the fact that the Cafienne code repositories have opened up in GitHub. We celebrated this in an online session with an interesting presentation from a customer refactoring the core of his software product with Cafienne. One of the important philosophies we have applied and keep applying is to do small and gradual changes to the engine. The need for backwards compatibility is a key driver behind this.

December is a festival season, and this release holds a few nice gimmicks and presents to make life little easier.

Important - upgrading from earlier versions requires configuration changes (more details below)

CaseFile operations enabled

We proudly presented the case file on steroids that came with release 1.1.9. In this release, we have added a mechanism to update the entire case file in a single shot, instead of one case file item at a time.

New APIs for Tenant Administration

The APIs for tenant administration for tenant owners have been revamped a bit.

Changes to single tenant users

  • replacing a tenant user is now possible
  • when updating a tenant user, ownership and account-enabled/disabled can be updated as well.
  • /owners and /account/enable and /account/disable have been deprecated

Changes on entire tenant

It is now possible for tenant owners to batch update a set of users in the tenant. Similarly it is now possible to replace all users in the tenant with one API call. In case of replacement of all tenant users in a single shot, the engine will only generate events for actual changes. E.g., if an existing user is in the new list, without real changes, this will not lead to internal engine events.

More CMMN1.1 compliance

In CMMN 1.0 version, documentation for e.g. a task could be passed through a description attribute in the definition. With CMMN 1.1 this has been replaced with a <cmmn:documentation> element. With this new version of the engine, the former description attribute is automatically converted to a documentation element.

Note that the Cafienne IDE has also been updated to design the models in a CMMN 1.1 compliant manner. We recommend updating your models by loading them once in the latest Cafienne IDE.

Debugging Events extended

The engine now generates and persists DebugEvents in case of invalid commands. In addition to the response code that is sent back to the client, the internal log messages of the engine may give more information on the cause of the failure. By persisting the DebugEvent even if the command fails, developers can do more and deeper analysis.

Existing Configurations need a change

The OffsetSerializer is no longer in use from this release onwards, and the corresponding configuration settings must be removed.

Below settings must be replaced

    serializers {
      cafienne_serializer = "org.cafienne.akka.actor.serialization.CafienneSerializer"

      # offset_serializer is used to serialize offset snapshots
      offset_serializer = "org.cafienne.infrastructure.eventstore.OffsetSerializer"
    }
    serialization-bindings {
      "org.cafienne.akka.actor.serialization.CafienneSerializable" = cafienne_serializer

      # Current offsets are WrappedOffset objects
      "org.cafienne.infrastructure.eventstore.WrappedOffset" = offset_serializer
    }

New settings to be used

    serializers {
      cafienne_serializer = "org.cafienne.akka.actor.serialization.CafienneSerializer"
    }
    serialization-bindings {
      "org.cafienne.akka.actor.serialization.CafienneSerializable" = cafienne_serializer
    }

Housekeeping

  • Many underlying dependencies have been updated to the latest versions.
  • The build structure of the engine project has been refactored to avoid unnecessary duplications.
  • The management of database connections and schemas has been refactored to support the upcoming conversion of the internal timer service persistence.
  • Response codes and logging for various types of exceptions have been unified.

Tickets closed

TicketDescription
#145It should be possible to update entire case file item
#146Invoke StartCase without "definition" filled gives internal NullPointerException
#1471.1.9 introduced IdentityCaching gives wrong status codes on invalid users
#148It should be possible to retrieve list of deployed definitions even without passing tenant name
#149Deleting CaseFileItem that has children crashes the engine
#150Case engine chokes upon akka-path invalid case instance id
#156When the sub case task has an invalid reference, engine chokes on parameter mapping validation
#158CaseFileItem exit criteria do not get satisfied
#160internal test framework has wrong snapshot store configuration
#162StartCase with tasks that access non-input-parameter filled case file items chokes engine
← 1.1.111.1.9 →
  • CaseFile operations enabled
  • New APIs for Tenant Administration
    • Changes to single tenant users
    • Changes on entire tenant
  • More CMMN1.1 compliance
  • Debugging Events extended
  • Existing Configurations need a change
  • Housekeeping
  • Tickets closed