<br><br><div class="gmail_quote">On Sun, Sep 9, 2012 at 12:36 PM, Matthias BUSSONNIER <span dir="ltr">&lt;<a href="mailto:bussonniermatthias@gmail.com" target="_blank">bussonniermatthias@gmail.com</a>&gt;</span> wrote:<br>

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

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5">--<br>
Matthias<br>
<br>
<br>
_______________________________________________<br>
IPython-dev mailing list<br>
<a href="mailto:IPython-dev@scipy.org">IPython-dev@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/ipython-dev" target="_blank">http://mail.scipy.org/mailman/listinfo/ipython-dev</a><br>
</div></div></blockquote></div><br>