Tommaso Cucinotta wrote:
> For example:
> -) I know, cases will grow fast...

If you suffer from good sleep, then start considering these:
- User adds external material (graphics,biblio, whatever). Now what?
- User runs various lfuns (and there are tons of doc-changing lfuns, start with 
search/replace eg).
- User is in the middle of citation dialog, another user deletes this 
citation/paragraph. Now what?
- We do lot of iterator/referencing computations 
(sections,figures,citations,cross-refs)
  so change at single point of document has potential to break things at any 
distance
  (paragraph based locking is not much of help).

Even with the simplistic ACK-based protocol (no write before peer's ACK) I 
proposed
as a first attempt, which will avoid _lot_ of the problems but migh be not good
enough for latency reasons, we are IMHO already in nightmare. 

Maybe JMarc could have a comment here: how hard would it be to reuse Undo 
(actually Redo)
stuff? This machinery must be already slightly independent on the current 
cursor position, no?
Instead of sending lfuns between peers, we would send "redo" actions which 
already contain
cursor info.

Pavel

Reply via email to