[PlanetJ Corporation

[support@planetJavaInc.com]

[www.PlanetJavaInc.com]


WOW Dashboards With Multi-Link Operations

Introduction

 

Web Object Wizard (WOW) has an optional plug-in called “WOW Fusion Charts” which enables users to develop dynamic dashboards.

 

This document will describe a technique available as of WOW 6.5.05 which allows operations to be linked or dependant on one another. 

 

 

WOW Multi-Link Dashboards

 

In the picture above, 3 operations are linked and New York (NY) has been single clicked.  The operation on the left, allows a single “state” to be selected using a single mouse click.  When the user selects a state, both operations on the right will be updated reflecting the selected state.  The upper right operation shows all customers in the selected state.  The lower right shows the distinct cities in the selected state.  This example is purposely simple although this technique can be used for numerous multi-lined operations. 

 

 

Setup a Multi-Link Dashboard

WOW Fusion provides the dashboard functionality.   You must have a WOW Fusion installed with a valid license to implement this feature.  Refer to WOW Fusion documentation for specific setup options:  http://www.planetjavainc.com/documentation/webhelp/WOWFusionCharts/Default.htm

 

 

1.    Create an Execution Group Operation.  This operation will be the overall dashboard and control all the individual operations housed inside of it. 

  1. WOW Fusion is used which provides the dashboard functionality. 
  2. Key settings on the Execution Group are the “Dashboard” property group and the JSP File.  The “Dashboard” property group declares two columns (col1, col2).  Column1 is the state selection operation and is referenced by using usage id 100 which must match the usage id declared in the State operation.  The other 2 operations are referenced as usage ids 200 and 205.  Dashboard layouts can be arranged according to this property.  The JSP File declares the structure of the dashboard and is either:
  1. /wow/fusion/jsp/fusionDashboardColumns.jsp
  2. /wow/fusion/jsp/fusionDashboardRows.jsp

 

2.    Create a standard SQL operation for state selection (left hand operation):

  1. SQL: SELECT DISTINCT STATE FROM QIWS.QCUSTCDT ORDER BY STATE 
  2. Set the usage id to 100 to match the Execution Group Dashboard property. 
  3. Set the parent operation to be: States Dashboard which is the Execution Group. 
  4. Set the “Row Class” to: planetj.dataengine.workflow.SelectRow.
  5. Add or change the “single click:Select;”  property group entry in the TableDisplay property group. 

 

 

  1. Run and test the operations. 
  2. Generate field descriptors if needed and set the “State” field descriptor to be a global variable.  When a state is selected, the global variable “state” will be set for the other operations to reference.  Global variables can be referenced using ??!FieldName.  In our example, we use ??!STATE. 

 

 

3.    Create the “Customers In State” operation with usage id 200.

  1. SELECT cusnum, lstnam, state, baldue FROM QIWS.QCUSTCDT where STATE = ??!STATE
  2. This will become the upper right operation. 
  3. The ??!STATE references the selected state

 

4.    Create the “Cities In State” operation with usage id 205.

a.    SELECT  Distinct state, city FROM QIWS.QCUSTCDT where STATE = ??!STATE

  1. The ??!STATE references the selected state. 

 

 

Technical Overview:

 

The State Selection operation declared a wow action called “Select” to run when the user performs a single click  on the rows.  The “SelectRow” java class is called and sets global variables for each field which is declared as a global variable in its field descriptor.  SelectRow re-executes all operations.  The operations can reference the “current” value of a global variable using ??!FieldName.  The user interface is updated with the results of the re-execution.   

 

NOTES: 

1.    You can include and reference multiple global variables.

2.    SQL Function called COALESCE can be used to supply a value if a global variable is not set.  For example, you could display ALL customers in all states until a particular state is selected using: 

a.    SELECT cusnum, lstnam, state, baldue FROM QIWS.QCUSTCDT where STATE = COALESCE (??!STATE, STATE)

3.    Operations may include charts. 

4.    Operation titles and instructions can include dynamic global variables.  For example:  Customers in:  ??!STATE  

5.    WOW 6.5.05 is required. 

6.    Global variables are set when a row is edited, inserted, or deleted and when an association is run.