Release Notes 6.1.3 (Dec-2011)

OpenRules® Release 6.1.3 adds new functionality required by the practical use of the version 6 in real-world environments. Here is a summary of major advances:

Decision Table Operators for Regular Expressions

We added operators "Match" and "No Match" to the standard list of decision table  operators. They allow you to match the content of your decision variables with custom patterns such as phone number or Social Security Number (SSN). You may present your patterns  using the standard regular expressions. Here is an example of a decision table that validates SSN:

DecisionTable testSSN
Condition Message
SSN Message
No match \d{3}-\d{2}-\d{4} Invalid SSN


Use Regular Expressions inside the Environment table

Large rule repositories may contain many files (workbooks) and it may become impossible (or inconvenient) to list all included files by their name. When rules are being automatically generated by Rule Learner or another rule discovery tool, the names of files are not known ahead of time. In these situations you may use regular expressions inside included file names like in the following Environment table:

include ../category1/*.xls
include ../category2/ABC*.xls
include ../category3/A?.xls

Actually along with wildcard characters * or ? you may use any standard regular expressions to define the entire path to different included files.

Dynamic Glossaries

We added a possibility to programmatically define/extend a Decision's Glossary. You need to do this when the actual content of your business concepts is defined in external applications using Java-based Business Object Models or when business concepts are coming from XML files, database tables, etc. The list of attributes inside business objects can be very large and/or to be defined dynamically. Read more in the User Manual, p. 81.

Rule Tables Classification

Release 6.1.3 restores a more natural classification of  rule tables:

Rules - generic rule tables that may represent virtually any type of decision tables but that  require  Java snippets to represent execution logic of conditions and actions (see User Manual pp. 18-34)

DecisionTable, DecisionTable1, and DecisionTable2 - specialized rule tables that do not require Java snippets or parameters. They rely on the predefined logic described in the Excel-based templates located in the folder "openrules.config" (see User Manual pp. 35-62)

Method - text-based rules that describe execution logic of any complexity expressed in Java snippets (see User Manual pp. 24, 51).

Changing Decision Variable Types On the Fly

OpenRules® Glossary does not require a user to specify actual types of its decision variable - they are automatically defined from the actual types of decision parameters. It allows us to change types of decision parameters between different runs of the same decision without necessity to download all rules again. So, we added a new Decision's method

      execute(boolean objectTypesVary)

If the parameter "objectTypesVary" is true then before executing the decision, the OpenRulesEngine will re-evaluate the decision's glossary and will reset types of all fact attributes based on the actual type of objects passed to the decision as parameters. 

Improved Documentation

We have essentially improved the User Manual and all tutorials making them compliant with the latest changes.

As always, OpenRules 6.1.3 remains backward compatible.

You may download the latest OpenRules® release 6.1.3 from After the download you need to update the folder "openrules.config". If you already have a previous installation you need to do the following:

- delete all openrules.config/*.xls files and replace them with new xls-files

- replace openrules.config/lib/openrules.all.jar with a new one.

Please post your comments and suggestions to the Google Discussion Group or send them to