<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Aug 15, 2013 at 1:55 PM, Laine Markku <span dir="ltr"><<a href="mailto:markku.laine@aalto.fi" target="_blank">markku.laine@aalto.fi</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">What I am still missing is how to keep data in sync between collaborators. I ran into a couple of XEPs dealing with the issue, such as "XEP-0228: Requirements for Shared Editing" (<a href="http://xmpp.org/extensions/xep-0228.html" target="_blank">http://xmpp.org/extensions/xep-0228.html</a>), "XEP-0204: Collaborative Data Objects" (<a href="http://xmpp.org/extensions/xep-0204.html" target="_blank">http://xmpp.org/extensions/xep-0204.html</a>), and "XEP-0284: Shared XML Editing" (<a href="http://xmpp.org/extensions/xep-0284.html" target="_blank">http://xmpp.org/extensions/xep-0284.html</a>). Unfortunately, all of them have been deferred.<br>
<br>
Therefore, my question is what would be a recommended way to implement real-time collaborative editing of (XML) documents between XMPP clients? Preferably supporting Operational Transformation (OT, <a href="https://en.wikipedia.org/wiki/Operational_transformation" target="_blank">https://en.wikipedia.org/wiki/Operational_transformation</a>).<br>
</blockquote><div><br></div><div>Gosh, it must be nearly September already. :-)</div><div><br></div><div>So, first off - "Deferred" is a state roughly meaning "This is still experimental but people seem not to be working on it". Documents can be undeferred (um, "ferred"?) just by people submittign changed to them, so please don't let that put you off.</div>
<div><br></div><div>Next... SXE remains the best stab at this anyone's published, and it's probably at least comparable to the privately implemented protocols, too. My main concern with it was that document initialization substantially outweighed the document itself, and the general editing seemed astonishingly heavyweight. I recall it being described as "Post-OT"; I seem to remember it being largely geared around order-independent operations where possible.</div>
<div><br></div><div>There's at least one private spec geared toward whiteboarding in presentations that's worth examination I thought, though it's possibly best simply mined for the presentation aspects of it.</div>
<div><br></div><div>I suspect that SXE can largely be fixed (from my perspective) by having a more efficient initial document setup, but I also suspect that looking at distributed version control systems and modern XML diff/patch techniques might yield something rather more slim.</div>
<div><br></div><div>So I'm afraid the summary is that you're out on the bleeding edge, here - SXE may do what you need, or else you might want to go your own route. Either way, I'm sure there's plenty of people interested in your opinions.</div>
<div><br></div><div>Dave.</div><div><br></div><div>PS - I would personally consider a different XMPP server - Openfire didn't seem to be actively maintained last I looked, whereas Prosody, ejabberd, MongooseIM, M-Link, and Soapbox all have active developers.</div>
</div></div></div>