GUI for AutoSubmit v1
Hi there,
I am developing a GUI for autosubmit as you can see in autosubmit@3d4163ee.
It will be a separated executable which will be called autosubmit-GUI
.
It will be a slow process because it is the first time that I develop any GUI application related, for now, I just committed a version (in an isolated branch) that looks awful but at least I made it work (except grouping/expand) with autosubmit create.
As related to the development strategy:
- Create a functional ugly GUI that tries to be intuitive.
- Make compatible all the actual console autosubmit functionalities.
- Once everything works as well as console autosubmit, renew the ugly GUI for a beautiful one as much as I can.
As for the libraries, for now, I am using PySide2(free for commercial use) <= 5.11 because I have trouble making it work with 5.12 due to having an old version of GCC (4.8).
Of course, all of this is open to discussion.
Edit 1: The code will be a bit mess up until I learn more PySide(QT) since I'm testing different approaches to archive what I want
offtopic: Git buttons for list, bold, etc does not work with chrome.
To do:
-
Detailed analysis of the grouping function of Autosubmit. -
Detailed analysis of wrapping in Autosubmit. -
Improve wrapping documentation in Autosubmit. -
Improve grouping function in Autosubmit (and in Autosubmit GUI as a consequence) -
Implement Clustering (a vis-network feature) as a way to represent grouping in the graph. -
Improve justification for wide workflows, so parents are in the middle of their children and dependency lines are not so horizontal. -
Add ungroup button in the group menu. -
Implement graph positioning algorithm for large experiments. -
Implement Live Monitor for Tree View. -
Implement Live Monitor wrapper updates for Graph visualization.
To do (Beta Priority):
-
Show the start date and the date (start date + crunch * chunk size) -
Put the description of the experiment next to the name. -
The navigation per status buttons should point to the first job with that status, and not to the last one as it is happening now. -
In the description panel (right box): Show the list of currently waiting jobs. -
In the description panel (right box): Show chunk number. -
In the description panel (right box): Show member name. -
Remove model and pkl from the top description. -
The name of the Branch and HPC should be bigger. -
The log should be scrollable. -
When switching to the Tree View node, the Tree should be rendered automatically. If the Tree is already rendered and the experiment is running, the Tree View data should be refreshed automatically. -
Gather information about the statistics fields in the result and display that information in the statistics tab. -
Show average queuing time for failed jobs in the experiment. -
Show average running time for jobs (types) in the experiment. -
For big experiments, the Graph visualization should start zooming into a relevant section of the graph instead of showing the whole render.
Priority:
-
Show performance metrics -
Provide set status commands through the GUI -
Add specific URL for GUI functionality
Architecture discussion on autosubmit#522 (moved) for future reference.