Recently I have been involved in designing and developing a UI for FlexRule. This application allows people to create rules using drag and drop actions. They can simply drag different elements of the rules and drop them into a document editor, and when they save, the editor generates the rule based on the rule type.

This is a really exciting and challenging project with which I was involved. It was very tricky to design and hard to implement. By the way, the Designer is almost ready and I can share some screenshots for you.

This Rule Designer allows different editors be hosted as plug-ins for it, and therefore it supports the creation of both Procedural and Flow rules with different views. Also, if you create your own rule language you will be able to create your own editor and host it inside the Designer.

For procedural rules, I decided to use a tree like view, with different icons for each node to represent different commands of the rule. At first it may look strange when you are creating procedural rules using a tree but for non-tech users (by which I mean not programmers) like Business Analysts, it would be a good option to create procedural rules by themselves.



If you don't like the tree view, you can use the XML editor to write your procedure code, but believe me, for a rule it is easier thinking of the steps as different nested nodes of a tree rather than of lines of code (at least for non-developers/coders).

The most complex task was making an editor for RuleFlow. During opening/creating new rules it will ask the user to select the type of rule and type of rule viewer/creator:


So it simply allows you to use a diagram-based editor for a RuleFlow. Just like the procedural rule editor, it allows you to create your flow using drag and drop actions;



…but for sure you then need to assign properties and values depending on the command type:



…and then using a transition from the toolbox to connect different nodes of the flow:



…and finally, you will have your RuleFlow ready, just like this!



Well, that's it for now. I will post more when I have it finished soon.

I hope to do so in two or three more weeks, but I think before that I will be off to Sydney for CeBIT!

Last updated September 22nd, 2020 at 11:40 am, Published May 23rd, 2011 at 11:40 am