CADSWES Maintenance Accomplishment Report Compilation -- December 2016
Phil Weinstein, edit 1-24-2017.
December 2016 Maintenance Highlights:
Report contributors:
(II) RiverWare Software Maintenance
|
The following releases were generated this month:
RiverWare 7.0 Release:
The RiverWare 7.0 Release was sent to all users on December 16, 2016. This involved writing release notes, regenerating the help PDFs, updating the builds areas, creating the release executable, updating the website, and sending out the release notification. Release notes can be found on the RiverWare.org website.
RiverWare 7.0.1 Release:
RiverWare Patch 7.0.1 was released on December 30, 2016. Release notes are as follows:
Batch Mode Bugs
|
In December, a concerted effort was made to clean up old and close old bugs that were no longer relevant. As a result, apart from the current bug fixes enumerated below, more than old 135 bugs were closed (they were either fixed or not applicable anymore) for the RiverWare 7.0 release. As of the release date, about 110 bugs remained on the list.
The following thirty-one (31) bugs were fixed:
*Detail: Gnats 5860: SCT: Bad data-entry behavior in selected, off-screen cell.
Changes to the SCT were made to address the usability problems identified with this bug. The problems primarily involved the currently selected series slot / timestep cells, to which edits could be applied, not necessarily being visible to the user. This could be because the SCT was scrolled to a different area, or the selection was within a time aggregation in which the individual timestep cells were hidden. The SCT changes included:
- When closing a time aggregation section, if any series slot / timestep cells in that aggregation are selected, the entire SCT cell selection is cleared.
- When initiating a cell edit by just starting to type digits -- or when clicking into the SCT's main numeric entry field (at the top of the SCT) -- if necessary, the SCT is scrolled to ensure that the cell selection is visible.
- When no cell selection is active, key operations have no effect (e.g. arrow keys or special series flag keys).
Additionally, analysis was done on the following bugs:
New RPL editor "Rename variable/argument" action:
CADSWES staff added a new "Rename..." operation that provides an easy way to rename all occurrences of a variable or argument within a RPL editor. The "Rename…" operation is available in the right click context menu when the current RPL selection is a variable or argument name, whether that name is part of the declaration of that name or is a reference to the value associated with the name. Note that names can be appear within statements (FOR and WITH variables names), expressions (FOR and WITH variable names), and functions (argument names). When the new operation is invoked, RiverWare first presents a simple dialog that displays the number of occurrences of the name to be replaced and allows the user to type in the new name. Once the user has entered a new variable name and clicked the OK button, the old name is replaced with the new name throughout the scope of the name's declaration.
"About RiverWare" Dialog Redesign / 3rd Party Library citations
The third party library information provided in the revised "About RiverWare" dialog was significantly expanded to include all relevant libraries used in RiverWare, and will more complete information. This is within the new scrollable formatted-text window whose content can be selected, copied and pasted (e.g. into an e-mail message or Word document).
Rules Diagnostics Enhancements:
CADSWES has improved diagnostics output by adding the priority to the Rule diagnostics context, and adding the Rule index to the Initialization Rule diagnostics context. This allows unambiguous identification of a goal or rule, even when there are multiple goals or rules having the same name.
Video File Generation / FFmpeg utility deployment:
RiverWare 7.0 invokes an external program, FFmpeg, to combine a sequence of generated video frame image files into single a video file. Potentially relevant to 3rd party proprietary concerns, it's significant that the FFmpeg library isn't actually built into RiverWare -- not even as an externally (dynamically) linked library. To avoid any appearance of such an integration, we switched from using the "shared" distribution of FFmpeg (which includes several DLL files) to the "static" distribution (consisting of only the unified "ffmpeg.exe" executable file).
Qt5 RiverWare Port:
Apart from the filed bugs discussed above, the following other problems resulting from upgrading RiverWare from Qt 4.8.5 to Qt 5.5.1 were addressed.
- File choosers were no longer showing an "All Files" file filter when no filter list was provided.
- Tabular Series Slot Report "Slots" tab: The off-state of checkboxes in slot/function grid was not visible, making it difficult for the user to understand that those cells were clickable controls.
FY 2016 Maintenance Accomplishments Report:
As part of the FY 2016 Maintenance Accomplishments Report (which has not yet been completed) the list of completed bug fixes as reported in accomplishments reports was reconciled with the Gnats bug database. About 85 bugs were fixed in FY 2016 (a few bugs had been closed without software changes).
Overnight build and regression test scripts
An important part of the RiverWare development environment is a suite of Perl scripts which perform overnight builds. Each night a scheduled task executes the scripts to check out the day's RiverWare code changes, rebuild the RiverWare executable and run a suite of regression tests to identify any unintended changes in the model.
In mid-December the scripts unexpectedly stopped working for the "builds" login on one computer. (Unexpectedly because there were no changes to either the scripts or the scheduled task.) Several hours of investigation revealed that for the "builds" login on the computer the file association for Perl (.pl) scripts had changed from Perl to Wordpad. Thus the scheduled task was opening Wordpad on the Perl script to "edit" the script, which hung until the task was killed. How the file association changed is a mystery, although we suspect gremlins. This is a good example of the "hiccups" that occur, unexpectedly, from time to time and can take several (or sometimes many) hours to resolve.
The regression tests continue to be maintained on a daily basis. This involves updating the regression tests to exercise new developments in the code. Also, as new code is added to the development area, the model comparisons performed in the nightly regression tests usually show differences (for example, because a new method category may have been added). When this occurs, the regression tests need to be updated to reflect the current state of the development area so model comparisons do not fail. In addition, every week, the daily history of each regression test is analyzed to determine if the run time or model size has significantly changed because of new development.
In December, with the 7.0 release, the regression tests were update more frequently and had addressed more often as the new 7.0 and future 7.1 release branches were activated.
None reported for December 2016.
None reported for December 2016.
--- (end) ---