Real-Time Collaboration (RTC) enables multiple users to work on the same notebook at the same. It is a highly requested feature, though it is also very complex to implement.
Initial Testing¶
It was previously tested in the Stat 159 hub during Spring '22, however, it corrupted notebooks and files and was disabled shortly after. It was also tried in the Data 100 hub in Summer '23, but a subset of users were periodically affected by RTC errors.
The jupyter_collaboration
developers are active and continue to fix outstanding issues, but sometimes certain behaviors only become evident when deploying at scale.
If you are interested in trying out the latest RTC-capabilities in your course for non-critical workflows, please request it.
Security Considerations¶
An RTC session is scoped to a user’s server, not a specific notebook. So if a user invites another to collaborate, the guest can modify all the files in the owner’s home directory. To address this, we can create shared “workgroup” accounts which only exists for students to share data and collaborate.
The feature is facilitated by sharing URLs generated by server extension. There is no method for the notebook owner to revoke the link, but they can stop the server, which makes the shared link invalid. Anyone in possession of the link can share it with anyone else. Users would have to be careful where they share links while that server is active since anyone on the internet could gain control.
Using RTC¶
When RTC is enabled, you can start collaborating with others by following the below steps.
Generate Link¶
Start your Jupyter server on the hub. Generate the shareable link to be shared with your collaborators:
- In the Menu bar, Click on the Share option (option next to Help).
- Select “Share Jupyter Server Link” which opens a prompt a the centre of the screen that shows an option to copy the shareable link.
- Select “Copy Link” option which copies the link to your clipboard
Share Link¶
Share this link with your collaborators. They will be able to access your notebooks immediately and make edits to the notebook in real-tim You can also see the cursors from other users with an anonymous username, a username that will disappear in a few seconds to make room for what is essential, the document’s content.
Learn More¶
- JupyterLab Real-Time collaboration
- Yjs - Technology underlying Jupyter collaboration feature