Startseite / Vorlagenentwicklung / Regeln / * Neu in Version 5.2

Wechsel zur neuen Syntax in FirstSpirit-Version 5.2

Inhaltsverzeichnis

Mit FirstSpirit-Version 5.2 wurde die Syntax optimiert, die auf dem Register „Regeln“ verwendet werden kann. Diese Seite zeigt die Unterschiede und Neuerungen in der Syntax auf.

Wichtig Bisherige Regel-Definitionen aus früheren FirstSpirit-Versionen bleiben in FirstSpirit-Version 5.2 weiterhin gültig und werden passend interpretiert. Zu einem späteren Zeitpunkt wird die alte Syntax aber ungültig und nicht mehr unterstützt. Daher sollten bestehenden Regel-Definitionen so früh wie möglich an die neue Syntax angepasst werden.

Was hat sich geändert?

Restriktionsstufen

Die Restriktionsstufen, die bisher über die Tags

  • <ON_EVENT/>
  • <ON_SAVE/>
  • <ON_RELEASE/>

definiert wurden, werden nun über den Parameter „scope“ im Tag VALIDATION abgebildet. Dieser Parameter kennt die Werte

Standardeinstellung (also wenn der Parameter „scope“ nicht angegeben wird) ist INFO.

Beispiel alt:

<RULES>
<ON_SAVE>
<VALIDATION>
<PROPERTY name="VALID" source="st_startDate"/>
<MESSAGE lang="*" text="Start date must be set"/>
<MESSAGE lang="DE" text="Startdatum muss gesetzt werden"/>
</VALIDATION>
</ON_SAVE>
</RULES>

Beispiel neu:

<RULES>
<RULE>
<VALIDATION scope="SAVE">
<PROPERTY name="VALID" source="st_startDate"/>
<MESSAGE lang="*" text="Start date must be set"/>
<MESSAGE lang="DE" text="Startdatum muss gesetzt werden"/>
</VALIDATION>
</RULE>
</RULES>

Tag "RULE"

Während die Regeldefinition für eine Vorlage mit den Tags <RULES>...</RULES> umschlossen wird, wird mit FirstSpirit-Version 5.2 jede Regel von einem öffnenden und schließenden <RULE>-Tag umschlossen. Siehe dazu auch Seite Aufbau einer Regel.

Beispiel alt:

<RULES>
<ON_SAVE>
<WITH>
<NOT>
<PROPERTY name="EMPTY" source="st_text"/>
</NOT>
</WITH>
<DO>
<VALIDATION>
<PROPERTY name="VALID" source="st_text"/>
<MESSAGE lang="*" text="The editor must not be empty!"/>
<MESSAGE lang="DE" text="Der Editor darf nicht leer sein!"/>
</VALIDATION>
</DO>
</ON_SAVE>
</RULES>

Beispiel neu:

<RULES>
<RULE>
<WITH>
<NOT>
<PROPERTY name="EMPTY" source="st_text"/>
</NOT>
</WITH>
<DO>
<VALIDATION scope="SAVE">
<PROPERTY name="VALID" source="st_text"/>
<MESSAGE lang="*" text="The editor must not be empty!"/>
<MESSAGE lang="DE" text="Der Editor darf nicht leer sein!"/>
</VALIDATION>
</DO>
</RULE>
</RULES>

Darüber hinaus kennt das <RULE>-Tag den Parameter „when“ mit den Werten

  • ONLOCK
  • ONSAVE

Siehe dazu unten.

Zusammenfassung der Änderungen

alt

Ersatz

Begrenzung einer Regel durch

  • <ON_EVENT/>
  • <ON_SAVE/> oder
  • <ON_RELEASE/>

Begrenzung einer Regel durch

  • <RULE/>

<ON_EVENT/>

<VALIDATION scope="INFO">

<ON_SAVE/>

<VALIDATION scope="SAVE">

<ON_RELEASE/>

<VALIDATION scope="RELEASE">

  

Was ist neu?

Folgende Tags und Parameter sind neu in FirstSpirit-Version 5.2:

Tag "RULE"

Jede Regel wird mit einem öffnenden und einem schließenden <RULE/>-Tag umschlossen.

<RULES>
<RULE>
[Regel 1]
</RULE>
<RULE>
[Regel 2]
</RULE>
</RULES>

Für jede Regel kann optional das Attribut when angegeben werden (siehe folgenden Abschnitt).

Attribut "when"

Standardmäßig werden Regeln unmittelbar bei jeder Eingabe des Redakteurs, also jedem Tastendruck, ausgeführt. Über das optionale Attribut when im <RULE/>-Tag kann definiert werden, dass die jeweilige Regel

  • einmalig beim Speichern ausgeführt wird: when="ONSAVE"
  • einmalig beim Wechsel in den Bearbeitungs-Modus ausgeführt wird: when="ONLOCK"

Beispiel:

<RULES>
<RULE when="ONLOCK">
...

Standardmäßig (d.h. wenn when nicht angegeben wird) wird die Regel bei jeder Eingabe durch den Redakteur ausgeführt.

Siehe dazu auch Seite <RULE/>-Tag.

Negation von Booleschen Werten ("NOT")

Konnte eine Negation von Booleschen Werten aus der Wertermittlung (<WITH/> oder <SCHEDULE/>) bislang nur in der Wertermittlung selbst erfolgen, kann sie mit FirstSpirit-Version 5.2 auch im <DO/>-Tag erfolgen, und zwar über das Tag <NOT/> in Verbindung mit folgenden Tags:

Beispiele:

Mit <PROPERTY/>:

<RULES>
<RULE>
<WITH>
<PROPERTY name="EMPTY" source="st_text_1"/>
</WITH>
<DO>
<PROPERTY name="VISIBLE" source="st_text_2"/>
<NOT>
<PROPERTY name="VISIBLE" source="st_text_3"/>
</NOT>
</DO>
</RULE>
<RULES>

In diesem Beispiel enthält die Vorlage 3 Textfelder (Textfeld 1: "st_text_1", Textfeld 2: "st_text_2", Textfeld 3: "st_text_3"). Textfeld 1 wird immer angezeigt, Textfeld 2 wenn Textfeld 1 leer ist und Textfeld 3, wenn Textfeld 1 nicht leer ist.

Mit <VALIDATION/>:

<RULES>
<RULE>
<WITH>
<PROPERTY name="EMPTY" source="st_headline"/>
</WITH>
<DO>
<NOT>
<VALIDATION scope="SAVE">
<PROPERTY name="VALID" source="st_headline"/>
<MESSAGE lang="*" text="The editor must not be empty!"/>
<MESSAGE lang="DE" text="Der Editor darf nicht leer sein!"/>
</VALIDATION>
</NOT>
</DO>
</RULE>
</RULES>

Mit <NOT/>:

<RULES>
<RULE>
<WITH>
<PROPERTY name="EMPTY" source="st_text"/>
</WITH>
<DO>
<NOT>
<NOT>
<VALIDATION>
<PROPERTY name="VALID" source="st_text"/>
<MESSAGE lang="*" text="Nicht leer!"/>
</VALIDATION>
</NOT>
</NOT>
</DO>
</RULE>
</RULES>

Siehe dazu auch Seite Wertermittlung <WITH/>.

Eigenschaft "SELECT" / "DESELECT"

Die Eigenschaften SELECT und DESELECT können zur Manipulation der Auswahl in optionsbasierten Eingabekomponenten-Typen verwendet werden und zwar in

Eigenschaft "SIZE"

Die Eigenschaft SIZE prüft die Anzahl der Elemente von Eingabekomponenten und kann jetzt auch für CMS_INPUT_LIST und CMS_INPUT_CHECKBOX verwendet werden. Ebenso ist diese Eigenschaft verwendbar mit FS_CATALOG und FS_INDEX.

Operator "CONTAINS"

Der Vergleichsoperator CONTAINS kann im Bereich Wertermittlung der Regeldefinition (oder für die Definition einer Vorbedingung) eingesetzt werden und dient dem Vergleich der Inhalte von Eingabekomponenten der Typen

gegen

  1. einen textuellen Vergleichswert oder
  2. eine Eigenschaft des Formulars.

Operator "NULL" / "NOT_NULL"

Eingabekomponenten können einen Wert enthalten oder „leer“ sein. Ist kein Wert in der Eingabekomponente hinterlegt, kann diese abhängig vom Typ der Eingabekomponente entweder einen:

zurückliefern.

Das <NULL/>-Tag kann im Bereich Wertermittlung der Regeldefinition (oder für die Definition einer Vorbedingung) eingesetzt werden und prüft, ob eine Eingabekomponente einen Wert enthält oder nicht.

Siehe dazu auch Seite <NULL/>/<NOT_NULL/>.

Eigenschaft "SECTION"

Mit der Eigenschaft SECTION kann geprüft werden, ob der Absatz einer FS_REFERENCE-Komponente ausgewählt wurde oder nicht.

© 2005 - 2024 Crownpeak Technology GmbH | Alle Rechte vorbehalten. | FirstSpirit 2024.4 | Datenschutz