On Mi, 2011-06-15 at 14:02 +0200, Patrick Ohly wrote: > Hello! > > One of the problems that we have in SyncEvolution is the loss of > properties not supported by SyncML servers, like Google: > https://bugs.meego.com/show_bug.cgi?id=15029 > > For example, BDAY is not supported and gets lost in a round-trip sync > because the client doesn't know that the server didn't store the field. > That's because the Google server does not provide CtCap as part of its > DevInf. > > The attached patches address this problem by allowing a RemoteRule to > provide CtCap information. > > It's not currently in the branch used by SyncEvolution, but I need to > add something like it soon. Comments welcome. > > I'm a bit undecided whether the RemoteRule should provide a DevInf or > only CtCap. Right now, only CtCap is used and the rest is ignored, but > perhaps that might change someday?
Any comments about this patch and/or the approach? Thanks to Lukas' hint about the <updateallfields> option I continued testing. It almost works as intended, except for the chat information. They are defined as fields like this: <field name="AIM_HANDLE" array="yes" type="string" compare="conflict"/> <field name="AIM_SLOT" array="yes" type="string" compare="conflict"/> And in the profile: <property name="X-AIM" suppressempty="yes" rule="KDE"/> <property name="X-AIM" suppressempty="yes" rule="other"> <value field="AIM_HANDLE"/> <parameter name="X-EVOLUTION-UI-SLOT" positional="no" show="no" rule="HAVE-EVOLUTION-UI-SLOT"> <value field="AIM_SLOT"/> </parameter> </property> <property name="X-messaging/aim-All" suppressempty="yes" rule="KDE"> <value field="AIM_HANDLE"/> </property> The logic in our profile is this: when talking to KDE in the Akonadi backend, avoid using "X-AIM" and enable "X-messaging/aim-All" instead. When talking to a SyncML peer or Evolution, use "X-AIM". Now when parsing a CtCap which does not mentioned <Property><PropName>X-AIM</PropName></Property> at all, the engine concludes that: - AIM_HANDLE : AVAILABLE maxoccur=1, maxsize=0 (unlimited) - AIM_SLOT : n/a maxoccur=0, maxsize=0 (unlimited) The "AIM_HANDLE = AVAILABLE" is wrong here. I also tried it with the simpler profile: <property name="X-AIM" suppressempty="yes"> <value field="AIM_HANDLE"/> <parameter name="X-EVOLUTION-UI-SLOT" positional="no" show="no"> <value field="AIM_SLOT"/> </parameter> </property> Then it works. So apparently something in the rule parameter confuses the CtCap parser. Any idea? -- Best Regards, Patrick Ohly The content of this message is my personal opinion only and although I am an employee of Intel, the statements I make here in no way represent Intel's position on the issue, nor am I authorized to speak on behalf of Intel on this matter. _______________________________________________ os-libsynthesis mailing list os-libsynthesis@synthesis.ch http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis