Bug 79721 - collaborative editing over a network
Summary: collaborative editing over a network
Status: RESOLVED FIXED
Alias: None
Product: kate
Classification: Applications
Component: general (show other bugs)
Version: 2.2.1
Platform: unspecified Linux
: NOR wishlist
Target Milestone: ---
Assignee: KWrite Developers
URL:
Keywords:
: 149498 (view as bug list)
Depends on:
Blocks:
 
Reported: 2004-04-16 00:25 UTC by Rene Horn
Modified: 2013-11-17 22:17 UTC (History)
6 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments
MateEdit screenshot (60.35 KB, image/jpeg)
2004-12-08 09:16 UTC, Andreas Ramm
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Rene Horn 2004-04-16 00:25:56 UTC
Version:           2.2.1 (using KDE 3.2.1,  (testing/unstable))
Compiler:          gcc version 3.3.3 (Debian)
OS:          Linux (i686) release 2.6.3

I think it would be nice to be able to collaboratively and synchronously edit a file with other people over a network.  Such a feature would need to have some form of coloring so each user could see the changes made by the other users.  It should also have a chat window so they could discuss their work.  If it's put into Kate, then anything that uses the Kate-part could use the feature.
Comment 1 Anders Lund 2004-04-16 10:36:26 UTC
Are you thinking hydra? ( http://hydra.globalse.org/ )
We need a working zeroconf implementation, and a system for highlihgting the text. The highlighting is probably on the way with the "katesuperrange", but i don't know of a suitable zeroconf library yet.

But it sure would be nice :)
Comment 2 Rene Horn 2004-05-02 12:42:38 UTC
I was thinking of Hydra/SubEthaEdit, actually.

This wouldn't need zeroconf, not for the way I was thinking.  This would be simpler than what SubEthaEdit does.  I was thinking that the one person would run a server with the documents open (with a particular port open), and the other people who wanted help would just connect to that person's server by typing in the IP address/domain name.

Actually, what would make it cool is if this were integrated with Kopete, and you could find other people's computer through your Kopete contact list, and chat over that.
Comment 3 Kostko 2004-07-10 13:54:57 UTC
I would also like to see this feature. And if it could support ZeroConf that would be even better. A great library that implements ZeroConf is Howl (http://www.porchdogsoft.com/products/howl/). 

Integration with Kopete would be also very usefull, since ZeroConf is only used on LAN and this way, you could collaborate trough the net. If this is implemented in Kate, such features should be used also by KDevelop for collaborative development.
Comment 4 Iraklis Evangelinos 2004-11-30 21:28:45 UTC
*** This bug has been confirmed by popular vote. ***
Comment 5 Jakub Stachowski 2004-12-06 17:50:25 UTC
Well, now there is ZeroConf library in kdelibs so first requirement is cleared.
Comment 6 Andreas Ramm 2004-12-08 09:16:52 UTC
Created attachment 8577 [details]
MateEdit screenshot

I already created a little collaborative KDE editor called MateEdit. Eventually
I think it should feature Kopete integration, Zeroconf, encryption and the
ability to use it as a Kate plugin. Attached is a screenshot to give people an
idea of what it looks like. I'll make the source available hopefully before
Christmas after cleaning up the code a bit. Anyone interested in helping can of
course contact me before that.
Comment 7 Andreas Ramm 2005-01-24 21:54:48 UTC
The initial release of MateEdit is available for download now from http://www.kde-apps.org/content/show.php?content=19830
Comment 8 Sander Devrieze 2006-03-22 14:06:36 UTC
I just read this extremely interesting blog post about someone who is coding a plugin for AbiWord. There also is a nice video showing the plugin in action.
http://uwog.net/blog/?p=29

Some possible use cases (via KPart):
* Collaborative editing a LaTeX source file in Kile.
* Collaborative editing website HTML in Quanta.
* Collaborative coding in Kdevelop.
Comment 9 Sander Devrieze 2006-03-22 14:19:36 UTC
See also Bug 86733 for more interesting URLs.
Comment 10 Mario Palomo 2006-04-26 22:54:48 UTC
Maybe we can colaborate with Gobby (they have a library and a front-end for GNOME):

http://darcs.0x539.de/trac/obby/cgi-bin/trac.cgi

Comment 11 Victor Grishchenko 2008-04-06 11:26:13 UTC
Hi!
I was googling for recent developments in real-time collaborative editors when I stumbled across this bug. As I am a KDE user (and I even contributed some minor Kate patches circa 2002) let me share some considerations.

First, real-time collaborative editing of a plain text is **hell damn easy**. Especially if you do not stick with obsolete positional operational transformation schemes or the diff/patch scheme that is obviously ill-suited for real-time char-by-char change propagation.
Post-OT schemes let you decompose a document into a feed of atoms so any text modification turns into a sequence of removals/insertions and the sequence turns into the feed's append operation. A document could be recovered from such a feed by quite basic algorithms.

Second, here is a small anarchist cookbook. You'll need:
1) a kioslave that supports append/read-tail operations
2) a place in the code that could do the following things:
 2.a) listening to user edits (in terms of text interval added/text interval removed)
 2.b) sending (appending) serialized edits to the kioslave
 2.x) checking the kioslave for new data (tail) and reading it
 2.y) modifying the text (inserting/removing) and emitting signals so the GUI reflects the changes.
The general scheme of interactions is quite clear (or not?). I browsed through kdelibs sources; it seemingly has some good spots to insert the code (you know better anyway).
Then - BANG! - the world is free and everybody is happy.

Seriously, check the paper at http://oc-co.org/articles/broth5.pdf
I also have some sample code to share; and I am always glad to collaborate.

   Yours,

                 Victor Grishchenko
                 victor.grishchenko@gmail.com
Comment 12 Constantin Berzan 2009-03-18 23:12:42 UTC
Gregory Haynes is working on a project to provide functionality similar to Gobby with Qt/KDE:

http://kobby.greghaynes.net/
Comment 13 dereine 2011-05-21 19:40:50 UTC
There was a gsoc project see http://kobby.greghaynes.net/
Comment 14 Christoph Cullmann 2012-10-25 23:05:03 UTC
Out of scope for Kate, use projects like Kobby.
Comment 15 Christoph Cullmann 2012-10-29 06:07:37 UTC
*** Bug 149498 has been marked as a duplicate of this bug. ***
Comment 16 Sven Brauch 2013-11-17 22:17:28 UTC
Ha! Closing this as fixed, the kte-collaborative plugin provides this functionality.