Skip to content
Tom Russell edited this page Feb 11, 2019 · 1 revision

GUI

Notes on further GUI development features/snags.

Stories

GUI allows renaming parameters which updates all sos model narratives containing the sectormodel parameter

Labels:

  • gui
  • smif

Rename scenarios

Labels:

  • gui
  • smif

Scenario names are currently determined when the scenario is created. When the scenario is edited the name field is disabled preventing users from editing it.

This feature should enable the name field, allow editing scenario names and ensure that references throughout the project to this scenario are updated accordingly.

Allow filtering of list of

Labels:

  • gui
  • gui_usability
  • smif

To ease navigation and use of the gui, it would be handy to have one-click access to any of the entities that use the wrapper/scenario/narrative/sos_model currently being viewed.

Could use the query string in the url to apply a filter

Express types of dimensions in GUI

Labels:

  • gui
  • smif

It would be useful to indicate the type of dimension in the GUI to differentiate between

  • spatial
  • temporal
  • categorical

dimensions.

Review required fields in GUI

Labels:

  • gui
  • smif

Review the GUI and decide which fields are required and which are optional

ScenarioForm validate that each variant provides all sources

Labels:

  • gui
  • smif
  • validation

Scenarios variants should define sources for all outputs the scenario provides. This currently breaks the datafile handler.

The datahandler should validate that each variant is completed on save.

Validate SpecForm inputs

Labels:

  • gui
  • smif

Spec form:

  • you could validate absolute and suggested ranges against one another. Suggested range min-max should be inside absolute range min-max. Max >= Min
  • Default value could be 0, or within the absolute range.

Structure scenarios and narratives consistently

Labels:

  • gui
  • smif

Suggest copying the scenarios structure for narratives

  • in sidebar and overview table, list narrative sets
  • open narrative set
  • include list of narratives within this page

Add/create an item should use the full edit screen form

Labels:

  • gui
  • smif

Consider technical approach in case name/id is required for some edit actions

  • having an empty state URL (create?)
  • adding a name/id text box next to the create new button

Add delete button on forms near to save/cancel buttons

Labels:

  • gui
  • smif

Include sphinx docs in the smif app

Labels:

  • gui

  • smif

    • Build sphinx HTML in travis deployment
  • Move and link to in local subfolder under app

Consistently click table rows to edit/see details

Labels:

  • gui
  • smif

Remove edit pencil button from scenarios and facets

ModelRun configuration should list results to be output

Labels:

  • data_handle
  • gui
  • modelrun
  • results
  • smif

Prefer a post-processing utility to extract results from a model run

The ModelRun configuration GUI could provide a list of the contained model outputs and enable a user to select which model results they wish to write out from the model run.

This could then populate a ResultsAggregator module which inherits the SectorModel class, or uses the data_handle.get_results() method to collect/aggregate and convert model results from the model run.

DatafileInterface should be 'locked' during write operations

Labels:

  • gui
  • smif

This will improve stability of the GUI

Style of editing elements differs from main page to sub-pages

Labels:

  • for_discussion
  • gui
  • gui-flow
  • smif

I can now click on all elements in the main page to edit them.

The difference between clicking a main page entry to edit, and clicking on the pencil inside the elements is maybe distracting - we could harmonise so that all editing is done through clicking the title, or pencil?

Find a way to re-render enzyme test components

Labels:

  • gui
  • gui-validation
  • smif

A lot of the GUI code is currently not testable, because we haven't found a way to do the following:

  1. Shallow or mount a component
  2. Perform an action
  3. Re render the component and check the result

User should be able to edit existing outputs, inputs and parameters

Labels:

  • gui
  • gui-flow
  • smif

In SectorModel configuration screen, a user should be able to edit existing outputs, inputs and parameters (by clicking on the existing entries).

Create test for sosModelRun receive (GET) request (POST) procedure

Labels:

  • gui
  • smif

Pay extra attention to datestamp

The GUI and data interface check Types of data

Labels:

  • data_handle
  • gui
  • smif
  • smif ideas

Delegate type checking to the data interface, and handle errors in HTTP/GUI. Some inline checking on forms.

Improve test, Render the DOM rather than checking for DOM initialized

Labels:

  • gui
  • smif

As explained by Tom, so it is not necessary anymore to check if the 'document' array is empty.

Visualise dependencies of a SosModel as graph

Labels:

  • gui
  • smif

Review pattern library for GUI

Labels:

  • gui
  • smif

Upload scenario data through GUI

Labels:

  • gui
  • smif

Create dimension through GUI

Labels:

  • gui
  • smif

user should be able to link to create/edit SosModel from ModelRun config screen

Labels:

  • gui
  • gui-flow
  • smif

smif should enforce model version in reproducible/strict mode

Labels:

  • gui
  • gui-validation
  • smif

In strict mode, model wrappers must report a version (e.g. git commit id or semantic version string) which matches the model config.

This is to ensure that an archived modelrun will be reproducible with software as well as data.

(In dev mode, which I suggest should be the default, only warn if there is a version mismatch).

Clone this wiki locally