Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@sabinem
Copy link
Contributor

@sabinem sabinem commented Feb 19, 2024

The goal of this PR is to finish the dashboard in a first version, that provides similar functionality in the gui that is offered in the cli.

The following choices have been made:

  • it will only be possible to run executions from the gui (not components)
  • executions can have each component only once in this first version

Features

User page:

  • User can be added as in odtp user-entry --name Max --email [email protected] --github maxm
  • User can be selected (as base for working with digital twins and executions)

Digital Twin page:

  • Digital Twin can be added as in odtp digital-twin-entry --user-id 65a7c5837fc6509bf4161d25 --name example (the user id will be taken from the selected user on the user page
  • Digital Twin of the user are listed
  • Digital Twin can be selected (as base for working with executions)

Execution Page:

  • Executions can be added as in odtp new execution-entry --digital-twin-id 65a7c735732ae1d3fee2b946 --name execution-example --versions 65843bdf57da36bb8e8da182,65843be057da36bb8e8da184 --parameter-files /file1,/file2 --ports 8080:80+8001:8002,8056:8000
  • Executions can be seen in detail

Run Page:

  • Executions can be selected for prepare and run on the execution page, also a project folder for the run can be selected
  • Executions can be prepared as in odtp execution prepare --execution-id 65a7c8e8f6bce450fe8ab63f --project-path /folder1
  • Executions can be run as in odtp execution prepare --execution-id 65a7c8e8f6bce450fe8ab63f --project-path /folder1

Component Page:

  • Component version can be be added as in `odtp-component-entry --name component-example--repository https://github.com/odtp-org/odtp-component-example --component-version 0.0.1
    (optional arguments: commit_hash, odtp_version, ports
  • For components component version can be seen in detail and compared

@sabinem sabinem changed the base branch from main to cli-run-commands February 19, 2024 09:43
@sabinem sabinem changed the base branch from cli-run-commands to develop February 21, 2024 08:37
@sabinem sabinem force-pushed the dashboard-latest branch 2 times, most recently from 5df372c to 7fca12d Compare February 26, 2024 14:50
this python package will be used to print a directory tree on
the commandline when in the dashboard in order to check on the
content of a directory
{sabine.maennel} added 5 commits February 26, 2024 17:45
also linting tools where run on the code files: isort and black
these helpers can be used from both the gui and from the command
line interface

the git helpers check github urls and bring back information on
repos from the github api, that will be displayed in the
dashboard

helpers to derive version names for executions are also provided
these version names are formed of the component version and the
component name and are used to reference the component versions
in the file output struture as well as in the gui. Version ids
are used only in the command line user interface and internally,
but are not displayed in the gui
check that the project folder is empty before running prepare
eexecution
this command will be called from the gui and provide info about
the chosen directory folder
the filepicker will be used from the gui to choose the local
project folder

it has been copied from nicegui without any modifications
@sabinem sabinem force-pushed the dashboard-latest branch 2 times, most recently from 741b542 to a3ff2b1 Compare February 27, 2024 07:23
{sabine.maennel} added 13 commits February 27, 2024 11:08
no extra page is needed for preparing executions: this will be
all done from the run page

add ui element for items that are missing for a page to work, such
as digital twins on the execution page (the user needs to select
a digital twin first)
also remove prepare page as it is not needed
so far ports and port mappings are expected as comma separated
list

pattern matching is used to provide some flexibility regarding the
inputs
add helper to display executions as mairmaid diagrams

remove helper for execution prepare and run as only executions
may be prepared and run via the gui
also add new functions to handle storage of components and
executions in steps

deleting keys in the storage has been refactored
when storage items should be reset the key value pair is deleted
in app.user.storage

there are two reset functions: on keeps only the provided keys
and the other one deletes selected keys

all storage keys are represented by constants so that the storage
retrieval gets less error prone
both file contain only one function: therefore it makes sense
to merge these code files
a project folder can be set via the nicegui filepicker example

commandline tools can be started to prepare and run executions
also a command can be started to show the user the tree of the
project folder

the project folder is checked whether it is empty for prepare
execution or matches the tree that is expected to run an
execution
form validation for adding a digital twin is improved so that
only valid entries can enter the database
also show information that is extraced from the github repo
on the component

complete the forms to enter new component versions and the form
to enter new compoents: the component form has two steps, many
values are preset from the github repo
the form to add executions has several steps: one initial step and
then one additional step per component/step; after all steps have
been added the user can see the complete entry with ports and
parameters before submitting to the database
@sabinem sabinem requested a review from caviri February 27, 2024 12:33
Copy link
Member

@caviri caviri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work @sabinem !

@caviri caviri merged commit 412fb08 into develop Feb 28, 2024
@sabinem sabinem deleted the dashboard-latest branch April 4, 2024 16:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants