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

Reply via email to