Asset Publisher

Code clean-up

Update 2023: 
Goal: Keep the Delft-FEWS code maintainable by removing unnecessary code
To keep the Delft-FEWS code manageable and improve maintainability, we actively seek to remove or replace older code if possible. This means that we remove code that is no longer in use and also restructure the code to make it more understandable. In the latter case this may also affect functionality that is still used by users. 
To keep everyone informed about future changes of functionality we have developed the F12 option to log obsolete modules and explorer plugins and we’ve updated the messages and modules logged with each release. 
The wiki page  is also updated to reflect the current status regarding code clean up. The transformation and performance indicator module will be replaced in future releases.
In 2023 we have added approximately 115,000 lines of code and removed 80,000 lines of code.

---------------------------------------------------

Plan 2023:
A continuation of code clean-up activities will take place in 2023. The list containing functionalities which will be removed is kept up-to-date on this page. Please check your configuration using the <F12> option to verify if you need to replace or upgrade configuration files. If you need support, please reach out to fews.support@deltares.nl 

Main contact for this roadmap theme is: Marc van Dijk

---------------------------------------------------

Update 2022: 
The planned activities for code clean-up have been completed successfully in 2022. The results were presented at the international Delft-FEWS user days, with discussion on progress of configuration activities. Most Delft-FEWS users have send the results of the debug functionality that logs the expired modules to Deltares. These logs show that most Delft-FEWS users have already removed the expired modules, or can convert the expired module configuration before the 2023.01 release. There are, however, several points of attention:

  • The new what-if functionality is not yet completed, documentation and additional tests are required. This makes it impossible to have the old what-if functionality removed in the 2023.01 FEWS release. The deadline is moved to 2024.01 FEWS release. It is agreed with several users to provide on-line training sessions where Deltares will support the Delft-FEWS users with the migration process of what-if functionality. This needs to be planned for 2023.
  • There are some users, especially the Delft-FEWS systems developed before 2008, that still contain many modules that will be expired in 2023. These users will require additional support from Deltares, and some extra time, to have all configuration activities completed and tested. It has therefore been decided to have the expiry time of the what-if and old transformation module extended to the 2024.01 FEWS release.
  • It is unclear how many users still use the Performance module. This module is planned to be migrated to the Transformation module, a more detailed plan is required in 2023 on what functions need to be migrated. It is also possible to keep the old performance module and slowly build new performance module functionality in the transformation module.
  • While migrating the Delft-FEWS configuration from expired modules to new modules additional guidance would be very useful for Delft-FEWS configurators. The WIKI is updated with some documentation on how to flag unused configuration, for example. In 2023 additional attention need to be put in configuration maintenance functionality. This means that there must be additional debug functionality in Delft-FEWS to flag inconsistent or unused workflows, module instances, locations, parameters, qualifiers, etc.

The overall conclusion is that we are on track to have most of the expired modules and plugins removed from the Delft-FEWS code in 2023.01. Deltares will have to provide some additional webinars/training and documentation to make sure Delft-FEWS users can complete all activities on time.

---------------------------------------------------

Plan 2022

To keep the code clean and maintainable, we have identified outdated and end-of-life modules and displays. A first inventory was made in 2021 and we continue this process in 2022. Our approach is to inform all our end users in time about this removal and we will not remove any module or display without having a new or more modern alternative in place.

In 2021, functionality was introduced to validate a configuration to assess if any obsolete modules or displays are configured. This check will be updated regularly to match the latest insights. To avoid any surprises when using a new version of Delft-FEWS it is recommended to run this <F12> function while testing new Delft-FEWS releases. This will give all users enough time to resolve backwards compatibility issues with end-of-life modules and displays.

A wiki page is kept up-to-date to share our latest plans (what components are removed by when) and our progress. The <F12> check in your application is aligned with this WIKI page.

Expected effort in 2022: ±35 days

---------------------------------------------------

Update 2021
To keep the code clean, we have identified outdated and end-of-life modules and displays. Users can assess their own configuration using an <F12> function (<F12> + T  to see if these parts are still used in their application and how (and when) to replace them. With the Map Display selected, press the <F12> button, choose “T – Export” followed by the option: “log obsolete modules and explorer plugins”. In your log-panel the result of this analysis will be logged.

--------------------------------------------------

We are going to clean up parts of the code that are no longer in use or the (original) functionality has been replaced or will be replaced by a new module in the near future. We will inform you in advance what and when a certain functionality will be removed on this WIKI page. The 2021.01 release also has a <F12> function available to identify which configuration files to replace. For clients having a S&M contract in place, Delft-FEWS Support will be available to help out if needed.