I am working on a project that will involve teams developing policies that will very likely require complex DMN Business Knowledge Models. I’m starting out by testing the example here DMN is more than a Decision Table | Camunda and attempting to use the scala plugin alongside the camunda-engine-spring package but have not had luck yet. I am seeing the following error message when I attempt to deploy the contract ranking example detailed in the blog:
‘DMN-02001 The expression type ‘ContextImpl’ of the decision ‘Ranking’ is not supported. The decision will be ignored.’
While I see that the scala plugin libraries are being added when I run “mvn dependency:tree”, this error message suggests that the scala plugin might not be getting utilized correctly.
I’ve made some progress on the effort by updating my spring configuration so that I include the SpringProcessEngineConfiguration is set with the CamundaDmnEnginePlugin and SpinProcessEnginePlugin. I also updated my pom.xml to exclude the camunda-engine-feel-scala jar from the camunda-engine-spring dependency to avoid a conflict. But with those changes in place I’m now getting the below error. Any guidance is very helpful, thanks.
Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled.
[main] 04 May 2020 14:27:44,247 ERROR LoggingFailureAnalysisReporter [{}]:
APPLICATION FAILED TO START
Description:
An attempt was made to call a method that does not exist. The attempt was made from the following location:
Correct the classpath of your application so that it contains a single, compatible version of org.camunda.bpm.engine.impl.history.parser.HistoryDecisionEvaluationListener
DMN-Scala depends on an older version of Camunda BPM (7.11.0) and it seems that one of the classes has changed. I need to upgrade the dependent version and build a new release of the DMN-Scala engine.
Currently, the Camunda modeler doesn’t support all DMN elements (e.g. context, BKM, etc.). I didn’t used the other tools long enough to give a recommendation.
Hi Philipp
I was wondering about the state of the DMN-Scala engine. As there is no release for the newer Camunda Versions and also no Release for Scala 2.13.
Hi @Philipp_Ossler,
It is a bit confusing, as with 7.13 the DMN engine now supports the FEEL engine entirely - does it? What is the additional benefit now for this project? As I understand it, Camunda puts a lot of effort in the DMN Engine for the next releases.
Currently, the Camunda DMN doesn’t support all DMN elements. It covers the most common cases with decision tables and literal expressions.
But for example, BKMs or Contexts are not supported. Also, it allows more advanced patterns, like iterating over a list and invoking a BKM for each element.
My initial idea of this project was to cover the major DMN specification and pass most of the DMN TCK.
You can see it as a playground of what you can do with DMN