Enabling Real Time Collaboration
-
@jdaviescoates Thanks.
It's not clear to me what parameters can be changed in /app/data/customconfig.py
besidesc.Spawner.mem_limit
andc.DockerSpawner.container_image
.
I searched in https://jupyterhub.readthedocs.io/en/stable/search.html?q=collaborative but didn't find many clues.
I'll tryc.Spawner.cmd = 'jupyter-lab --collaborative'
but that'll be mostly guesswork -
@Camille I think the collaborative flag only works with BinderHub - https://github.com/jupyterhub/binderhub . With JupyterHub, I think https://github.com/jupyterhub/jupyterhub/issues/394 was the issue tracker task to fix this , but it didn't progress far.
Also, to pass extra args, use something like this in customconfig.py:
c.Spawner.environment = { 'NOTEBOOK_ARGS': '--collaborative' }
(this comes from https://github.com/jupyter/docker-stacks/blob/master/base-notebook/start-notebook.sh#L26 and https://github.com/jupyterhub/jupyterhub/blob/dcf21d53fd9e6c131a269550c0a46f08ca9df5bb/docs/source/reference/spawners.md#environment-variables-and-command-line-arguments
-
Reading https://github.com/jupyterhub/jupyterhub/issues/3578 and https://discourse.jupyter.org/t/jupyterhub-collaboration-and-tags/11259
it seems that collaborative flag would also work with JupyterHub.
It tried addingc.LabApp.collaborative = True
in customconfig.py with no luck.
I'll investigate more thouroughly later. -
So, from https://jupyter.org/binder , "BinderHub is a web application that allows users to create sharable, interactive, reproducible environments from code repositories" . Docs are here - https://binderhub.readthedocs.io/en/latest/ . There is says "BinderHub is a kubernetes-based cloud service that allows users to share reproducible interactive computing environments from code repositories." .
I think we need to understand how all this ties into this "token" for collaboration.
-
@girish Actually, I'm not really sure how we got there
I have installed the https://github.com/jupyterlab-contrib/jupyterlab-link-share extension, which kind of works, but we have to manually add the token to the URL it provides.
So maybe it enabled settings in the background.
I will try to redo it from a fresh install and keep you posted. -
Adding the following to
/app/data/customconfig.py
worked for me:c.Spawner.args = ['--collaborative']
You also need to run
/app/code/remove_notebook_containers.py
after making changes.For a list of parameters check out: https://jupyterhub.readthedocs.io/en/stable/api/spawner.html