[IPython-dev] IPEP 3: Multiuser support in the notebook
Matthias BUSSONNIER
bussonniermatthias at gmail.com
Mon Sep 10 12:49:34 EDT 2012
Le 9 sept. 2012 à 22:13, Brian Granger a écrit :
>>> 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.
>
> OK I am following you now and agree that this is not very efficient.
>
> There is also the issue of how to handle long running cells where a
> user closes the notebook and then the result returns over iopub.
> Currently any output that is not loaded into an open notebook is lost.
> We do need something on the server side that *always* has the full
> state of the notebook document. My thought for this is that the part
> of the server that handles live collaboration and saves, should
> subscribe to iopub should put the data into the notebook document and
> then broadcast it to clients. If we move in that direction, the
> notebook would no longer monitor iopub directly, but would instead
> monitor diffs coming from the server. But again, these are huge
> issues that we need to discuss in a IPEP on the topics.
I think you still will have to send some patches from browser to server as some js extension might do stuff to output.
>
> I think we will have to learn about Operational Transforms (used by
> Google Docs and Wave). ShareJS is an interesting start:
>
> http://sharejs.org/
This is cool !
But this will be quite difficult to integrate IMHO,
we might really need a more MVC model for the notebook.
--
Matthias
More information about the IPython-dev
mailing list