Hi Everyone
The idea of realtime collaboration, and the thought of it being implemented on MediaWiki based sites has amazed me ever since I read about it in the strategic proposal about Realtime collaboration here[1]. I really wanted to work on it as my GSoC project and through some fruitful amount of discussions with devs on IRC, this has got me all the more excited about it.
With the way, Visual Editor has been fundamentally constructed, it should support effectively building realtime collaboration over it. The combination of its transactions and annotations provides a structure that is similar to what is implemented in Google Wave. Operational Transformation and composition concepts as used by Google Wave can be put in action on Visual Editor to consolidate the concurrent operations and prevent conflicts.
The project should include implementing a collaboration server(built on Node.js), which would serve to the connected clients the wiki page content in form of a DOM structure and receive the editor transactions from the clients, transform them against the converging document state and broadcast them to the other clients. A client adapter would be built which would hook into the editor's transaction system and transmit them to the server.
With the help of suggestions by Trevor and Gabriel, I've been able to start some work on this idea. I've wireframed a raw collaboration server and the client adapter, which works by naively communicating the transactions among the clients via the server. I'm now working on implementing some sort of concurrency control on the transactions. All my experimentation work lives in my GitHub repository[2].
Inviting feedback. Thank you.
Links: [1] - http://strategy.wikimedia.org/wiki/Proposal:Collaborative_Google_Wave-based_... [2] - https://github.com/dash1291/VE-collaboration
More: http://www.mediawiki.org/wiki/Future/Real-time_collaboration http://www.mediawiki.org/wiki/Visual_editor/Realtime_collaboration
Am 19.02.2012 14:20, schrieb Ashish Dubey:
Hi Everyone
The idea of realtime collaboration,
use Etherpad Lite See https://www.mediawiki.org/wiki/Extension:EtherpadLite
Hi Thomas, thanks for the reply.
Great work with the Etherpad Lite. It can be used to bring realtime editing on wiki pages now, but I think building realtime collaboration into the Visual Editor project has its own set of advantages. As the Visual Editor evolves it will support more features of a wiki page, more input methods and language support. If realtime collaboration is built as a part of Visual Editor, the features of Visual Editor can be used directly while collaborating which otherwise would require patching Etherpad forks every now and then for some feature that is very much Wikimedia-ish.
On Sun, Feb 19, 2012 at 6:52 PM, Thomas Gries mail@tgries.de wrote:
Am 19.02.2012 14:20, schrieb Ashish Dubey:
Hi Everyone
The idea of realtime collaboration,
use Etherpad Lite See https://www.mediawiki.org/wiki/Extension:EtherpadLite
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
No, that's not the answer. On Feb 19, 2012 8:22 AM, "Thomas Gries" mail@tgries.de wrote:
Am 19.02.2012 14:20, schrieb Ashish Dubey:
Hi Everyone
The idea of realtime collaboration,
use Etherpad Lite See https://www.mediawiki.org/wiki/Extension:EtherpadLite
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
Are you confident you would be able to complete it in time? Looks too ambitious to me.
Hi Platonides
You're right on the fact that its ambitious. And this is the reason I've started working early on this. The key part in the project to me would be to consolidate the concurrent transactions and avoid conflicts. I've been reading considerably on measures to do so, perhaps working to model basic concurrency control. Given, that I'm able to do so now, which I hope I will be, there should not be much problem prototyping the real thing.
On Mon, Feb 20, 2012 at 12:04 AM, Platonides Platonides@gmail.com wrote:
Are you confident you would be able to complete it in time? Looks too ambitious to me.
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
I would be willing to mentor this project pending some further review so that we could scope it correctly.
- Trevor
On Sun, Feb 19, 2012 at 10:38 AM, Ashish Dubey ashish.dubey91@gmail.comwrote:
Hi Platonides
You're right on the fact that its ambitious. And this is the reason I've started working early on this. The key part in the project to me would be to consolidate the concurrent transactions and avoid conflicts. I've been reading considerably on measures to do so, perhaps working to model basic concurrency control. Given, that I'm able to do so now, which I hope I will be, there should not be much problem prototyping the real thing.
On Mon, Feb 20, 2012 at 12:04 AM, Platonides Platonides@gmail.com wrote:
Are you confident you would be able to complete it in time? Looks too ambitious to me.
Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
-- Ashish Dubey _______________________________________________ Wikitech-l mailing list Wikitech-l@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/wikitech-l
wikitech-l@lists.wikimedia.org