what does "sharing an app" mean #449
Replies: 2 comments 2 replies
-
"sharing" is a complicated topic and means different things to different people. With both 'apps' and 'notebooks' there are at least 3 types of sharing.
Each of these has advantages and disadvantages and use cases when they are the most appropriate. Currently jhub-apps implements Option 1. Option 2 and 3 have been discussed and are on the long term roadmap but I'm not sure when we will get there. One of the complications with option 2 is you have to make sure all the artifacts that the shared notebook uses are available to the person it was shared to. i.e. if I use a dataset in my personal directory, the person I'm sharing it with won't have access to that dataset if it runs as their user etc. Currently, two options to achieve what you are trying to do are:
Finally, on the backend currently jhub-apps creates a "named" jupyterhub server that runs your app. This server can be started/stopped etc. You can take the same code and launch a new "named" jupyterhub server and then you would have two instances running. So currently, when someone uses a "shared" application, they are actually using the "named" jupyterhub server that has been created. If 5 people use it, they are all hitting the same running instance. Hope that helps. |
Beta Was this translation helpful? Give feedback.
-
Thanks for the follow-up !
OK, I understand the complexity of sharing whenever a notebook is not
self-contained, i.e. requires input data or other external resources.
What about the application state ? Is that shared as well ? If two
different users use the app simultaneously, will they see each other's
actions (widget state, visualization, etc.) ?
…--
...ich hab' noch einen Koffer in Berlin...
|
Beta Was this translation helpful? Give feedback.
-
Hello,
I have been looking for ways to share notebooks for a long time, and a few months ago discovered the
jhub-apps
project. Now I'm working through the process of setting up and configuring a jupyterhub instance such that even non-technical people can view and run the shared notebooks. I've run across #11, and now wonder whether I have fundamentally misunderstood howjhub-apps
works.I was expecting for apps to follow the typical (multi-user) unix philosophy, where users who have permissions to access (and run) an app would actually execute it, i.e. the process (and all associated resources) would be owned by that user. Therefore, multiple users would be able to run the app in parallel, without interfering with each other.
However, it doesn't look like that's how
jhub-apps
works. (I just bumped into the statement "All the shared apps, will always be running as the user who created the app", notably !)What does it mean to run the app ? Can there be multiple instances (processes) of the app at the same time ? Or does sharing imply the sharing of the application state as well ?
Thanks,
Beta Was this translation helpful? Give feedback.
All reactions