[IPython-dev] IPEP 3: Multiuser support in the notebook

MinRK benjaminrk at gmail.com
Sun Sep 9 16:08:26 EDT 2012


On Sun, Sep 9, 2012 at 12:36 PM, Matthias BUSSONNIER <
bussonniermatthias at gmail.com> wrote:

> >
> > >
> > > I agree we need to think more about security, but that is really off
> > > topic for this IPEP (i.e., the same technical problems exist for the
> > > single user notebook).
> >
> > If you don't allow collaboration, then yes this is off topic.
> > As soon as you add collaboration with username and password, you have a
> risk of user stealing each other account.
> > We should think of it while building multi user account.
> >
> > Collaboration is hugely complex, and I think it warrants an entirely
> separate discussion.
> >
> > >
> > >> Implementation wide for live collaborating, we should redirect the
> message using cell ID, otherwise this is a huge problem to redirect IOPub
> to all clients.
> > >
> > > I am not quite following you here.  Don't all clients need to get all
> > > iopub messages?
> >
> > Yes they do.
> > But they don't now how to handle it.
> >
> > if I run Safari and Chrome on "notebook_a"
> > When I execute "1+1" on Safari, for cell 54, when iopub arrives on
> Chrome, it has no idea of what to do with it.
> > I think we should proxy :
> > Browser(s) ===>===> [execute+cell_id(+uuid ?)] ===>==> server strip
> cell_id (, add uuid) ? ==>==> kernel
> >
> > Browser(s) <===<==<===<===<===<==<===<===<=== server match uuid, append
> cell_id <==<=== kernel
> >
> > I don't think we want to do this.
>
> The problem I came across then she doing live collaboration, is others
> browsers not knowing for which cell iopub is meant.
>
> * Browser send execution request,
> * IOPub and answer came back.
> * current cell/output to json, tagged with cell id.
> * send to the server, that redispatch to other Clients browser.
>
> I thought this was inefficient, especially depending on how you want
> syncing to be fine grained, you had to resend at "every" received iopub
> messages.
>

Absolutely - resending *is* wasteful.  All frontends currently get all
input and output.  This means that to sync, you *do not* need to resend any
content, only IDs/locations, and the frontends can construct the elements
with the IDs, as they already have all of the content.


> --
> Matthias
>
>
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/ipython-dev/attachments/20120909/16753637/attachment.html>


More information about the IPython-dev mailing list