Redaktionelle Prozesse steuern (Restriktionsstufen)
Für jede Validierung (<VALIDATION/>) kann eine Restriktionsstufe definiert werden. Dies ermöglicht es dem Vorlagenentwickler – mehr oder weniger restriktiv – in den redaktionellen Prozess einzugreifen. So kann beispielsweise über die Restriktionsstufe SAVE das Speichern einer ungültigen Eingabe durch den Redakteur unterbunden werden (höchste Restriktionsstufe). Dazu wird das Attribut „scope“ verwendet.
Abhängig von der gewählten Restriktionsstufe werden ungültige Zustände im Formular farblich hervorgehoben (siehe Darstellung im Arbeitsbereich). Dass ein „ungültiger“ Zustand im Formular besteht, erkennt der Redakteur standardmäßig schon beim Bearbeiten des Formulars (bei jedem Tastendruck). Je nach Bedarf kann aber auch definiert werden, dass die Regel nur (einmalig) bei jedem Speichern oder beim Wechsel in den Bearbeitungsmodus ausgeführt wird (siehe Ausführungszeitpunkt).
Das FirstSpirit-Framework kennt folgende Restriktionsstufen für die Regeldefinition:
- Höchste Restriktionsstufe:
SAVE Speichern einer ungültigen Eingabe unterbinden. - Mittlere Restriktionsstufe:
RELEASE Freigabe einer ungültigen Eingabe unterbinden. - Niedrigste Restriktionsstufe:
INFO Redaktionsprozesse steuern, ohne eine Freigabe oder das Speichern der ungültigen Eingaben zu unterbinden. Regeln, die innerhalb dieser Restriktionsstufe ablaufen, sind sehr universell einsetzbar.
Dabei gilt für die Definition einer Restriktionsstufe:
- Die Definition der Restriktionsstufe erfolgt innerhalb eines <VALIDATION/>-Tags unter Verwendung des Attributs „scope“.
- Wird keine Restriktionsstufe definiert, wird automatisch die Restriktionsstufe INFO verwendet.
Beispiel:
<RULES>
<RULE>
...
<DO>
<VALIDATION scope="SAVE">
<PROPERTY name="VALID" source="st_headline"/>
<MESSAGE lang="*" text="A headline must be provided!"/>
<MESSAGE lang="DE" text="Es muss eine Überschrift erfasst werden!"/>
</VALIDATION>
</DO>
</RULE>
</RULES>
Sind für ein Formularelement mehrere Regeln definiert, so wird bei mehrfachen Regelverletzungen immer nur die höchstwertige Restriktionsstufe im Formular angezeigt. Das gilt für mehrere Regeln innerhalb einer Regeldefinition und bei Überschneidungen von Regeln mit Einschränkungen, die für eine Eingabekomponente über Parameter innerhalb des Formulars definiert wurden (z. B. Pflichtfeld-Definition über den Parameter allowEmpty=„no“). Anzeigereihenfolge:
|
Ist für eine Eingabekomponente beispielsweise eine Pflichtfeld-Option (allowEmpty=„no“) und eine Regel mit RELEASE-Attribut definiert und liegt eine Verletzung der beiden Bedingungen vor, so wird im Formular zunächst nur die verletzte Pflichtfeld-Option angezeigt (und die Anzeige der zweiten Regelverletzung unterdrückt) – erst wenn die Pflichtfeld-Option im Formular erfüllt ist, wird die zweite Regelverletzung eingeblendet.