On Fri, 2014-04-11 at 16:52 +0200, Patrick Ohly wrote:
[<property name="UID" rule="HAVE-VCARD-UID"> shows up in CtCap]
> Could it be a bug that the disable property shows up in the CtCap?
> 
> Darn, probably a circular dependency again: we have to be ready to send
> CtCap before we know the peer, so the rule mechanism (which depends on
> knowing the peer) can't be used to influence the CtCap. Right?

A closer look at the CtCap seems to confirm that. For example,
SyncEvolution knows that KDE uses X-KADDRESSBOOK-X-Profession instead of
ROLE, so it has:

        <!-- X-KADDRESSBOOK-X-Profession property for KDE, ROLE for everyone 
else -->
        <property name="ROLE" rule="KDE"/>
        <property name="ROLE" rule="other">
          <value field="ROLE"/>
        </property>
        <property name="X-KADDRESSBOOK-X-Profession" suppressempty="yes" 
show="no" rule="KDE">
          <value field="ROLE"/>
        </property>

This is a somewhat convoluted way of saying that vCard ROLE is not
active for KDE (no "value" specied) and that X-KADDRESSBOOK-X-Profession
is to be used instead.

In the CtCap, both properties show up:

<Property><PropName>ROLE</PropName><MaxOccur>1</MaxOccur></Property>
<Property><PropName>X-KADDRESSBOOK-X-Profession</PropName><MaxOccur>1</MaxOccur></Property>

This means that I can't put properties that are never meant to be sent
over SyncML into the profile used for syncing. I need to maintain a
separate profile with UID enabled that gets used for 
MAKETEXTWITHPROFILE/PARSETEXTWITHPROFILE.

I wonder whether it makes sense to have X-KADDRESSBOOK-X-Profession
appear in the CtCap. Probably not, because SyncEvolution will not use it
during syncing, only during storing in the datastore. I probably need to
change the way how SyncEvolution adapts the main profile for specific
storages: instead of setting rules in MAKETEXTWITHPROFILE or
PARSETEXTWITHPROFILE, it needs to do its own custom pre-processing to
turn the main profile into a "KDE" profile or an "EDS" profile.

-- 
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

Reply via email to