reger
Returning Observer

Rules for sections in FS_REFERENCE: Different behavior in CC

Hello,

we use a link-template in FS_CATALOG for anchorlinks.  To make sure that a section is choosen we use following rule:

<RULE>
<IF>
<EQUAL>
<PROPERTY name="template" source="#global"/>
<TEXT>anchor</TEXT>
</EQUAL>
</IF>
<WITH>
<NOT_NULL>
<PROPERTY name="SECTION" source="lt_url"/>
</NOT_NULL>
</WITH>
<DO>
<VALIDATION scope="SAVE">
<PROPERTY name="VALID" source="lt_url"/>
<MESSAGE lang="*" text="Bitte zusätzlich einen Absatz auswählen."/>
</VALIDATION>
</DO>
</RULE>

That means: if template == anchor and section for the FS_REFERENCE lt_url is not filled then saving should not be possible/error message.

The problem: It works, the rule is applied when choosing a page. But the behavior in SiteArchitect and Content Creator is different if you open an existing page for editing.
In SA it's like expected, you open the page, look at the FS_CATALOG and if it's all correct filled out no message appears. In CC you do the same, but regardless if the section is empty or not the error message appears.

 
 

Message in CCMessage in CCNo message in SANo message in SA

 


You can make the message disappear by clicking on the text, but the message shouldn't be there because the section is already filled. This means that every time you open a page you will see a fake error message.
Any ideas what's happening here?

Best regards
Gabriele Reger

 

0 Kudos
1 Reply
reger
Returning Observer

Anfrage des Problems beim Technical Support mit einer entsprechenden Antwort:
"Hintergrund: Eine Regel, die einen "IF"-Teil besitzt, wird nur ausgeführt, wenn der "IF"-Teil true ist. Ist dieser false, wird die Regel nicht ausgeführt. Das führt dann auch dazu, dass eine durch Regel erzeugte Fehlermeldung nicht wieder gelöscht wird.

IF sollte niemals mit etwas angewendet werden, was sich während der Nutzung ändern kann. Entsprechende Abfragen sollten grundsätzlich im WHEN behandelt werden, wobei mehrere Abfragen mit AND oder OR verknüpft werden können."

Fazit: Ich habe den IF-Teil in das WITH mit integriert, sieht zwar umständlicher aus, tut aber jetzt, was es soll ....