---
# System prepended metadata

title: Product Improvement and Roadmap - Part 1

---

Product Improvement and Roadmap - Part 1
============================



**Like a google doc, but better**  


---

* ~~Feature flags~~ 
    * Custom built settings portal (SDK supports it)
        * Ability to compare settings between environments 
        * Search for settings 
        * Features to help with on-boarding 
        * It may be better to invest this time into the new terminal
    * Replacing back-office settings 
        * E.g Number of API records for IFRESX pagination
        * Netline generic settings
        * It may be better to invest this time into the new terminal
    * Configable verbosity of logging per code area
        * Currently we use Debug level 
        * It may be better to invest this time into the new terminal

* FF disabling the running of tasks 
    * When we get server performance issues, it would be nice to turn off the terminal 
    * Disable running of certain task types 

* ~~New Task settings feature~~
    * Each task contains their own settings 
    * When created, it populates their default settings in the DB. This will display to the user all of the available settings   
    * It may be better to invest this time into the new terminal

* CorrelationID in logs 
* Change logging framework to Serilog 
* Always on verbose logger
    * Which only dumps to our logs if needed
    * Code determines if we need logs e.g. on exception 

* API Monitor Task auditing 
    * Maybe force comments 

* Feature flagging SPs 
    * Limit impact of SP which cause breaking changes 
    * Testing performance of different SPs

* ~~Task dependency feature~~
    * It may be better to invest this time into the new terminal

* Moving SP into c# code 

* Upgrade customers from daily proc or old terminal to the new terminal

* SFTP support feature

Product Improvement and Roadmap - Part 2
============================

* ~~Change IoC Container to provide more functionalities that we have now~~
    * It may be better to invest this time into the new terminal

* Increase code coverage by unit tests
    * For new features or updating current functionality


* ~~Refactor common areas of code such as BaseQueueService~~
    * Avoid code being executed "line by line", utilize private methods and helper classes
    * Use composition over inheritance
    * It may be better to invest this time into the new terminal

* ~~Prepare for migration to .NET Core~~
    * Change csproj SDK
    * It may be better to invest this time into the new terminal

* Monitor providing Data to Graylog
* ~~Review Terminal settings on the above features~~
    * It may be better to invest this time into the new terminal
* ~~Dashboard ESB MultiTenant~~ 
    * extension on new Relic alerts/integration
    * Some checks on integration connections
    * Checks on fails itens in monitors
        * Monitor/ Charts/rules/?
    * It may be better to invest this time into the new terminal

* Review Support Documentation for ESB:
    *  Define Confluence wiki structure
    *  processes/api/terminals
    *  On Boarding team members - Overboarding
    *  On boarding customers - Setup/templates/environments
    *  FAQ pages / Recipies
    *  Small tutorial Videos (Darragh did one TeK)
    

Product Improvement and Roadmap - Part 3
============================

* We need a new Terminal Service
    * File handling and many other features are no longer maintainable
    * Settings management is difficult, slow and error prone 
    * Tasks running are blocking other tasks from running
    * No concurrent task processing 
    * We have no workflow for tasks or dependencies  
    * No auditing. Who done what, why and when 
    * It depends too much on SQL business logic instead of new .Net features and patterns
    * Confusing UI/monitor support for terminal runs and setups - Restricts CS helping us
    * More friendly UI for non-technical RiM staff
    * We need to integrate with new tools. This will be difficult on the current stack 
        * Integrate with New relic
        * Integrate with Graylog
        * Integrate with ConfigCat
        * Integrate with Healtcheck
        * Integrate with Notifications
    * We currently have zero monitoring or notifications in production
    * In ability to re-run tasks without large amount of setup
    * No access to logs for certain customers
    * No access to task configuation for certain customers
    * Not able to cancel tasks once they start
    * Not able to pause the terminal from taking on new tasks 
    * Serious security concerns
    * Developer morale 