You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By "apps" I mean standalone web applications e.g. Jupyter Lab and NbClassic. Things that have their own root endpoint e.g. /lab. I am not talking about:
lab/notebook extensions that fit into existing apps.
Jupyter Server extensions that do not directly provide a standalone app of their own.
Jupyter Server extension applications (applications meaning traitlets applications).
Hi 👋,
Jupyter Server extensions can use the framework and services provided by Jupyter Server to create apps and services.
You can have multiple extensions providing multiple apps on the same server simultaneously, with each app sitting behind its own root endpoint (e.g. /lab).
When you start Jupyter Server e.g. via the command line or Jupyter Hub, your web browser will open to the root URL of a particular app (e.g. <jupyter-server-root-url>/lab). Which app you get is determined by the command used to launch the server and the Jupyter configuration.
Problem
If you are using Jupyter Server to serve a single app, it's straight forward to access the app, launch the server and you're there.
If you are using Jupyter Server to serve multiple apps, then to switch between them, you must edit the URL e.g. by changing /lab/.* with /myextension. This is a bit cumbersome:
How does the user know what apps are available?
How does the user know what to change the URL to?
Proposed Solution
It would be great if there was a standardish UI feature (e.g. a menu bar), implemented in extension apps that listed available apps and allowed you to switch app (i.e. change the URL) or open another app in a new browser tab.
This would require:
A Jupter Server API for listing apps (note apps not extensions) with their root endpoints.
Extension applications to implement the interface for switching apps using this interface.
Depending how difficult it is to differentiate between an extension that adds services and one that provides apps automatically, this might require extensions to explicitly declare any apps they provide.
Additional context
Does this make sense to you? Are their any existing APIs that might help? Is there a better way to go about this?
* Add an interface for listing extension applications that provide a
default URL (i.e. extensions which provide a web application).
* Add an endpoint for querying this interface.
* Partially addresses jupyter-server#1414 by allowing Jupyter web applications to query
for the existence of other Jupyter web applications.
* Add an interface for listing extension applications that provide a
default URL (i.e. extensions which provide a web application).
* Add an endpoint for querying this interface.
* Partially addresses jupyter-server#1414 by allowing Jupyter web applications to query
for the existence of other Jupyter web applications.
Note
By "apps" I mean standalone web applications e.g. Jupyter Lab and NbClassic. Things that have their own root endpoint e.g.
/lab
. I am not talking about:Hi 👋,
Jupyter Server extensions can use the framework and services provided by Jupyter Server to create apps and services.
You can have multiple extensions providing multiple apps on the same server simultaneously, with each app sitting behind its own root endpoint (e.g.
/lab
).When you start Jupyter Server e.g. via the command line or Jupyter Hub, your web browser will open to the root URL of a particular app (e.g.
<jupyter-server-root-url>/lab
). Which app you get is determined by the command used to launch the server and the Jupyter configuration.Problem
If you are using Jupyter Server to serve a single app, it's straight forward to access the app, launch the server and you're there.
If you are using Jupyter Server to serve multiple apps, then to switch between them, you must edit the URL e.g. by changing
/lab/.*
with/myextension
. This is a bit cumbersome:Proposed Solution
It would be great if there was a standardish UI feature (e.g. a menu bar), implemented in extension apps that listed available apps and allowed you to switch app (i.e. change the URL) or open another app in a new browser tab.
This would require:
Additional context
Does this make sense to you? Are their any existing APIs that might help? Is there a better way to go about this?
Running JupyterLab alongside the Cylc UI cylc/cylc-uiserver#298 (comment)
The text was updated successfully, but these errors were encountered: