All posts by mrules-admin

How-To #5: Execute Health Insurance Demo

In this tutorial, we’ll see how to import a demo in your favourite IDE, launch it and see results of modifications applied on rules.

We’ll be using the health insurance demo, but the import steps are the same for the other ones.

First, download the archive JAR file from our web site:
 
 
 
Then, extract the files and import them in Eclipse, by opening the “Import” dialog. Select “Existing Maven Projects”, then click “Next”:
 
 
Select the directory where you extracted the sources, all the maven modules are detected and will be imported:
 
 
After what you will see this in the Eclipse Project Explorer:
 
 
 
Please import the licence file, for instance in the common main resources:
 
 
The IDE will download the dependencies and compile everything for you. Just be careful if you are behind a proxy, you should configure Maven to use it.
 
When all is compiled, then start the app. For instance, I will start the batch test Spring Boot app:
 
 
Then you can follow the startup in the console. You should get something like this:
 
 
This log shows that first run builds the ruleset. Next logs will show that it’s found in cache and not rebuilt.
 
Then, open the following url in a browser: http://locahost:8080
 
 
The current ruleset configuration for the batch is loaded. Modify the config like shown above.
Save the config using the button on the top and then look the console: the new configuration is directly taken into account.
 
 
The 2nd and 6th prices have changed accordingly to the new rules configuration.

Version 2.5.0 of MRules is out

We are proud to announce that the version 2.5.0 of MRules is released.

This version is mainly a technical release, but however brings some new features:

  • Improved Log interface to support Tinylog and Log4J directly (i.e. without slf4j or commons-logging).
  • Enriched rule engine grammar (with elseif for instance).
  • And of course, lots of internal improvements and optimizations.

The release notes provides details on all modifications.

The web site is currently being updated with the documentation of the new features.

Version 2.4.0 of MRules is out

We are proud to announce that the version 2.4.0 of MRules is released.

This version mainly adds:

  • Security management, currently allowing to allow or disallow external program execution and access to static fields or methods.
  • Big improvements on debug logs, more detailed.
  • New possibilities offered by the rule engine.
  • Compatibility improvements with JDK9+, last step before MRules is fully certified with these JDK in next release.

The release notes provides details on all modifications.

The web site is currently being updated with the documentation of the new features.

Version 2.3.0 of MRules is out

We are proud to announce that the version 2.3.0 of MRules is released.

This version mainly:

  • Adds a new demo, which demonstrates several features and use cases of MRules.
  • Changes the other demos packaging to be more practical.
  • Fixes some minor bugs on the rule engine and the DSL extension, that could bring issues depending on the environment.

The release notes provides details on all modifications.

Version 2.2.0 of MRules is out

We are proud to announce that the version 2.2.0 of MRules is released.

This version comes with some new features, among which:

  • Local Java Class or Package imports are now handled in rule sets, to ease the use of Java objects.
  • Static access for Fields and Methods have been added to the property framework.
  • The DSL engine has been enrich with new possibilities.
  • The Rule Set configuration DSL handles all these new features, and more (like raw string litterals, rule set properties configuration, Classes and Packages auto completion, …)

Lots of improvements and optimizations have been made to already existing features. Also, the DSL editor and specifically the autocompletion feature has been improved to be more accurate and intuitive.

Please note the breaking changes in the list of modifications:

  • AdvancedReader has been moved to another package: if you use it directly, you will have to update the code.
  • An order is now mandatory in ruleset DSL configuration file: imports, then configuration and then rules. You may have to update your rule set configurations.

The release notes provides details on all modifications.

Version 2.1.0 of MRules is out

We are proud to announce that the version 2.1.0 of MRules is released.

The changes related to this release focus mainly on our functional grammar engine. Many optimizations and new possibilities have been brought. Also, the autocompletion feature has been improved to be more accurate and intuitive.

Some optimizations and new features have also been added to the rules engine.

The release notes provides details on all modifications.

Major Version 2.0.0 of MRules is out

We are proud to announce that the version 2.0.0 of MRules has been released!

Major changes arrive with this new version, among which:

  • New products and extensions, transforming the MRules offer into a coherent and integrated set of products adapted to the needs of our customers.
  • A reorganization of the site to adapt to this new offer.
  • Technical changes on the packaging to facilitate dependency management and integration of our products.
  • And of course, evolutions and fixes coming along with these changes.

The release notes provides details on all modifications.

Please note that the fixes will be back-ported to the LTS version shortly.

Version 1.10.1 of MRules is out

MRules version 1.10.1 has been released and corrects two customer tickets:

  • Performances issues during compilation process, occuring only with specific environments.
  • Regression introduced in version 1.10.0, leading sometimes to a NullPointerException while performing operations on dates, depending on the configuration of the operation.

Please update your dependencies to stay up-to-date.

 

Migrating MRules 1.9.x to 1.10.0

Globally, MRules upgrade will have no impact for existing rules. It will allow to have more features available.

However, if some of you rules perform average computations, minor adaptations might be necessary. Only calculations involving coefficients are impacted. These are minor adjustments which consist in:

  • Rename the “coefficients” property into “coefficientsSource”.
  • Rename the “coefficient” property into “coefficientsProperty”.

Changing these names allowed us to make them consistent with those of the properties of other mathematical operations, as well as to add new calculation possibilities.