Phil Weinstein / Accomplishments -- May 2014 -- 6-03-2014 (b)

General Development Accomplishments

--------------------------------------------
[I.A] New/Enhanced Software / BOR IDIQ 10 (RiverSMART enhancements)
   Configuration-Changed indication for Event Plugins
--------------------------------------------

NOTE: This should be combined with the description of related tasks completed by Bill, Neil (e.g. the new RPlugin), and Mitch:

The ten existing RiverSMART event plugins were enhanced to provide a "Config" class instance encapsulating all user-provided configuration data. This class implements functions to create a copy of itself and to compare itself to another instance. The comparison considers only "active" fields -- i.e. those which are relevant given the current state of mode-settings within the configuration.

--------------------------------------------
[I.B] New/Enhanced Software / Unfunded Development
   Open Account Dialog: Enhancements to Method Category Order Control
--------------------------------------------

The Methods tab on the Open Account Dialog can now display method categories in a default order -- as an alternative to column sorting (by Category or Method). A new "Order" combo box was added below the Method Category list to select between these two types of orderings. (This is a simplified version of the Open Object Dialog's slot order controls). A more meaningful method category default order was defined for each of the four types of accounts. These enhancements were made to address Gnats 4184 and are described further in this document:

--------------------------------------------
[I.B] New/Enhanced Software / Unfunded Development
   General Slot Selector Enhancements
--------------------------------------------

Two enhancements to general Slot Selector filters were developed:

  1. Slot Column Label Filter, broader effect: The Slot Column Label filter used to hide only column-sub-items in special selection modes where individual Table slot or AggSeries slot columns were being presented for selection. This filter now has the additional effect of hiding slots which don't contain any columns with labels matching the wildcard pattern.
  2. Added Slot Type Filter value: "Table (Multiple Cell)". The Slot Type filter has a new variation of the "Table" filter value to show (or hide) only Table slots having two or more cells. This is meaningful because many single-cell table slots had been added to RiverWare engineering objects before scalar slots had been implemented.

The first of these enhancements was made to address Gnats 5426. Both enhancements are described further in this document:

--------------------------------------------
[I.B] New/Enhanced Software / Unfunded Development
   Analysis: RiverWare Usability Enhancement Topic: List Copy/Paste Support
--------------------------------------------

An analysis was done for an enhancement area raised by Gnats 3771 ("Copy/Paste Object and Account Information"). This document explores current list copy and paste operations, and some ideas for providing more comprehensive copy/paste support.

Here is an outline of that document:

  1. Overview
  2. Review of List Copy/Paste Capabilities in RiverWare 6.5:
    1. RiverWare Slot Clipboard
    2. Special Copy Operations
  3. Possible Enhancement Areas:
    1. Add "Copy List to Clipboard" operations to all dialogs displaying lists of items.
    2. Add Copy and Paste operations to the GUS general selectors.
    3. Integrated RiverWare/System Clipboards

 

Maintenance Accomplishments / May 2014

--------------------------------------------
[II] RiverWare Software Maintenance / Software Updates / Bug Fixes
--------------------------------------------

The following bugs were analyzed and closed without changes:

The following bugs were fixed:

*some details for these bugs are provided below.
**enhancements described elsewhere in this report were made in the course of addressing this bug.

Bug 4247 Detail: Closing the console window on Windows OS crashes RiverWare

Now only in very special circumstances does text sent to the RiverWare process' output streams ("standard error" and "standard out") cause a terminal window to be shown. (One particular circumstance is lack of a valid RiverWare license). This used to happen when unusual errors were detected in RiverWare or in Qt. These output streams are still useful in testing and debugging RiverWare -- they can be redirected to a file or to a console window by invoking RiverWare with one of these command line parameters:

--log <log file path>
--log console

Bug 5405 Detail: Diagnostics Output Window: Performance Problems, Freezing

The Gnats 5405 bug model helped us identify and address two related performance problems with the Diagnostics Output Window handling a very large number of messages (e.g. > 100,000). With this model, a 35 second run took over an hour to complete when informational diagnostics were enabled. In one case, the GUI was frozen for most of that time.

The sources of the slow execution and "frozen" (unresponsive) user interface have been substantially addressed. Now, generating many "informational" diagnostics messages slows down the run only by a small amount -- in particular when the Diagnostics Output Window is closed during the run.

This document provides background, analysis, and descriptions of changes and performance results:

Note: This document has yet to be updated with subsequent design decisions. We decided against disabling the window's "Minimize" function. The Diagnostics Output Window can be minimized, but doing so does not have the same performance benefit as closing the window. Also, in a debug build, closing (not minimizing) the window is necessary to avoid an extremely slow execution state which can occur. (With the implemented enhancements, we have not seen this problem in normal release builds).

Also, the current draft of that document does not mention the addition of a new "progress" dialog with an "Abort" button for message filtering operations. This popup dialog is now shown when a message filter operation is going to take over four seconds -- determined during the first second of filter execution.

--- (end) ---