pangeo-data / jupyter-earth

Jupyter meets the Earth: combining research use cases in geosciences with technical developments within the Jupyter and Pangeo ecosystems.
https://jupytearth.org
Creative Commons Zero v1.0 Universal
29 stars 6 forks source link

Helping JupyterHub users connect with associated docs? #22

Open consideRatio opened 3 years ago

consideRatio commented 3 years ago

@choldgraf considered the common need for a JupyterHub administrator to help connect its users with documentation or relevance to them, and how it would be great if that connection could be done from the JupyterHub deployment itself. In this issue I brainstorm a bit about that aiming to translate this into a concrete smaller project that can be helpful.

A goal definition

Help users of a JupyterHub find their way to "the official documentation" which is supposed to be made available.

JupyterHub UI update

When visiting a JupyterHub, there are a very limited amount of pages that are controlled by JupyterHub itself, but, could in practice be manipulated to recommend users to visit the official associated documentation.

/hub/login There is the /hub/login page which sometimes just contain a orange button. This page is often bypassed by configuring c.JupyterHub.auto_login = True I believe though.

/hub/spawn There is the /hub/spawn page where you typically choose from some kind of environment before starting your user server which could also be modified to reference the documentation

On modifying the JupyterHub UI If we want to help users modify the JupyterHub UI on this level, I think it will lead to documentation rather than an extension of some kind. Installing a JupyterLab extension or similar would be far easier.

JupyterLab UI update

If a user of a JupyterHub has arrived to their own user environment, I believe it is very doable to create something user friendly to help users find their way to relevant documentation by doing something like the JupyterLab Tour extension https://github.com/fcollonval/jupyterlab-tour. It could be as simple as adding a button or a menu item to link out to relevant docs.

To consider this very concretely, I imagine a JupyterLab extension installable as a python package, that would add a button to the documentation if it found certain configuration in an environment variable or configuration file perhaps.

Import to JupyterHub from jupyter-book / Export from jupyter-book to JupyterHub?

Assume that we have a jupyter-book documentation associated with a JupyterHub deployment. Assume also that it contains notebooks that are demonstrating things that should be runnable examples in the JuptyerHub environment. Wouldn't it be nice if the user could easily try those out in the JupyterHub environment? Can we make jupyter-book export its notebooks easily somehow and/or can we make the JupyterHub / JupyterLab import the jupyter-book associated notebooks to help the user try the examples out?

I'm not sure how this would be done, but I figure the simplest idea is to help notebook examples presented in a jupyter-book be able to come with some download link associated with them, or perhaps if the jupyter-book could be made to assume a JupyterHub server is run in tandem with it and that it has nbgitpuller installed, and thereby provide a nbgitpuller link for the associated JupyterHub?

consideRatio commented 3 years ago

Wanted outcome

To decide on something that can make sense to develop or document.

@georgianaelena @yuvipanda I'd love to hear what you think or have a brief chat about this at some point. I have personally always felt the need to somehow also communicate to users some basic info along with deploying a JupyterHub, so what would be a sensible practice to connect users with documentation associated with a JupyterHub?


Copied some notes written by @choldgraf on Slack below.

I think that making it easy to put little UI links to the docs would be helpful...I think that's also where having documentation for how JupyterHubs can easily put documentation at docs.myjupyterhub.org can help lower the cognitive barrier

even if docs.myjupterhub.org just points you to another website

we can also try to coordinate a bit with @georgianaelena and @YuviPanda to spread out development ideas since I think all the 2i2c hub work will be almost totally aligned with Pangeo stuff

would it be helpful to have a brainstorm to try and sharpen the scope a bit towards some specific things? I find that it is helpful to have, say, 1-month goals to work towards to help me prioritize my time and such

btw - I think Ryan's book is a neat example of the kinds of stuff I'm thinking about...see here for example: https://earth-env-data-science.github.io/assignments/basic_pandas.html

he's got an interact link at the top that points to an AWS Pangeo hub

and will pull in the notebook for that Jupyter Book page into the user's own filesystem

another example for inspiration is the JupyterLab binder: https://mybinder.org/v2/gh/jupyterlab/jupyterlab-demo/master?urlpath=lab/tree/demo

that opens up JupyterLab with a side-by-side window w/ a notebook on the left and an IFrame of the JupyterLab documentation on the right!