Monday, January 23, 2012

Guided Decision Tables - An update

The guided decision table editor in Guvnor has come a long way since it was first added to Guvnor in 2008 so I thought it worth while consolidating the efforts we've made into a short summary so those unfamiliar with recent developments can re-consider what a powerful tool Guvnor now posses.

The editor in 2008

Complete re-write

When Guvnor moved from GWT-EXT to vanilla GWT we took the opportunity to re-write the entire editor. GWT's table widgets did not offer the flexibility we wanted to provide users in their authoring environment: We wanted users to be able to quickly and easily build tables enabling them to concentrate on their rules rather than data-entry. Thus the new editor was born offering keyboard or mouse navigation, in-cell editing together with merging and grouping of cells.

The editor as it is today

Guided construction

To make the initial definition process as pain-free as possible we added a Wizard to walk users through creation. The Wizard also offers users the ability to generate an expanded form table.

The wizard


Merging of cells combines cells with identical values into one; thus providing a quick way to change the value of multiple cells in a single operation (of course, you could equally select multiple-cells with either a mouse-drag operation or keyboard but we felt merging minimized the process). Merging was also the precursor to grouping of cells, a powerful facility to collapse sections of the table whilst authoring.

Merged cells


Merged cells can be collapsed into one. All editing operations continue to work as normal: copying-pasting rows and editing cell values etc. The only difference being that you can effectively hide sections of the table. Copying and pasting a grouped row also offers a convenient way to duplicate sections of the table (before editing as appropriate).

Grouped cells

Extended and Limited Entry

What type of decision table editor would we have without offering both Extended Entry and Limited Entry? Extended entry allows constraint and action values to be defined in the table body; whereas Limited entry moves the entire definition to the column itself with the body simply allowing the user to define which constraints and/or actions apply.

Limited Entry


Support has been added to detect mistakes in your decision table. Currently we detect 2 types of problem and want to add many more.
  • Impossible matches
  • Conflict detection
Conflict detection

Integration of jBPM work items

Rules are frequently used from within jBPM to drive dynamic processes. What better then than providing a means for jBPM Work Items to be used in your rules' consequences? Work Item input parameters can be bound to Facts or their properties and likewise output parameters used to populate Facts.

Use of BRL fragments

Column definitions have historically only been able to offer a thin veil of abstraction. With the introduction of BRL fragments, columns can be defined using the full range of Guvnor's guided rule authoring capabilities (including DSL) which, coupled with Limited Entry, allows a higher level of abstraction to be realized.

A BRL fragment column


Whilst, you might agree, significant progress has been made made there is still a long way to go. There still is a tremendous amount of work we want to complete before feeling our decision table offering is as complete as we'd like.
  • Round-trip between Excel and Guvnor
  • Improved integration of V&V to provide visual feedback
  • Further V&V to check conflict, completeness, ambiguity, subsumption etc
  • Expansion and contraction
  • Enforcement of multi-hit and single-hit variants
  • Typed input of default values and lists of permitted values for Conditions
  • Pluggable editors for domain types
  • Column and row drag and drop
  • Horizontal decision table
  • Integration of WorkingSets



  1. Can you inform us when the feature "Round-trip between Excel and Guvnor" can be tested?

    Can we try it in Guvnor 5.4 Beta right now?

  2. "Round-trip between Excel and Guvnor"

    That work is on the roadmap, which means it is planned, it hasn't actually been done yet.

  3. Round-tripping is the next big feature I am to add, but it is (very) doubtful it'll make 5.4.

  4. Thanks for the reply.

    I think this feature will be extremely helpful. For IT, it will offload the setup and maintenance of the rules to the end users, and to the end users, it will empower them to express rules which they know best and most time made by them, plus they use spread sheet at work but still need to be trained well to use special software like Drools.

    Taking this feature as the bridge between IT and end users, the load of communication will be decreased and the separation of dynamic and static will make lives of both sides much easier and happier.

    Thanks for your wonderful contribution.

    I will wait for the good news.

  5. May I ask, whatever happened to the Custom Cell feature?