In JMC 8 we're planning some major changes for the rules API. Some of them intended to make it more secure and easy to use the rules/heuristics in services.
- No more HTML in rule results
(Probably support a subset of markdown or something similar)
- Re-use of results/partial results
- This will require a DAG of rule dependencies, as well as allowing rule result objects to contain more complex data than a score, some text, and an item query.
- API improvements
(JMC 8 will require JDK 8, even for core libraries. We can improve the API surfaces.)
- The user should be able to generate a JFC file based on rule event suggestions
- ...more to come.
The following is a suggested list of features the new Result objects should implement: (the italicized items would be optional)
- A one sentence summary
- A severity of N/A, OK, INFO or WARNING
- A theoretical explanation of the observed issue
- A possible solution to the issue
- If applicable, a command line parameter to add/change/remove
- A list of event settings that can be used to improve the result. A result that contains this should probably also contain some information about the possible runtime performance impact that using these settings might have.
- A dictionary of calculated values, with a String based ID and a number / unit pair value.