Workbench: Create Dashboard Views

Introduction
This article explains how to work with the Workbench, one of the comprehensive Semantic Components, that enables you to create persistent Dashboard Views.

In terms of terminology:
 * The Workbench is the environment (presently expressed as a OSF-Drupal module) for creating Dashboard views
 * A Dashboard View is a combination of one of more records, attributes for those records, and the widgets that display them. A Dashboard view may be saved, which makes it persistent and callable and usable from other application locations. A Dashboard view may also be embedded into other Web pages
 * Sub-panel is an individual widget display incorporated into a given Dashboard view; practically there is a limit of about six (6) sub-panels for any given Dashboard view (though it may be as few as one sub-panel).

In most instances, use of the Workbench is reserved for administrators and curators, who use it to create persistent Dashboard views that are what is ultimately shared with end users. However, that is also a matter of policy and design. There is no technical reason why the Workbench could not be exposed to standard users. The example screen shots below are illustrative. They are based on a specific OSF-Drupal installation. Your own installation likely has a much different style for its user interface and a different placement of various options. Further, some of these options may require system administrator privileges, and therefore may not be viewable by standard users.

Accessing the Workbench
From within a Drupal instance, you access the Workbench via either the Admin or Tools links. Then, you will see the Workbench provided as a distinct option:



Overview of the Workbench
The Workbench is the environment (presently expressed as a OSF-Drupal module) for creating Dashboard views. As such, if used, it is one of the more complicated components in an Open Semantic Framework instance. The Workbench consists of three panels and a main menu.

Three Panels
The Workbench is comprised of three main panels: the Filter Panel (Item #1), the Record Selector Panel (Item #2) and the Dashboard Panel (Item #3):

Selections in any one of the panels gets reflected and highlighted in all other panels.

These three main panels can be moved or resized anywhere around the screen.

Filter Panel
The Filter Panel (Item #1) is for making broad "slice-and-dice" selections across the structure. It has three sub-groupings within it:
 * Datasets, which are a listing of all of the datasets to which you have access
 * Kinds, which are the facets or types (sets) by which your data is organized and characterized, and
 * Attributes, which are the specific data characteristics for your records. Attributes correspond to the columns in the Record Selector Panel and are like column headers in SQL tables.

Record Selector Panel
The Record Selector Panel (Item #2 in the main screen above), based on the filter restrictions, is for selecting the individual attributes and records to display; it works and operates like a spreadsheet (data grid).

The Dashboard Panel
Depending on the selections in the previous two panels, the Dashboard Panel (Item #3 in the main screen above) shows the specific data visualization component depending on the display profile of the attribute type (map, story, graph, explorer, etc.). It may also be used to display a similar comparisons for identified "sticky" records (say national or state- or province-level data).

Main Menu and Functionality
The Workbench main menu (Item #4 on the screen shot above) has these options:
 * Window - view in full screen or normal mode
 * View - pick a specific panel to display
 * Record Selection Mode - determines how you add records to the Dashboard Panel; see below
 * Dashboard - basic dashboard controls and options; see below
 * Records - invokes the initial attributes screen; see next.

Starting the Application
Upon invoking the application, the first screen that appears is the one that allows you to select starting attributes for loading into the Workbench:



You may either select individual attributes and choose the Select Attributes button to load and start the app, or you may Load Session for a previously created session.

Don't worry about whether all of the final attributes are selected or not at this stage; you can later modify them with the standard Filtering Datasets, Kinds and Attributes steps (see next).

Selecting and Filtering Data
The main purpose of the Workbench, of course, is to select and filter data for display with various widgets. Each of the three main panels participates in this function.

Filtering Datasets, Kinds and Attributes
Filtering occurs via the Filter Panel, with its possible selections of datasets, kinds or attributes:



By default, if no items are selected in one of these sub-groups, then all items are deemed to be selected. However, restricting by datasets may filter out otherwise available kinds or attributes, and restricting by kind may filter out otherwise available attributes.

Selecting Records
Records AND display attributes are selected via the Record Selector Panel. First, let's look

By convention, record identifiers are shown in the yellow-gray background fields ; record types in the blue background fields.

If there are restrictions applied via the Filter Panel, then the number of available attributes shown in the Record Selector Panel may be reduced.

Because the actual data display widgets are limited in size, there is a maximum of 50 records that can shown in the Record Selector Panel at any given time.

Attribute selections are made by checking the column item's checkbox; this causes a new display (sub-panel) to be spawned in the Dashboard Panel (see next).

Record selections are made by clicking anywhere on a record row. Multiple selections can be made through the standard continuous range select (via the Shift key) or discontinuous range select of multiple, individual records (via the Ctrl key). Selections as made add records to all of the sub-panel displays in the Dashboard Panel.

Selecting Attributes (Dashboard sub-panels)
Selection of an attribute column in the Record Selector Panel causes a new display, or widget, to appear as a sub-panel within the Dashboard Panel. If a particular attribute or record type can be displayed with more than one display type, that is selected via the dropdown list at the lower left of each display sub-panel.



Sub-panels are created in the order of the attributes (data) selected in the Records Selector Panel, from left-to-right, top-to-bottom. In the figure above, there are three sub-panels in a 1 x 3 configuration.

But, by adding another attribute, we now add a fourth sub-panel and the overall displays shifts to a 2 x 2 configuration:



Each sub-panel is auto-sized as it is added to the canvas. There is a practical limit of about six (6) sub-panels to any given Dashboard view.

Each sub-panel may be drag-and-dropped to an alternate location within the panel.

Once embedded in a Web page, the actual sub-panel and panel sizes for a given Dashboard view may be re-set for sizes and dimensions.

Dashboard Sub-panel Options
When more than one widget can display the current data in a dashboard sub-panel with more than one widget, the "switcher" control will appear at the lower left of the panel:



Only compatible multiple widgets (such as the linear chart and bar chart) may be configured via the Semantic Control Ontology to display as options. It is also possible to turn on or off a user's ability to see this control in the final published dashboard (see Show/Hide Switcher Control below).

Record Selection Mode
One of the main menu options is Record Selection Mode. By default, the standard selection mode is list select. Under this mode, all records selected in the Record Selector Panel are added to all Dashboard sub-panels. This is the best initial mode, since it is fast to create similar selections across all display widgets. This option is selected when the Workbench is first accessed, as shown by this menu item:



However, you may also invoke drag-and-drop mode, also selected by this same menu:



Under drag-and-drop, an individual record may be selected in the Record Selector Panel and then dragged to a specific sub-panel (display widget) in the Dashboard panel. This technique is useful when, say, you want to tailor a specific sub-panel view or provide a comparative baseline to various sub-panels.

Whichever selection mode is currently active is reported back in the title header of the Record Selector Panel. You may also switch back-and-forth between selection modes at any time.

Creating and Saving Dashboard Views
The Dashboard main menu option is where you use and re-use Dashboard views. This menu option allows you to:




 * Save Dashboard views
 * Load Dashboard views
 * Create tabs with different indicators or attributes
 * Rename tabs
 * Delete tabs, or
 * Generate HTML code for embedding a Dashboard view in a Web page.

Save or Load
A Dashboard view with its multiple sub-panels and tabs (see below) may have taken some thought and time to design. For this reason, you may want to re-use it and you may want to protect your work.

When saving a Dashboard view, you are prompted for a name, shown existing views that you might overwrite, and are asked for a password (that is later required to do any modifications -- so, NOTE your selection !!!) as this popup screen shows:



Re-Using Dashboard Views
The same dialog above shows how easy it is to also re-use Dashboard views. All existing saved views are shown in the dialog box. The first obvious use is to allow existing views to be modified or updated.

Another interesting possibility is to use this design for basic view "templates" that get set up, then re-used for specific records or types. In this manner a template baseline can be established that is then called up multiple times for specific tailoring.

Still another advantage of re-use is to create a standard name for a Dashboard view, say, "Main Page" that then gets embedded on the main page of your application (using the "embed" procedures noted below). Because the hosting Web page is configured to accept this named view, you can actually change the specifics of the view under the Workbench -- conceivably including quite different records or widget displays -- and then save it for automatic re-loading on the main page.

Dashboard Tabs
Another series of menu options from the Dashboard menu relate to "tabs". Tabs are additional sub-panels nested under a Dashboard view. As noted before, an individual panel in a Dashboard view is practically limited to six to eight sub-panels; with tabs, this can be expanded substantially.

To begin the process of adding a tab you invoke the new tab option under the Dashboard menu:



Once named, the tab then appears as a tab button on the Dashboard view and a blank canvas is presented for adding more sub-panels (as described above):



Once save, these tabs also get included with the persistent Dashboard view and can also be embedded in other Web pages.

Modifying Individual Dashboard Sub-panels
It is possible to make modifications to how specific sub-panels appear within the Dashboard. To invoke these options, right-click while over a given Dashboard sub-panel. That will bring up this menu:



We discuss these four option in turn.

Rename Title
To rename the sub-panel (which also translates over into rendered views of the dashboard), pick the Rename Title option, which brings up this popup:



(Sometimes you may need to be over the title bar to invoke this option.)

Change Vertical Access Label
When you select the vertical access label option, you get a similar popup to one the above, which allows you to label the vertical axis.

Change Scales
When you select the change scales option, you get a similar popup to the one above, which allows you to set both minimum and maximum values for the vertical axis.

Show/Hide Switcher Control
Some types of data may be displayed with more than one widget (both line charts and bar charts are a prime example). When that is allowed, a switcher control may be provided to toggle between the available options (see discussion and screen shot under Dashboard Sub-panel Options above).

Via this menu option, you can control whether users can see the switcher control or not. If you chose to hide it, the dashboard will render in the currently active view you have set in the workbench.

Embedding Views in Web Pages
Once a Dashboard view is created, there are two ways to use or embed them: generate HTML code or treat as a Drupal node.

You invoke the generate code option from the Dashboard menu using the get code choice:



There are actually a few steps to this process, so it is covered in its own separate article.

The second method for embedding a Dashboard view is via a Drupal node type; see next.

Optional Dashboard Page
One of the advantages of piggybacking on Drupal is the ability to leverage on native and extended capabilities. A core extension to Drupal is content types via CCK, which can be managed and invoked and themed separately.

We have set up a standard Drupal content (node) type called Dashboard Views. Thus, if you follow the separate set of procedures to embed your Dashboard view in this manner, you can:
 * Assign Dashboards to standard blocks in Drupal
 * Create master listing pages of all available Dashboard views
 * Enable comments and user and community interaction and feedback
 * Provide differential access or editing by user or user group.

We have only just begun to explore the possibilities of the combined Dashboard-content type design.

Workbench Use Tips

 * Devices with smaller screens, including some laptops, may not have enough real estate to display all panels properly; if you see such, try adjusting the sizes of other panels to accommodate
 * First generate the various sub-panels using the list selector mode, then add individual records and tailoring last
 * You may move the display order of sub-panels with drag-and-drop
 * Design your Dashboard views as templates with iterative re-use by certain facets (dimensions) in your data, such as time, neighborhood, product line, etc.
 * Design specific page-related views, and then update them on a regular basis with the Workbench to keep content fresh, changing and interesting
 * Use Drupal content types aggressively to gain the full advantages of viewer feedback, comments and differential access.