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
[email protected]
http://lists.synthesis.ch/mailman/listinfo/os-libsynthesis