[Kolab-devel] Conflict Resolution, another try
Christian Mollekopf
mollekopf at kolabsys.com
Tue Jun 5 14:22:57 CEST 2012
Hey,
I went through conflict resolution again. The resulting system is unfortunately
not entierly trivial, but implementable IMO and not unecessarily complex.
http://wiki.kolab.org/Conflict_Resolution#Kolab_IMAP_Conflict_Resolution
The system is built around the assumption that it is impossible to avoid
conflicts on the server (which it is with IMAP AFAIK).
For this reason:
* There is always only a single valid object instance of a single kolab
object, which can be identified by the procedure here:
http://wiki.kolab.org/Conflict_Resolution#Identifying_the_valid_object_instance
* Writing clients must check that they didn't create a conflict, by ensuring
their written object became a valid object according to the procedure above.
For clients to be able to identify their own written version,
http://wiki.kolab.org/Conflict_Resolution#X-Kolab-Version-UID was introduced.
While X-Kolab-Version-UID is currently stored as a MIME-Header, I think it
should rather go to the XML object, as noted in the wiki.
I think the primary question for now is if you approve of the need of X-Kolab-
Version-UID, in which case I would make it part of KEP 17 and generate it when
writing an object using libkolabxml.
I would then probalby also start a proof of concept implementation of the
identification process.
And please tell me if parts are not understandable in the wiki, I realize it's
sometimes complex and found it hard to write that stuff down in a
comprehensible way.
Cheers,
Christian
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: This is a digitally signed message part.
URL: <http://lists.kolab.org/pipermail/devel/attachments/20120605/4c13a9fc/attachment.sig>
More information about the devel
mailing list