Heisessie: 1000156.011-000-DSC-0002-m-Uitwerking-Heisessie-Delta-Shell.docx
NGHS 2013
... stable, performance, memory use, transparent file formats, documented (API)
- Improve API:
- Drag & Drop
- TreeView
- TableView
- (add/remove columns is a mess (see ITableView/TableView))
- Remove IGuiView (remove dependencies on IGui from all view)
- Improve/add provider logic for finding best fitting (i.a.w. most specific) type
- View provider
- Property provider
- Context menu provider (still needs to be implemented)
- Node presenter provider (actually "TreeView"/)
- Importers/exporters (still needs to be implemented)
- Improve property grid:
- Support for dynamic property hiding (just like dynamic read only)
- Support for property ordering (fix PropertySorter)
- Make ExpandableArrayConvertor part of framework
- Improve IView/IViewContext/ViewManager API:
- View
Improve IView / IViewContext API, view- creation / resolving logic (double-click on item opens view for parent>parent>parent object but can also open view for this object), currently it is too implicit (CreateView changes view.Data to a different object and Delta Shell should check it
Use providers for Importers/Exporters similar to views and nodepresenters (what about property classes?- )
- Clean-up database and remove duplicate classes (Delta Shell + SOBEK 3.1 plugins)
- Introduce support for file-based models at framework level:
- Use per-model directory in project data folder
- Rely on IFileBased for all file-based model items
- Keep model data directory in-sync with Project
- Eliminate custom "working" directories
- Improve performance:
- Minimize number of GetAllItemsRecursive calls
- Uitstekende usability van de software B (enkel quickwins)
Improve table editors
Right-click – last item "Properties"
- Remove dependencies on IGui from all views
- Context menu:
- Possibility to hide "Import"/"Export" items
- "Properties" items should always be the last item
- Separate Delta Shell and Plugins (delete ALL direct dependencies between plugins) and use NuGet to manage / develop / deploy Delta Shell and plugins
- Improve ProjectItemMapView viewcontext (using custom ProjectItemMapLayer that doesn't save datasource)
Delta Shell Next
... future release, open-source, flexibility, simplicity, research version
- Review map editing functionality including topology, interaction, rendering:
- Eliminate need for custom map tools such as HydroNetworkEditorMapTool
- Move common controls (such as Map Contents, Layer Properties Dialog, Attribute Editor) to SharpMap.UI
- Fix working with units (system:
- System-wide
- support for units
- Units for properties, variables, etc.
- Change current units for variables
- Note: always save in the same unit system
- . SI on-the-fly UI unit conversion
- Improve model coupling:
- Don't use output coverages (which are filled on an output time step basis and not on a simulation time step basis) for coupling: allow users
- to choose a time step to be used for coupling
- and fix it in model wrappers / SOBEK .py coupling script
- Koppelingen met bestaande Enable coupling with online data bronnen (statisch en dynamischsources (both static and dynamic), bijvoorbeeld for example HYMOS, OpenDAP, KNMI, etc. – LOBBY IT! (This coupling is relevant (and so should be suitable) when it comes to FM prototype, DelftDashboard/DeltaShell, BMI voor Matlab wrapping, Fews-modellen in DeltaShell, Scripting). **
- Data structures for measurements
- Automatic generation of model schematizations using existing data (online, local GIS files, etc.)
- WebtoepassingenWeb: Delta Shell as a webservice (share existing schematizations, allow selection using map, define boundary conditions, run model)
...
- Extend DataItems to exchange values only when it is asked, this . This is a minimal requirement for parallel (asynchroneous) model runs.
- Keep Time time info in mind
- Hoge performance van alle modellen (inclusief gekoppelde) - Note: Improves performance of all models (including coupled ones => profile RTC + FLOW, : implicitly will be solved by slit of "data “data item set / exchange value"value”)
- Bubbling of CollectionChange and PropertyChange must happen automatically in ModelBase, derived models , Functionsand functions:
- ModelBase OnInputCollectionChange and OnInputPropertyChange etc should work on ALL aggregated and composed items of the model
- Model vs. Model Runmodel run:
- Functional requirement: scenario / version / run of model (light-weight) input + output (HARD TO IMPLEMENT FOR NOW – LONG TERM)
- Generalize import/export (wizard) logic:
- "File column" to "Data property" matching and vice versa
- Ability to specify a custom separator (in case of csv)
Suggestions by Pieter van Geer
- Move UserControlValidationManager to framework
- Move ShowModalWithTimeNavigator in MorphAnTestHelper to general TestHelper