Bug 207530 - [Collab] Cola - Real-Time Shared Editor does not support multi-character operations
Summary: [Collab] Cola - Real-Time Shared Editor does not support multi-character oper...
Status: RESOLVED FIXED
Alias: None
Product: ECF
Classification: RT
Component: ecf.cola (show other bugs)
Version: 1.2.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: 2.0.0   Edit
Assignee: Mustafa K. Isik CLA
QA Contact:
URL: http://wiki.eclipse.org/index.php/RT_...
Whiteboard:
Keywords: example
Depends on:
Blocks: 237169
  Show dependency tree
 
Reported: 2007-10-25 21:00 EDT by Mustafa K. Isik CLA
Modified: 2008-06-16 14:58 EDT (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mustafa K. Isik CLA 2007-10-25 21:00:11 EDT
Cola is operating on single character insertions and deletions as atomic modification units. 

It does not support the insertion of multiple characters (via the clipboard) at once. The same applies to other multi-character operations such as deletion of text > single character by for instance marking a section of text and hitting "Delete/Backspace".

If an editing session participant executes an unsupported modification of this kind on her/his local document, remote sites discard the modification upon receipt - essentially resulting in documents being out-of-sync.

Cola should be extended/adapted to allow for insertions and deletions of texts greater than a single character in length.
Comment 1 Scott Lewis CLA 2008-05-23 16:15:09 EDT
changing target milestone
Comment 2 Jeremy Raymond CLA 2008-05-25 17:02:12 EDT
A proper Real-Time Shared Editor would be of great use to my team. Really hope this one gets fixed soon.
Comment 3 Mustafa K. Isik CLA 2008-05-27 07:11:50 EDT
Jeremy,

I am working on this right now. 

I'd love to hear more about your specific use case for shared editing ...
Comment 4 Jeremy Raymond CLA 2008-05-27 08:17:01 EDT
Our main use case for the shared editor is for paired programming. We want to be able to do paired programming but have each developer sit at their own desk and for both users to be able to work on the same file at the same time. If both developers can be typing at the keyboard it can in crease productivity instead of only one of the two developers doing the typing.

We also want to use the shared editor when providing support to other teams within our organization and people on our own team. We want someone having problems with a particular bit of code be able to share the editor with someone who's more knowledgeable and to be able to help them through the tough bits.

Also for training more junior developers, we can pair a more experienced person with a less experienced one and they can work together via the shared editors.

I can't recall, but are you able to share the editor with more than one other person at a time? It'd be useful if you could share with multiple people for doing things like code reviews.

What'd be really cool is if you could share an entire project or workspace with other people so that you could do things like Open Declarations and navigate multiple source files to do true paired programming.

We've looked at other solutions that do this kind of thing (n-brain) but we really don't want to move away from Eclipse.
Comment 5 Scott Lewis CLA 2008-05-29 15:37:56 EDT
Changed to new ecf.cola component.
Comment 6 Scott Lewis CLA 2008-06-12 00:50:57 EDT
Committed additions and changes on behalf of Mustafa Isik to address this bug...to HEAD and Release_2_0.

Comment 7 Mustafa K. Isik CLA 2008-06-16 14:16:09 EDT
Fixed. A document, such as a source file, can be shared between two participants and edited simultaneously. The cola real-time shared editing mechanism resolves conflicts that arise from messages crossing on the wire, leaving a consistent document state at both sites. Message payloads can be multi-character insertions, deletions and replacements.

Is available as of ECF 2.0.0 RC5 - look for DocShare and Cola.
Comment 8 Scott Lewis CLA 2008-06-16 14:58:48 EDT
(In reply to comment #7)
> Fixed. A document, such as a source file, can be shared between two
> participants and edited simultaneously. The cola real-time shared editing
> mechanism resolves conflicts that arise from messages crossing on the wire,
> leaving a consistent document state at both sites. Message payloads can be
> multi-character insertions, deletions and replacements.
> 
> Is available as of ECF 2.0.0 RC5 - look for DocShare and Cola.
> 

This change has been applied to HEAD (2.1) as well as Release_2_0.  As Mustafa says in previous comment, this change will be in ECF 2.0.0 RC5 (for distribution 6/17/2008), and in all subsequent builds/RCD and releases.

Note:  Due to bug #237269, ECF RC5 is *not* backward compatible with previous 2.0.0milestones/RCs.