[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