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

Matthias BUSSONNIER bussonniermatthias at gmail.com
Sun Sep 9 15:36:58 EDT 2012

> >
> > 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.

More information about the IPython-dev mailing list