Major Authorization Extensions
This release holds a number of major enhancements to the core of the platform.
Complete overhaul of the core Authorization model
The internal engine authorization for both querying cases and acting on them is now fully executed at the level of the individual case instance. Each case has it's own team, and that team is the only team that has access to the case. Searching for cases or tasks will only produce results if you are member of the case team. Working on cases and tasks can only be done if you are a member of the case team.
Case team membership has been redefined to support membership based on user id or role name. In addition, the notion of case ownership has been added, and only case owners can modify the case team.
More information can be found online in the Cafienne Guide
Enhanced search capabilities with Business Identifiers
Within the case definition a new option has been added to determine certain properties in the case file as business identifiers. Searching cases or tasks can be extended to include filtering on these properties and their values. More information and examples can be found in the Cafienne Guide on Business Identifiers
More Deployment flexibility
The default Cafienne deployment scheme was based on a simple file system repository. This approach does not lend itself for complex multi-tenant deployments. A new DefinitionProvider has been implemented giving full flexibility when starting a case instance. The Cafienne Guide has a new page called Repository describing the details.
Until this release, creation of tenants could only be done with a list of owners for the new tenant. Adding users to the tenant had to be done separately by the tenant owners. With this release, the creation of tenants can be done with the entire list of tenant users instead of just the tenant owners. Obviously that list must have at least one owner.
Yes. 100%. Indeed. As always.
Query Database Updates
The schema of the internal query-db that Cafienne uses to implement the various querying APIs has been refactored to fit the above new features. In addition quite a few new indices have been added, and all foreign key relationships have been removed. No need to update manually - the first time Cafienne Engine is started with the new release, the updates are performed automatically.
This release holds various dependency updates, e.g. on latest JDBC drivers. Furthermore a lot of internal restructuring and extensions to tests have been added.
|108||Add timestamp to all ModelEvents instead of only CaseModified|
|107||Compatibility issue: old case team structure only has owners|
|104||Allow PlanItem transitions based on name|
|102||Start Case via swagger does not work due to documentation issue|
|101||Adding case team members or changing task assignee should validate tenant user existence|
|100||HumanTaskCreated and HumanTaskActivated events should be merged|
|99||Swagger formation for getCaseTeam is wrong|
|98||Case engine has unpredictable timestamp generation|
|95||CreateTenant should also support creation of plain users instead of only owners|
|88||Swagger documentation of repository/deploy is incorrect|
|22||CaseParticipantRegistration should expose 'TenantLastModified'|
|18||It should be possible to pass the case definition into StartCase|
|14||Cross-tenant task query on role should be smarter|
|10||Parameter mapping back into case file should be less rigid|
|5||It should be possible to re-assign a task|
|3||Add CaseTeam Querying APIs|
|2||User registration should not accidentally erase user name and email|