Proposed Activities
| Activity | Funded (Y/N) | Cost | Delivery Date |
|---|
| Technology Transfer - Update and Improve Documentation | Y | $5,000 (HEC labor) $20,000 (Field labor) | |
| Technology Transfer - Host Webinars and Workshops | Y | $30,000 (HEC labor) $30,000 (Field labor) | |
| Fix Bugs as Reported | Y | $60,000 (HEC labor) $30,000 (Field labor) | |
| Improve Performance and Stability | Y | $30,000 (HEC labor) | |
| Software Improvements - Update Queries | Y | $100,000 (HEC labor) | |
| Software Improvements - Cloud Migration | Y | $40,000 (HEC labor) | |
| Software Improvements - Production OpenDCS in CWBI | Y | $40,000 (HEC labor) | |
| Software Improvements - District Control of Configurations | Y | $10,000 (HEC labor) | |
Update and Improve Documentation
Documentation will be updated and improved as needed throughout the year. Over time, the team will increase the documentation coverage and make the information easier to find and digest for the users.
Host Webinars and Workshops
The team plans on hosting webinars and workshops throughout the year to inform users on new features within OpenDCS. As cloud migration continues to progress, many districts are needing help with using OpenDCS. These training opportunities will help to better inform the field on how to use OpenDCS.
Find and Fix Bugs
Bugs will be fixed when they are identified and reported. OpenDCS is a complex suite of software components that has made many assumptions over time about what behavior is correct. As users identify bugs, either failures or implementation that does not match the documentation, the team will fix those issues and make new releases.
OpenDCS has been developed and improved over 20 years, and the developers had to make assumptions about how certain resources are, or can be, managed. Additionally, some components are slower than they could be, due to lack of time the original development team was given to optimize sections of code. Some of these assumptions also affect stability, or the ability of the application to continue to run. As specific issues are discovered and reported, the team will strive to correct them while improving overall performance.
Update Queries
The queries that OpenDCS uses to interact with the database do not properly use bind variables when interacting with the database, which affects application security. This is more critical with services exposed to the web. The team will update queries within OpenDCS to remove security issues.
Cloud Migration
Cloud migration efforts include setting up OpenDCS in a way that is practical to manage within a cloud environment, such as running in docker containers and automatically scaling when the task list increases.
Production OpenDCS in CWBI
Some work will be completed to allow for production OpenDCS to be hosted in CWBI. OpenDCS is currently running in CWBI Test. The team will analyze lessons learned from that setup experience to create an easier to manage infrastructure for the production environment.
District Control of Configurations
District staff will be responsible for management of data ingestion and computations for their own districts. National teams will be responsible for managing data (such as GOES) to prevent unnecessary duplication of data. There is basic support for differentiating offices now, however it is set up using a Windows Virtual Machine and an OpenDCS profile per district. Some progress will be made on the OpenDCS RestAPI's CWMS Support, and the team will start to leverage that setup to provide access to the system.