A total of 25 notable items have been found and are detailed below.
Group using fine-grained permissions 🔃 ☁
Some user groups are associated with fine-grained permissions on repository artifacts (for instance, the custom group UserGroup defines 1 such permissions). These fine-grained permissions are deprecated in ODM 8.10.0. The migration path is to rely on the assigned authors, testers and approvers in the release and activities from the Governance Framework.
1 occurence found
Decision tree defined 🔃 ☁
Some rule projects are using Decision Trees (for example, sample decision tree in project ota-test-governed-rules). Decision Trees have been deprecated since ODM version 8.8.1. You can convert them into sparse Decision Tables or a collection of Action Rules, one per leaf in the Decision Tree.
1 occurence found
Business rule template defined 🔃 ☁
Templates for Action Rules and or Decision Tables, such as template sample template in project ota-test-governed-rules, are deprecated since ODM version 8.8.1. Templates cannot be used in the Business Console of Decision Center. It is thus important to avoid using them.
1 occurence found
B2X code using CRE API classes 🔃 ☁
The B2X code for some BOM members seems to be using deprecated CRE API classes which are not usable with the Decision Engine (e.g. IlrContext). One example is com.sample.Person.printInContext1 in project ota-test-cre-rules.
2 occurences found
Project using CRE 🔃 ☁
The use of the Classic Rule Engine (CRE) was detected in some of the rule projects (see your project loanvalidation-rules, for example). The CRE is deprecated since ODM version 8.9.0. Migration to the more efficient Decision Engine is recommended.
2 occurence found
Classic rule projects 🔃 ☁
Some rule projects are organized using Classic Rule Projects (see your project loanvalidation-rules, for example). Classic Rule Projects are deprecated since ODM version 8.8.0. It is recommended that you migrate to projects organized as Decision Services. ODM provides an automated migration tool that will help you perform that project migration.
1 occurence found
BOM with external domain provider ☁
Dynamic domains associated with external data sources (reference to a database or web service) such as derbyDataBaseDomainProvider used in a BOM entry from project bomdomainpopulate-rules, cannot be used with ODM on Cloud.
1 occurence found
BOM with valueEditor ☁
A BOM entry for project Value Editor Service defines a valueEditor property that points to the class sample.myeditor.editor. This entails the repackaging of the Decision Center EAR, which is not supported for ODM on Cloud.
1 occurence found
BOM with valueInfo ☁
A BOM entry for project bomdomainpopulate-rules defines a valueInfo property that points to the class ilog.rules.studio.samples.bomdomainpopulate.Stock. This entails the repackaging of the Decision Center EAR, which is not supported for ODM on Cloud.
1 occurence found
Smart Folder defined 🔃
Some rule projects are using Smart Folders (for example, Deployable Rules in project Miniloan Service). Decision Trees have been deprecated since ODM version 8.10.0.
1 occurence found
Business rule using priority 💁
Some rules found in rule projects such as Loan Validation Determination, are using rule priorities. While there is no issue with using rule priorities, they can make rule maintenance more difficult, especially for business users, as they can be easily overlooked, and make the understanding of the rules execution more complex. Relying on a rule flow for orchestration can sometime be a better option.
12 occurences found
Verbalization in Java format 💁
BOM member verbalizations should be in natural language to make rules readable and maintainable. BOM member com.sample.Person.askAbout(java.lang.String) in project ota-test-governed-rules for example, uses a Java-like verbalization, which should be avoided.
1 occurence found
B2X code too long 💁
The B2X code for some BOM members is too long. B2X code should ideally be one or two simple statements. If longer code is needed, it is better to define and maintain it as a XOM member. One example is com.sample.Person.printInContext2 in project ota-test-cre-rules.
1 occurence found
Project defines BOM and rules 💁
It is a good practice to define the BOM and the rules in separate rule projects (see project Miniloan Service which defines both a BOM entry miniloan and rules).
7 occurences found
Project with large number of branches 💁
The number of project branches and baselines in the Decision Center repository can quickly build up, reducing Decision Center's performances and taking up significant disk space. For example, we have detected that your project Loan Validation Service has 6 branches in the repository. You can use the ODM archive tool available in ODM version 8.9.2 to easily archive old project branches.
2 occurences found
Rule using 'else' statement 💁
Some Action Rules are using the 'else' statement, which can sometimes make rules difficult to debug and to maintain by Business Users. One example is rule checkName in project Loan Validation Check.
8 occurences found
Rule under root package 💁
It is a good practice to define rules under a rule package, instead of directly under the root rule folder. See rule rule under root in project ota-test-governed-rules which is defined directly under the root folder.
1 occurence found
Flow using different algorithms 💁
All the rule tasks in a given rule flow should use the same algorithm whenever possible. For example, tasks in miniloan from project Miniloan Service are using different algorithms: check whether this is needed.
3 occurences found
Task using Rete algorithm 💁
Rete algorithm should be selected when inference is required in rule execution. Check its use is appropriate, for example in rule flow computationFlow from project Loan Validation Scoring.
5 occurences found
Spelling error in verbalization 💁
Possible spelling errors were detected in the verbalization of some BOM members, for example in project Value Editor Service.
2 occurences found
Multiple rules with same name 💁
Multiple rules, under different packages, have the same name. For example, in project ota-test-governed-rules, there are multiple rules with the same name vague name.
2 occurences found
Task using Exit Criteria 💁
The use of Exit Criteria other than the default in rule tasks (see flow test flow in project ota-test-governed-rules for example) may make rule maintenance more delicate. Review its use with care.
1 occurence found
Task using Sequential algorithm 💁
FastPath is now the default algorithm: you may want to validate the need for the Sequential algorithm (e.g. in rule flow test flow from project ota-test-governed-rules).
Business rule defined from template 💁
Some Action Rule or Decision Tables (for example, sample using template in project ota-test-governed-rules) are defined based on templates, which are deprecated since ODM version 8.8.1. Note that these rules are not bound to follow their template when edited in the Business Console.
1 occurence found
Technical rule defined 💁
Technical Rules, such as initialize flow in project ota-test-governed-rules are not visible in the Business Console by default, and can usually be rewritten as Action Rules, making them more readable and maintainable, even for technical users.
1 occurence found
You can copy the information below and paste it in a spreadsheet to sort and filter.
What Type | Where Found | Which Branch | Which Artifact | N/A for SaaS | Recommendation | Deprecation |
---|---|---|---|---|---|---|
Rule Using Else | Loan Validation Check | [current] | checkName | Y | ||
Rule Using Else | Loan Validation Check | [current] | checkAge | Y | ||
Rule Using Else | Loan Validation Check | [current] | checkSSNdigits | Y | ||
Rule Using Else | Loan Validation Check | [current] | checkZipcode | Y | ||
Rule Using Else | Loan Validation Check | [current] | checkSSNareanumber | Y | ||
Rule Using Else | Loan Validation Determination | [current] | approval | Y | ||
Rule Priorities | Loan Validation Determination | [current] | grade | Y | ||
Rule Priorities | Loan Validation Determination | [current] | approval | Y | ||
Rule Priorities | Loan Validation Determination | [current] | defaultInsurance | Y | ||
Using Rete | Loan Validation Scoring | [current] | computationFlow | Y | ||
Rule Priorities | Loan Validation Scoring | [current] | repayment | Y | ||
Rule Priorities | Loan Validation Scoring | [current] | initialCorporateScore | Y | ||
Using Rete | Loan Validation Service | [current] | loanvalidation | Y | ||
BOM with Rules | Miniloan Service | [current] | miniloan | Y | ||
Smart Folders | Miniloan Service | [current] | Deployable Rules | Y | ||
Using Different Algorithms | Miniloan Service | [current] | miniloan | Y | ||
Using Rete | Miniloan Service | [current] | miniloan | Y | ||
BOM with Rules | Value Editor Service | [current] | purchase | Y | ||
Rule Using Else | Value Editor Service | [current] | effective offers | Y | ||
Rule Priorities | Value Editor Service | [current] | welcome | Y | ||
Rule Priorities | Value Editor Service | [current] | effective offers | Y | ||
BOM with Rules | bomdomainpopulate-rules | [current] | domains | Y | ||
BOM with Rules | bomdomainpopulate-rules | [current] | model | Y | ||
BOM with Rules | ota-test-cre-rules | [current] | model | Y | ||
BOM with Rules | ota-test-governed-rules | Spring Release | model for governed project | Y | ||
Exit Criteria | ota-test-governed-rules | Spring Release | test flow | Y | ||
Using Different Algorithms | ota-test-governed-rules | Spring Release | test flow | Y | ||
Using Rete | ota-test-governed-rules | Spring Release | test flow | Y | ||
Using Sequential | ota-test-governed-rules | Spring Release | test flow | Y | ||
Decision Trees | ota-test-governed-rules | Spring Release | sample decision tree | Y | Y | |
Rule Templates | ota-test-governed-rules | Spring Release | sample template | Y | Y | |
Technical Rules | ota-test-governed-rules | Spring Release | initialize flow | Y | ||
Rule Under Root | ota-test-governed-rules | Spring Release | rule under root | Y | ||
Same Rule Name | ota-test-governed-rules | Spring Release | vague name | Y | ||
Same Rule Name | ota-test-governed-rules | Spring Release | vague name | Y | ||
Rules from Template | ota-test-governed-rules | Spring Release | sample using template | Y | ||
BOM with Rules | loanvalidation-rules | [current] | model | Y | ||
Using Different Algorithms | loanvalidation-rules | [current] | loanvalidation | Y | ||
Using Rete | loanvalidation-rules | [current] | loanvalidation | Y | ||
Rule Using Else | loanvalidation-rules | [current] | approval | Y | ||
Rule Priorities | loanvalidation-rules | [current] | grade | Y | ||
Rule Priorities | loanvalidation-rules | [current] | repayment | Y | ||
Rule Priorities | loanvalidation-rules | [current] | initialCorporateScore | Y | ||
Rule Priorities | loanvalidation-rules | [current] | approval | Y | ||
Rule Priorities | loanvalidation-rules | [current] | defaultInsurance | Y | ||
Branch Archiving | Loan Validation Service | 6 | Y | |||
Classic Rule Engine | loanvalidation-rules | Y | Y | |||
Classic Rule Projects | loanvalidation-rules | Y | Y | |||
Branch Archiving | ota-test-governed-rules | 4 | Y | |||
Classic Rule Engine | ota-test-cre-rules | Y | Y | |||
Fine Grained Permissions | UserGroup | 1 | Y | Y | ||
Using Value Editor | Value Editor Service | [current] | sample.myeditor.editor | Y | ||
Verbalizations Spelling | Value Editor Service | [current] | impl | Y | ||
External Domain Provider | bomdomainpopulate-rules | [current] | derbyDataBaseDomainProvider | Y | ||
Using Value Info | bomdomainpopulate-rules | [current] | ilog.rules.studio.samples.bomdomainpopulate.Stock | Y | ||
B2X Using CRE API | ota-test-cre-rules | [current] | com.sample.Person.printInContext1 | Y | Y | |
B2X Using CRE API | ota-test-cre-rules | [current] | com.sample.Person.printInContext2 | Y | Y | |
B2X Code Size | ota-test-cre-rules | [current] | com.sample.Person.printInContext2 | Y | ||
Verbalizations Spelling | ota-test-cre-rules | [current] | printincontext | Y | ||
Java Verbalization | ota-test-governed-rules | Spring Release | com.sample.Person.askAbout(java.lang.String) | Y |