What is User-initiated sharing ?
It is a mechanism allowing users to share access to their Jupyter server with other users via the Jupyterhub user sharing API.
EOSC Notebooks provide you this feature via user sharing menu.
Warning !
By allowing other users to access your server, you also allow them to access some internal things present on your Jupyter server, namely:
- your OIDC access token
- your ownCloud mount
Where can I find user sharing menu ?
The user sharing menu can be opened from the top bar menu by clicking on User sharing -> Open user sharing menu
How do I invite other users to my server via user sharing menu ?
With the user sharing menu window opened, you can now generate invite links and share them with other users.
Warning !
- Each link is valid only 1 hour
- The link can be used by multiple users to get an access to your server
- Only users registered in EOSC EU Node can access your server
- Once all users you want to share access with are connected to your server,
you can revoke the validity of the generated link by clicking on the button Revoke all share links
Once the invited user has accepted an invitation and authorized access, you can start collaborating on the same server.
How can I see who has access to my server ?
You can see IDs of all users who accepted your invitation and time when they did it by clicking on
Refresh button or closing and opening the user sharing menu window.
How do I revoke access to my server ?
By clicking on the corresponding Revoke button to revoke access for a concrete user or by clicking on Revoke All users to revoke access for all users.
Warning !
- Even after revoking, invited users can still be on your running server for some time before the Jupyter server prevents them from more access.
Therefore, if you wish to see changes immediately, you have to open the topbar menu File -> Hub Control Panel and then stop your server. - Also remember that generated invitation links can still be used to get access to your server until they expire or you revoke them.
How long does user access to my server last ?
Other users access will last until you stop your server. At the start of each new session, all granted access should be revoked.
Warning !
However, it is advised to check the user sharing menu if all access was revoked because it can happen that granted access
will still be there due to not properly closing Jupyter session windows.
What is Real-time collaboration ?
Real-time collaboration(RTC) allows you to leverage the power of user-initiated sharing to see each other's edits in real time.
How do I enable RTC ?
To enable RTC, you first have to open a terminal tab
Then you have to execute 2 commands to enable RTC extensions:
- jupyter labextension enable @jupyter/docprovider-extension
- jupyter labextension enable @jupyter/collaboration-extension
Warning!
You can also disable RTC the same way via 2 commands:
- jupyter labextension disable @jupyter/docprovider-extension
- jupyter labextension disable @jupyter/collaboration-extension
But disabling RTC extension wlll not revoke access to your server. You have to use the user sharing menu for that.
Once you enabled the extensions, you need to refresh your browser tab to see changes.
When you do, you can verify your Jupyter server is in RTC mode by checking the Launcher menu.
You should be able to see RTC: tag :
You should also be able your RTC icon at the top right corner.
Now you can see users collaborating with you on your server, files they are working on and their edit in real time.