Future of RuleDSL(XTend) and JSR223 (Jython)


(Ernst Murnleitner) #1

Is one of both possibilities for programming rules, RuleDSL(XTend) and JSR223 (Jython), be more likely to be supported in the future? Or will both be replaced by Json/RestApi based Next-Gen Rules anyway?


(Jerome Luckenbach) #2

Next-Gen-Rules is based on JSR223 and is the “newer” techonolgy.

For xtend there is a high chance that it will be deprecated sooner or further.


(Rich Koshak) #3

Jerome nailed it. All I have to add is that the Xtend based Rules DSL will not just be abandoned. There will be a way to automatically migrate your existing Rules DSL Rules to NGRE before they become deprecated.

For maximum future proofing, you should write Rules in JavaScript through JSR223. There is promise that Jython will be supported in NGRE’s UIs but right now JavaScript is the only one supported.

And to elaborate a bit on the “based on JSR223”, the only real difference between the two is how the Rules are defined. In JSR223 the Rules are defined 100% in code and remain in files in the OH_CONF folder. NGRE Rules are defined in a UI (PaperUI for now but ysc has a prototype of a really awesome Node Red like UI we can expect in the future) and stored (in JSON format in the JSONDB. But the two sets of Rules can see each other and libraries used in one can be used in the other. They both run on the same engine so are very compatible with each other.


(Jerome Luckenbach) #4

I am not sure, but i think that he somewhere stated that he is not going to continue this project currently.
Anyways the codes is available on github for interested people. :slight_smile:


(Rich Koshak) #5

He abandoned it for awhile because something wasn’t working or wasn’t finished I think. But he mentioned he is interested in picking it back up on the NGRE documentation posts. But agreed, it is on github, anyone can pick it up if he doesn’t.

I do think there are still some bugs and missing triggers that makes further progress on the UI challenging.


(Jerome Luckenbach) #6

A native Node-Red-Like UI would indeed be pretty cool.
I love the flow design for simple Rules.