Release notes for Red Hat Decision Manager 7.2
Abstract
Preface
These release notes list new features, features in technology preview, known issues, and issues fixed in Red Hat Decision Manager 7.2.
Chapter 1. Product overview
Red Hat Decision Manager is an open-source decision management platform that combines business rules management, complex event processing, Decision Model & Notation (DMN) execution, and Business Optimizer for solving planning problems. It automates business decisions and makes that logic available to the entire business.
Business assets such as rules, decision tables, and DMN models are stored in a central repository. This ensures consistency, transparency, and the ability to audit across the business. Business users can modify business logic without requiring assistance from IT personnel.
Red Hat Decision Manager 7.2 provides increased stability, several fixed issues, and a few new features.
Red Hat Decision Manager is fully supported on OpenShift and can be installed on various platforms.
Red Hat Decision Manager requires Java 8 or later.
For information about the support policy for Red Hat Decision Manager, see the Release maintenance plan for Red Hat Decision Manager 7.x and Red Hat Process Automation Manager 7.x.
Chapter 2. New features
This section highlights new features in Red Hat Decision Manager 7.2.
2.1. Container support
You can install Red Hat Decision Manager on Red Hat JBoss Web Server 5.0.1 or later.
You can install Red Hat Decision Manager on Red Hat JBoss EAP 7.2.
Red Hat JBoss EAP 7.1 is not supported with Red Hat Decision Manager 7.2.
2.2. Business application generator
You can use the http://start.jbpm.org
website to generate a Red Hat Decision Manager business application based on Spring Boot starters. After you create and configure your business application, you can deploy it to an existing service or to the cloud, through OpenShift.
2.3. Decision Central
2.3.1. Experimental properties administration page
Decision Central now includes an experimental features administration page which is disabled and hidden by default. When enabled, this page displays a list of some experimental features that are in technology preview. You can enable or disable individual features from this page. To enable the experimental features administration page, set the value of the appformer.experimental.features
property to true
.
Some experimental features are enabled by default and might not be listed on the experimental properties administration page.
2.3.2. Support for SSH Keystore
Red Hat Decision Manager uses the SSH protocol for user authentication. It now has a configurable default SSH keystore (where you can register multiple public keys), extensible APIs (for custom implementations), and support for multiple SSH public keys formats.
For more information about SSH keystore, see Configuring Decision Central settings and properties.
2.4. Decision engine
2.4.1. Rule units
Red Hat Decision Manager 7.2 now supports rule units that you can use to partition a rule set into smaller units, bind different data sources to those units, and then execute the individual unit. A rule unit consists of data sources, global variables, and rules.
You can define a rule unit by implementing the RuleUnit
interface as shown in the following example:
Example rule unit class
package org.mypackage.myunit; public static class AdultUnit implements RuleUnit { private int adultAge; private DataSource<Person> persons; public AdultUnit( ) { } public AdultUnit( DataSource<Person> persons, int age ) { this.persons = persons; this.age = age; } // A DataSource of Persons in this rule unit public DataSource<Person> getPersons() { return persons; } // A global variable valid in this rule unit public int getAdultAge() { return adultAge; } // --- life cycle methods @Override public void onStart() { System.out.println("AdultUnit started."); } @Override public void onEnd() { System.out.println("AdultUnit ended."); } }
For more information about rule units, see the Drools Documentation.
2.4.2. Multithreaded evaluation in the decision engine
In Red Hat Decision Manager 7.2, the decision engine can now evaluate more business rules in parallel by dividing the RETE and PHREAK pattern-matching algorithms in independent partitions and evaluating them in parallel.
Multithreaded evaluation is disabled by default in Red Hat Decision Manager. To enable multithreaded evaluation for a parallel KIE base, use one of the following options:
Enable multithreaded evaluation with
KieBaseConfiguration
:KieServices ks = KieServices.Factory.get(); KieBaseConfiguration kieBaseConf = ks.newKieBaseConfiguration(); kieBaseConf.setOption(MultithreadEvaluationOption.YES); KieBase kieBase = kieContainer.newKieBase(kieBaseConf);
Enable the multithreaded evaluation system property:
drools.multithreadEvaluation = true
Rules using queries, salience, or agenda groups are currently not supported by the parallel decision engine. If these rule elements are present in the KIE base, the compiler emits a warning and automatically switches back to single-threaded evaluation. However, in some cases, the decision engine might not detect the unsupported rule elements and rules might be evaluated incorrectly. For example, the decision engine might not detect when rules rely on implicit salience given by rule ordering inside the DRL file, resulting in incorrect evaluation due to the unsupported salience attribute.
2.4.3. Ability to declaratively set calendars in a KIE session
In Red Hat Decision Manager 7.2, you can now declaratively set one or more calendars on a KIE session through the kmodule.xml
configuration file, as shown in the following example:
<ksession name="KSession1"> <calendars> <calendar name="monday" type="org.domain.Monday"/> </calendars> </ksession>
The type is the name of the class that implements the org.kie.api.time.Calendar
interface.
2.5. Decision Server
2.5.1. Swagger interface for Decision Manager controller REST API
Red Hat Decision Manager 7.2 provides a Swagger web interface for the Decision Manager controller REST API. You can use this Swagger interface instead of a standalone REST client or curl utility to interact with your Decision Server templates (configurations), Decision Server instances (remote servers), and associated KIE containers (deployment units) in Red Hat Decision Manager.
To access the Swagger interface for the Decision Manager controller REST API, you can either start Decision Central, which contains a built-in Decision Manager controller, or run the headless Decision Manager controller application and navigate to http://SERVER:PORT/CONTROLLER/docs
in a web browser.
Example Swagger URLs:
-
http://localhost:8080/decision-central/docs
(for a Decision Manager controller in Decision Central) -
http://localhost:8080/my-controller/docs
(for a headless Decision Manager controller)
For more information about the Decision Manager controller REST API, see Interacting with Red Hat Decision Manager using KIE APIs.
2.5.2. Decision Model and Notation (DMN) models
Red Hat Decision Manager 7.2 provides both design and runtime support for DMN 1.2 models at conformance level 3, and includes enhancements and fixes to FEEL and DMN model components to optimize the experience of implementing DMN decision services with Red Hat Decision Manager. You can design your DMN models directly in Decision Central or import existing DMN models into your Red Hat Decision Manager projects for deployment and execution.
The DMN designer in Red Hat Decision Manager 7.2 is a Technology Preview feature and is disabled by default in Decision Central. To enable the DMN designer preview in Decision Central, in the upper-right corner of the window, click Settings → Roles, select a role from the left panel, click Editors → DMN Designer → Read, and click Save to save the changes.
For more information about DMN support in Red Hat Decision Manager 7.2, see Designing a decision service using DMN models.
2.5.3. Executable models in Decision Model and Notation (DMN) projects
In Red Hat Decision Manager 7.2, you can now use the kie-maven-plugin
build component to generate DMN executable model classes and compile them in a Red Hat Decision Manager project (KJAR file). DMN executable model classes are similar to executable rule models used for rule assets. This support enables DMN decision table logic in DMN projects to be evaluated more efficiently.
To enable executable models in DMN projects, add the required kie-dmn-core
dependency in the pom.xml
file:
<dependency> <groupId>org.kie</groupId> <artifactId>kie-dmn-core</artifactId> <scope>provided</scope> </dependency>
To build a DMN project with DMN model compilation enabled, navigate to your Maven project directory in a command terminal and run the following command:
mvn clean install -DgenerateDMNModel=YES
Alternatively, you can define the DMN model property directly in the pom.xml
file:
<project> ... <properties> <generateDMNModel>YES</generateDMNModel> </properties> ... </project>
For more information about configuring executable models for your Maven or Java project, see Packaging and deploying a Red Hat Decision Manager project.
2.5.4. Deactivation of KIE containers on Decision Server
You can now deactivate KIE containers on Decision Server. This enables you to stop the creation of new process instances from a specified container while enabling you to continue working on existing process instances and tasks. The deactivated container can be activated again. This feature does not require server restarts.
2.5.5. Decision Server support for rendering forms
New Decision Server support for rendering forms enables you to interact with the Decision Server to perform the following operations:
- Render process forms: Used to start new instances
- Render case forms: Used to start new case instances, including data and role assignments
- Render user task forms: Used to interact with user tasks, including life cycle operations
Rendered forms include buttons that perform all operations based on context. For example, if a user task is in the progress
state, you can use the Stop, Release, Save, and Complete buttons to interact with the process.
2.6. Red Hat Business Optimizer
2.6.1. Defining weights for constraints
In Red Hat Business Optimizer, you can now define weights for constraints inside a class marked with the @ConstraintsConfiguration
annotation. You can assign weights to constraints by the Java or DRL name of the constraint, without needing to modify the code of the constraints.
2.7. OpenShift
2.7.1. LDAP role mapping on OpenShift deployments
When deploying Red Hat Decision Manager on Red Hat OpenShift Container Platform, you can now configure LDAP role mapping.
2.7.2. KJAR services in immutable OpenShift deployments
When deploying Red Hat Decision Manager on Red Hat OpenShift Container Platform in an immutable deployment, you can now create Decision Servers that run services from KJAR files, not from source.
2.7.3. CORS support in trial deployment on OpenShift
In a trial deployment on Red Hat OpenShift Container Platform, you can use client-side JavaScript applications, served from a different domain, to access a Decision Server.
Chapter 3. Technology preview
This section lists features that are in technology preview in Red Hat Decision Manager 7.2. Decision Central includes an experimental features administration page which is disabled by default. To enable this page, set the value of the appformer.experimental.features
property to true
.
These features are for Technology Preview only. Technology Preview features are not supported with Red Hat production service level agreements (SLAs), might not be functionally complete, and Red Hat does not recommend to use them for production. These features provide early access to upcoming product features, enabling customers to test functionality and provide feedback during the development process.
For more information on Red Hat Technology Preview features, see Technology Preview Features Scope.
- New Decision Model and Notation (DMN) designer in Decision Central. You can use the new DMN designer in Decision Central to design DMN decision requirements diagrams (DRDs) and define decision logic for a complete and functional DMN decision model. Red Hat Decision Manager 7.2 provides both design and runtime support for DMN 1.2 models at conformance level 3, and includes enhancements and fixes to FEEL and DMN model components to optimize the experience of implementing DMN decision services with Red Hat Decision Manager. For more information about DMN support in Red Hat Decision Manager 7.2, see Designing a decision service using DMN models.
- Optaweb employee rostering.
- High-availability authoring on Red Hat JBoss EAP (on premise and with OpenShift). Configuration of Decision Central for high availability is currently technology preview. Search and messaging technology used to enable search feature is considered an implementation detail. Red Hat Decision Manager may choose to replace that technology in the future while preserving the capability offered.
- A new Test Scenario (Preview) editor that enables you to add test scenarios to verify the accuracy of previously created rules, decision tables, and so on.
Chapter 4. Known issues
This section lists known issues with Red Hat Decision Manager 7.2.
4.1. Installer
When installing Decision Server and Decision Central using the Red Hat Decision Manager installer, the default placeholder for the controller URL should contain decision-central [RHPAM-1774]
Issue: If you use the Red Hat Decision Manager installer to install both Decision Central and Decision Server, on the Advanced Configuration page the default value for Decision Server is incorrect.
Steps to reproduce:
- Use the installer to install Red Hat Decision Manager on Red Hat JBoss EAP.
- Accept all default selections.
- On the Advanced Configuration page, select Configure Process Server.
Expected result: The value of the Decision Server URL is http://localhost:8080/decision-central/rest/controller
.
Actual result: The value of the Decision Server URL is http://localhost:8080/controller/rest/controller
.
Workaround: After you complete the installation, change http://localhost:8080/controller/rest/controller
to http://localhost:8080/decision-central/rest/controller
in the the Red Hat JBoss EAP standalone.xml
and standalone-full.xml
files.
The controller URL is not updated in the standalone.xml file if only Decision Server is installed [RHPAM-1781]
Issue: When you run the Red Hat Decision Manager installer and you specify a URL for the controller, the URL is not updated in the Red Hat JBoss EAP standalone.xml
and standalone-full.xml
files.
Steps to reproduce:
- Run the Red Hat Decision Manager installer.
- Specify an Red Hat JBoss EAP installation for container.
- Select only Process Server to install.
- Select Advanced Configuration and update controller URL.
- Complete the installation.
-
Open the Red Hat JBoss EAP
standalone.xml
orstandalone-full.xml
file and find the controller URL.
Expected result: The value of the controller URL property is the URL that you entered during installation.
Actual result: The value of the controller URL property is the default value.
Workaround: Manually update the value of the controller URL property in the Red Hat JBoss EAP standalone.xml
and standalone-full.xml
file.
4.2. Decision Central
Red Hat Decision Central 7.0 and earlier and BRMS 6.4 and earlier repositories are not fully migrated when imported into Decision Central [RHPAM-1768]
Issue: Red Hat Decision Central 7.0 and earlier and BRMS 6.4 and earlier repositories (legacy structure repositories) that contain more than one project can be imported into Decision Central even though they are not supported. When these repositories are imported, the are not fully migrated and will not perform as expected.
Steps to reproduce:
- In Red Hat Decision Manager 7.0.0 or earlier, create a repository with two projects.
-
Copy the repository location from the
.niogit
directory. - Open Red Hat Decision Manager 7.2.0.
- Click Library → Import Project.
- Paste the repository location and select both projects.
Actual result: The projects are imported but will not perform as expected.
Workaround: Use the patching and upgrading tool to import Red Hat Decision Central 7.0 and earlier and BRMS 6.4 and earlier repositories, as described in Patching and upgrading Red Hat Decision Manager 7.2.
A TimeoutException error occurs when logging in to a clustered Decision Central [RHPAM-1749]
Issue: On a clustered Decision Central instance, when logging in to Decision Central an exception is thrown.
Steps to reproduce:
- Create a Decision Central cluster configuration that uses ElasticSearch and AMQ Broker, and that has two standalone Decision Central nodes.
-
Uncomment the
<distributable/>
tag on both Decision Central nodes. - Log in to Decision Central on one of the nodes.
Actual result: An exception is thrown.
Workaround: See the workaround in the JBoss EAP 7 does not process requests for a session in parallel article.
Red Hat Decision Manager integrated with Red Hat Single Sign-On ignores user SSH key when working with Git [RHPAM-1683]
Issue: With Red Hat Decision Manager integrated with Red Hat Single Sign-On, if you try to clone a project created by a user that has an SSH key set, you cannot clone it without the SSH key password. The SSH key is ignored.
Steps to reproduce:
- Integrate a Red Hat Decision Manager installation with Red Hat Single Sign-On, as described in Integrating Red Hat Decision Manager with Red Hat Single Sign-On.
- Use the Red Hat Decision Manager Admin → SSH Keys page to add a public SSH key.
Enter the following command in a terminal to add a private SSH key to your
ssh-agent
, where<SSH-KEY-PATH>
is the path to the SSH private key:$ ssh-add <SSH-KEY-PATH>
Use SSH to clone the project, for example:
git clone ssh://user@localhost:8001/space/project
Expected result: The project is cloned.
Actual result: You cannot clone the project unless you use the user’s password.
Several Errai projects contain XSD-invalid pom.xml
file [RHPAM-1742]
Issue: Maven repository validation identified the following pom.xml
files in the Errai project, which are invalid according to Maven POM XSD:
org/jboss/errai/errai-ioc/4.4.1.Final-redhat-00001/errai-ioc-4.4.1.Final-redhat-00001.pom.xml org/jboss/errai/errai-navigation/4.4.1.Final-redhat-00001/errai-navigation-4.4.1.Final-redhat-00001.pom.xml org/jboss/errai/errai-security-server/4.4.1.Final-redhat-00001/errai-security-server-4.4.1.Final-redhat-00001.pom.xml org/jboss/errai/errai-security-client/4.4.1.Final-redhat-00001/errai-security-client-4.4.1.Final-redhat-00001.pom.xml org/jboss/errai/errai-common/4.4.1.Final-redhat-00001/errai-common-4.4.1.Final-redhat-00001.pom
Workaround: None.
kie-soup-dataset-elasticsearch
is an XSD-invalid pom.xml
file [RHPAM-1743]
Issue: Maven repository validation identified the kie-soup-dataset-elasticsearch
pom.xml
fileas invalid according to Maven POM XSD.
Workaround: None.
Two ClassNotFoundExceptions
errors are thrown the first time you open the Decision Central Data Sources perspective [RHPAM-1741]
Issue: When you access the Decision Central Data Sources perspective for the first time after a clean installation, the following ClassNotFoundExceptions
errors appear in the server.log
file:
org.guvnor.structure.repositories.NewBranchEvent org.guvnor.structure.repositories.RepositoryUpdatedEvent
Steps to reproduce:
-
Log in to Decision Central with the
admin
role. - Go to Admin → Datasources.
Actual result: As soon as you click the Data Sources perspective, two errors appear in Red Hat JBoss EAP console.
Expected result: No errors appear.
Workaround: Restart Decision Central and go to Admin → Datasources. These errors only appear the first time you click the perspective after installation.
4.3. Decision Server
A container is removed from the UI even though it was not possible to stop it [RHPAM-1698]
Issue: A container cannot be stopped if it is blocked by an active process instance. However if you attempt to stop a blocked container from the UI, the action throws an exception and the container disappears.
Steps to reproduce:
- Create a project with a process.
- Deploy the project and start the process.
- Go to Menu → Deploy → Execution Servers and stop the container.
Actual result: The container is removed from the UI even though it is still running.
4.4. OpenShift
Various errors occur when starting clustered Decision Central on OpenShift [RHPAM-1747]
Issue: When clustered Decision Central is started on OpenShift using the rhpam72-authoring-ha.yaml
template, Decision Central sometimes throws various exceptions that cause the pod to restart or the deployment to fail.
Steps to reproduce:
-
Use the
rhpam72-authoring-ha.yaml
template to deploy Red Hat Decision Manager 7.2 images on OpenShift. - Check the Decision Central log files.
Expected result: No errors appear in the log files.
Actual result: Errors appear in the log files, the pod restarts, or the deployment fails.
Workaround: None.
Chapter 5. Fixed issues in Red Hat Decision Manager 7.2.0
Red Hat Decision Manager 7.2.0 provides increased stability and fixed issues listed in this section.
5.1. Installation
-
The Red Hat Decision Manager installer fails to parse the
jboss-cli.xml
file with Red Hat JBoss EAP 7.2 and the installation fails [RHPAM-1658]
5.2. Decision Central
- You cannot edit an existing deployment descriptor configuration [RHPAM-1318]
- Process Instances pages that have a vertical scroll bar flicker after changing window width [RHPAM-1475]
- Opening the legacy case modeler throws a JSON exception [RHPAM-1431]
- Incorrect correlation key is shown in the Red Hat Decision Manager Task list [RHPAM-1656]
- You cannot open a task form from the Task inbox in Decision Central [RHPAM-1565]
-
The data set editor displays the
supports expression reference $null
message as a hint [RHPAM-1581] - The Asset search button is not positioned properly [RHPAM-1538]
- The input fields in the form for uploading files into Decision Central are not aligned [RHDM-4]
- In a test scenario, you cannot select a rule defined in xlsx in EXPECTATION settings [RHDM-728]
- Provide configuration options for paginated views [RHDM-1339]
- Provide CORS configuration support for Decision Server in Red Hat Decision Manager [RHDM-520]
5.3. Decision engine
5.4. Decision Server
- Marshaller in Decision Server retains old classes when KieScanner is updated [RHDM-733]
- Resolve the datasource name for query definitions at run time [RHPAM-1350]
- The REST endpoint for getting errors in a KIE container does not filter the result by container ID [RHPAM-1599]
- An error message appears at the bottom of the Decision Server Swagger docs page [RHPAM-1487]
-
vacuumlo
deletes active large objects of jBPM CLOB data [RHPAM-174] -
The wrong message appears when a required parameter is not set for
DBUserGroupCallbackImpl
[RHPAM-1496] -
ExecutorServiceImpl.requeue(Long olderThan)
doesn’t calculate a correct value [RHPAM-1605] - You can lock without "nowait" for jBPM pessimistic locking [RHPAM-1573]
-
If you execute a migration service while an asynchronous job of the process instance is running, the migration service successfully finishes but the job fails at
AsyncWorkItemHandlerCmdCallback.onCommandDone()
[RHPAM-1510] -
java.lang.ClassCastException: java.lang.Class
cannot be cast toorg.kie.api.event.rule.RuleRuntimeEventListener
[RHPAM-1626]
5.5. OpenShift
- S2I build fails for a multi-module Maven project [RHDM-747]
- Make Decision Central distributable for high availability [RHPAM-1522]
5.6. Decision Model and Notation
-
Importing DMN v1.2 model fails with
com.thoughtworks.xstream.mapper.CannotResolveClassException
[RHDM-618] [RHPAM-1198]
Chapter 6. Fixed issues in Red Hat Decision Manager 7.2.1
Red Hat Decision Manager 7.2.1 provides increased stability and fixed issues listed in this section.
6.1. Decision Central
-
The BRL condition
is contained in the (comma separated) list
does not produce a multi-select drop-down in the guided decision table or guided rule template [RHDM-483]
6.2. Decision engine
Appendix A. Versioning information
Documentation last updated on Tuesday, May 28, 2019.