On Thu, 2009-06-25 at 11:34 -0700, Lukas Zeller wrote:
> Hi Patrick,
> 
> On Jun 25, 2009, at 18:39 , Patrick Ohly wrote:
> 
> > Better pull "master" from moblin.org. I didn't mean to push into
> > indefero and the copy there might be older.
> >
> > Hmm, I'm trying to use the new expat header check and it fails on
> > Moblin. HAVE_EXPAT is not set although it should. Better hold of  
> > merging
> > this.
> 
> Just let me know when you think it's ok.

There's a fix on the "master" branch now which worked when I tested it.

> >> You are referring to the case where you'd have 2 or more remote rules
> >> (say: A,B,C) and would need to express NOT A AND NOT B AND NOT C?
> >
> > Yes.
> >
> >> On a second thought, I think the negation is not necessary. Just
> >> insert a catch-all rule at the beginning of the remote rule list with
> >> only <finalrule>no</finalrule> in it. Then you can relate the X-
> >> MANAGER to this rule instead of needing a NOT.
> >
> > Sorry, I don't follow here. Can you give an example?
> 
> If I understood the problem correctly, what you want is X-MANAGER only  
> to show up in the sync case, but not the "EVOLUTION" case.

Not quite. There might be another DB backend, say for KDE, which
activates the "KDE" remote rule but like the sync side wants the default
X-MANAGER property.

> So you need a rule that is active during sync data generation. This is  
> why I suggested a rule that is always active in sync, e.g. named  
> "sync". You can then make the X-MANAGER property depend on "sync":
> 
>         <property name="X-MANAGER" suppressempty="yes" rule="sync">
>           <value field="MANAGER" show="yes"/>
>         </property>
> 
> This way, it will be active in "sync", and inactive in "EVOLUTION" case.

It will also be inactive in the KDE case, won't it?

This is my current solution:
        <property name="X-MANAGER" rule="EVOLUTION"/> <!-- disables the 
X-MANAGER for EVOLUTION -->
        <property name="X-MANAGER" suppressempty="yes" rule="other">
          <value field="MANAGER" show="yes"/>
        </property>

With X-MANAGER + rule="sync" I would have to use:
        <property name="X-MANAGER" suppressempty="yes" rule="sync">
           <value field="MANAGER" show="yes"/>
        </property>
        <property name="X-MANAGER" suppressempty="yes" rule="KDE">
           <value field="MANAGER" show="yes"/>
        </property>

This duplicates the (possibly more complex) content of the property.

If both KDE and EVOLUTION don't want X-MANAGER, the current solution is:
        <property name="X-MANAGER" rule="EVOLUTION"/>
        <property name="X-MANAGER" rule="KDE"/>
        <property name="X-MANAGER" suppressempty="yes" rule="other">
          <value field="MANAGER" show="yes"/>
        </property>

IMHO this is okay.

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


_______________________________________________
SyncEvolution mailing list
SyncEvolution@moblin.org
https://lists.moblin.org/mailman/listinfo/syncevolution

Reply via email to