Phil Weinstein / Accomplishments -- December 2016 -- 1-06-2017
Sponsored Development Accomplishments |
--------------------------------------------
[I.A] New/Enhanced Software
COE SWD Task 5: Model Report Editor Features
--------------------------------------------
In December, the following model report enhancements were developed for RiverWare 7.1:
(1) Better support for a model report's HTML output file path specification.
An important model report setting is the full file path of the HTML file to be generated. To be interpreted correctly by web browsers, it can be important for such files to have an extension of ".html" or ".htm". An optional filter has been added to the file chooser used for this setting to present only files ending in those two extensions. (This filter can be disabled, to show all existing files). Also, when a file path is picked or entered in the file chooser, RiverWare now ensures that the file extension is either ".html" or ".htm"; if not, the specified file path's extension is replaced with ".html". This replacement, however, is not applied if the user edits the file path directly in the setting line edit field. Nor is it applied if the user cancels out of the file chooser.
(2) Ability to embed images within the generated HTML model report.
Modern web browsers now support the inclusion of an image data directly within the HTML file. (This is a relatively new development, as images in web pages used to always be references to external image files). Model reports now have an "Embed Images in HTML File" setting, on by default. Using this setting, of course, makes the generated HTML file much larger, but the overall size is about the same as the combined sizes of the HTML file plus all the referenced images.*
Note: It was discovered that the images generated for various features within a model report were unnecessarily large (e.g. by a factor of 30 -- very significant). A compression optimization has been applied in RiverWare 7.1 development, and will be applied to the RiverWare 7.0.2 patch release.
*Less significant than the size improvements made with the fix described above is a relatively minor inefficiency in the encoding of image data within the generated HTML model report file. The "Base 64" encoding of the embedded image's binary data is about 75% efficient -- basically, six bits of binary image data in every eight-bit byte within the generated HTML file. (This is true also of the data for imported images used in various RiverWare features within a model file, e.g. imported image objects within a model report configuration).
Maintenance Accomplishments / December 2016 |
--------------------------------------------
[I.B] New/Enhanced Software
Unfunded Software Development
"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).
--------------------------------------------
[II] RiverWare Software Maintenance / Software Updates / Bug Fixes
--------------------------------------------
The following twelve (12) bugs were fixed:
Additionally, analysis was done on the following bugs:
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).
--------------------------------------------
[II] RiverWare Software Maintenance / 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.
--------------------------------------------
[II] RiverWare Software Maintenance / Video File Generation / FFmpeg
--------------------------------------------
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).
--------------------------------------------
[II] RiverWare Software Maintenance / 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).
--- (end) ---