jupyterlab / jupyterlab

JupyterLab computational environment.
https://jupyterlab.readthedocs.io/
Other
14.19k stars 3.39k forks source link

Share link button #10560

Open hbcarlos opened 3 years ago

hbcarlos commented 3 years ago

Regarding RTC, there is no button to copy the link and share it with other users, and as pointed out here, https://github.com/jupyterlab/jupyterlab/pull/10547#issuecomment-874979416, some users may find it confusing.

How users should access the link to share the session? Should they install the jupyterlab-link-share extension? Should it be moved into the core? See #5382 (comment) (I think it is a common question).

There is already a "Copy Shareable Link" entry on the context menu. But, when copying the link, this doesn't contain the token as the jupyterlab-link-share extension.

share-link

Problem

The idea would be to add the token to the copied link, but I'm unsure when this entry was introduced if it was from previous attempts for real-time collaboration or is used for something else.

Proposed Solution

The idea would be to add the token to the copied link.

Additional context

fcollonval commented 3 years ago

There may be a conflict for Hub system in which that command is expected to return a link to a file to open it from a different user server.

hbcarlos commented 3 years ago

Thanks, Frédéric!

If we add a new button, this might not be very clear for some users. Maybe the best idea, for now, is to tell users to use this link for collaboration but sending the token apart.

jtpio commented 3 years ago

There may be a conflict for Hub system in which that command is expected to return a link to a file to open it from a different user server.

This was somehow the case for the jupyterlab-link-share extension, which used to get the token from the PageConfig directly.

But on the JupyterLab dev Binder there are actually two servers running: the front facing notebook server handling the authentication with the token, and the JupyterLab server running via jupyter-server-proxy. Linking to https://github.com/jupyterlab-contrib/jupyterlab-link-share/issues/1 and https://github.com/jupyterlab-contrib/jupyterlab-link-share/pull/4 for more info.

hbcarlos commented 3 years ago

Should we point users to jupyterlab-link-share extension in the documentation for Real-Time Collaboration or add it to lab core, as commented by @krassowski here https://github.com/jupyterlab/jupyterlab/pull/10547#issuecomment-874979416?

jtpio commented 3 years ago

Maybe we can indeed mention the jupyterlab-link-share extension as a way to share access to the same instance?

Not sure about moving it to core, as folks have many different ways of operating and running Jupyter Server instances (fixed password, no password), and it might be better to let them choose.

fcollonval commented 3 years ago

Small thought, once access control policy will be in. The workflow to share a document will need at least a two step process:

mriedem commented 3 years ago

Any thoughts on at least renaming that Copy Shareable Link label to be less confusing about what it does, maybe something like Copy Bookmark Link, Copy Direct Link or something like that. "Shareable" implies I can hand it to another user and they can access it but that's not the case.

jasongrout commented 3 years ago

I agree it would be nice if the name indicated what it did, not necessarily what its intended use was.

We currently have:

A. "Copy Download Link" -> gives you a link that will open the file in your browser, which will download it if the browser does not understand it, otherwise will just open the file directly in a browser tab B. "Copy Path" -> Copies the local path, rooted at the server path C. "Copy Shareable Link" -> Copies a link that will open the file in a new JupyterLab tab

I'm glad you brainstormed some possibilities. "Copy Direct Link" sounds to me more like A above (in fact, I think "Direct Link" is probably more descriptive than "Download Link", since sometimes the file won't be downloaded, like a text or html file). Copy Bookmark Link introduces the notion of bookmarks, which we haven't used anywhere else.

How do we say "copy a link that will open this file in a new JupyterLab tab"? Perhaps we can just use "Copy Link", since opening a file in JupyterLab is sort of the default "link" action (e.g., if you make a link to a local file in a markdown document, clicking on the link by default opens the file in JupyterLab)?

raulotaolea commented 3 years ago

I like Copy Link, it is more accurate. And it removes the shareable word what I think is the reason why it is confusing.

tjelvar-olsson commented 3 years ago

Is there a reason why the URL generated by this button does not make use of the user-redirect scheme?

https://jupyterhub.readthedocs.io/en/stable/reference/urls.html#user-redirect

From my experience of working with a multi user JupyterHub setup this does the trick as long as all users have access to the same shared storage.

fcollonval commented 3 years ago

Is there a reason why the URL generated by this button does not make use of the user-redirect scheme?

FYI This was reported in #10369 and fixed (on master) in #11011