-
Notifications
You must be signed in to change notification settings - Fork 27
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Graph View #74
Comments
write mocked dataPython has a project called And like the VCR, you can use it to record HTTP request/responses. It is used to record interactions client-server, and replay them later (like a VCR). Which is useful when writing integration tests for web applications. Looks like there are JS ports too: So we should be able to start a suite with some tasks and interaction (e.g. the old And then change the existing EDIT: moved to #77 |
I would strongly advise implementing the Tree View first. It is the simplest view and for most users [here at least] it is "the Cylc GUI". |
tldr; From a quick look I think dagre.js with a custom presentation layer is probably the way to go but some further research would be a good idea. Performance is likely to be poorer than the Cylc7 graphviz approach. The graph view is a combination of:
I summarised the requirements of the layout and presentation layers and performed some analysis back in September. |
That's an excellent and extremely helpful feedback!
Will do some further research, but having one option to start with is really helpful.
Agreed. Though we may have more resources than with a desktop client, like caching in multiple on server and/or client.
A ha, I remembered seeing that somewhere, but couldn't remembered where. I am hoping to have something to show in June and collect more requirements and constraints in person. But if you have more pointers or links to share, please keep them coming :-D |
I think that's everything important, the only other bits I can think of which are/will-be in sketchups anyway:
|
I'm hoping we can get around this problem by no longer displaying the full graph (at least not by default, for suites that are sufficiently big). For really big suites the full graph is not just slow, it's also useless as a monitoring and control interface. (Static visualization - like |
(I like the mini-map idea). |
Re-assigning to @MartinRyan 👍 Martin, not sure if you will be doing a small test project first, or changing directly here in
If you have suggestions for improvements, feel free to file new issues. I created the current architecture/design without thinking too much, as I wanted to test other things (does it work with graphql? cors? what we needed for tornado. how much JS or TS would be helpful. etc). Hope that helps |
On graph edges etc.: https://cylc.discourse.group/t/meeting-notes-ui-workflow-views-and-graphql/44 |
Here is a quick dump of the work I had done on the graph view prior to Melbourne:
|
Efficient methods and readily customizable libraries for managing complexity of large networks - uses Cytoscape.js (Same but better?): Outputs: |
#187 (comment) expand and collapse |
There is a Vue app for visualising CWL workflows: And an all SVG library here: |
(note this is a static SVG visualisation, interesting to learn from) |
(Chat room convo on dagre edge routing):
Context: dagre layouts seem to look a bit cheap compared to graphviz, because of sub-par edge routing. |
(From meeting discussion and chat room)
|
Graphviz in the browser:
|
Notes from @oliver-sanders in Element chat:
|
Graph library for interactive CWL editor: https://github.com/rabix/cwl-svg/ |
Review 2022: Not a whole lot has changed, the front-runners remain:
|
I think https://cylc.github.io/cylc-doc/latest/html/7-to-8/caveats.html#browser-based-ui needs updating as this Issue is closed? |
The GraphQL data model is stable now, so we can create the initial views for the Vue.js app.
The first one will be the Graph View, listing all the tasks found in the task pool.It is important to list all the tasks, without filtering at this point.
It is also important to simulate the change in the tasks, as we need to confirm that the view can be used with a dynamic graph.
While other web interfaces may be used as reference, there are things in the Cylc 7 GUI that can be used for the initial implementation, like the task colors.
The text was updated successfully, but these errors were encountered: