Closed dpmatthews closed 1 year ago
To get started with this, I suppose we did a couple things here at NCAR to facilitate accessing the Cylc-UI through our current JupyterHub deployment.
$PREFIX/etc/jupyter/jupyter_server_config.d
. One thing that I noticed on the setup that I'll have to address at our site is the hub button in the Cylc UI doesn't reference the hub when behind a reverse proxy. I'm sure I'll tweak that in the near future, but but nevertheless, it's there.
I'm also not sure about the issue regarding multiple users, but most of our users will not access other users Cylc workflows.
I think my next thing will be to put the Cyl-UI inside of a JupyterLab Launcher Tab instead of a whole new window. Many of our users will want to watch the GUI while editing their flows in the same space. This would allow such workflow.
I've created a dedicated issue for the switching of Jupyter Server extensions (e.g. switching between Jupyter Lab and Cylc UI Server) - #470
Jupyter Server can list extensions and extract the root endpoint from them, however, this might be a bit clunky (can't remember) so it might be worth pushing something upstream as these toggles need to be implemented in every server extension separately. We may want to go both ways e.g. Cylc => Lab or Lab => Cylc and there are other extensions user's might want to toggle between so it would be good to come up with a stanardish way of doing this.
The multi-user support side of things is now covered by - https://github.com/cylc/cylc-doc/pull/625
The remainder is documentation, opened a cylc-doc issue - https://github.com/cylc/cylc-doc/issues/628
I think my next thing will be to put the Cyl-UI inside of a JupyterLab Launcher Tab instead of a whole new window. Many of our users will want to watch the GUI while editing their flows in the same space. This would allow such workflow.
Cylc has some endpoints dedicated to particular views to make this easier e.g. /cylc/graph/<workflow-id>
. If you've made any progress we would be interested in hearing it.
Long term we would like to consider better ways to blend the Cylc app with Jupyter Lab. In theory, both use the same tab management system and the same server framework, so popping up a tab from one in the other should be possible. At least, breaking down the components of the Cylc app into Lab extensions should be possible. However, there are some substantial barriers to cross so we aren't likely to get onto this in the short term:
Also opened an issue covering the sharing of context between server extensions - #472
The topics on this issue should now all be covered by specific ones so I'll close this umbrella issue.
If anyone comes across this issue and has more to suggest, feel free reach out to us on Discourse or our developer chat on Element (links in the README).
We're open to contributions if you have any code you'd like to share.
This is possible now that the uiserver is a jupyter server extension (#230). We should:
470