Here is some theory I seem to remember about collaborative editing...
There are two main problems beyond the basic getting info to people.
The first is when more than one person is working on the same part of
the document at once. I think there were three possible solutions to
this:
1. Have paragraph/line/section level locking, with only one person
allowed to work on this at once.
2. Try to do merges, similar to in a source control system
3. Have the latest person (or whatever) to submit the part (normally
word, line or sentence) either overwrite or not be allowed to change
something if someone else already has.
The other problem is undo, to which I personally prefer having a
changes stack for the document (similar to track changes...) which
people can revert to an older version. This can be used along with
local undo which simply propagates the change back to the server as if
it were a fresh change.
For the first problem, some combination of either rejecting altogether
or a really simple choice for the second person is presented as to
which edit to stick with in the end.