Controlling editorial processes (restriction levels)
Every rule is executed within a restriction level. The assignment of a restriction level makes it possible for the template developer to intervene in the editorial process more or less restrictively.
Using the <ON_SAVE/> tag, for example, the saving of an invalid entry can be inhibited by the editor (highest restriction level). The editor recognizes that the form has an "invalid" state during the editing of the form already, and not during saving.
Depending on the selected restriction level, invalid states in the form are emphasized in color (see Display in the working area).
The FirstSpirit framework knows the following restriction levels for rule definition:
- Highest restriction level:
<ON_SAVE/> inhibits the saving of an invalid entry. - Medium restriction level:
<ON_RELEASE/> inhibits the release of an invalid entry. - Lowest restriction level:
<ON_EVENT/> controls editorial processes without inhibiting a release or saving of the invalid entries. Rules performed within this restriction level can be used very universally.
In the process, the following applies for the definition of a restriction level:
- For each rule, a restriction level must be defined.
- A restriction level is defined on the top level of the rule definition directly beneath the <RULES/> tags that initiate the beginning and end of a rule definition.
- Within the tags that define a restriction level, additional tags must be saved for value determination and for the definition of a handling instruction. Optionally, both a precondition and a validation can be defined.
- A rule definition (<RULES>...</RULES>) can contain several rules, each initiated by the specification of a restriction level.
If more than one rule is defined for one form element and if there is more than one rule violated, only the most significant restriction level will be shown in the form. This is valid for several rules within the rule defintion and for interferences of rules and restrictions which are defined for an input component using parameters within the form (e.g. mandatory field definition via the parameter allowEmpty=“no”). Order of display:
|
If, for example, a mandatory field option (allowEmpty=“no”) and a <ON_RELEASE/>rule is defined for an input component and if both conditions are violated, first the violated mandatory field option will be shown in the form (and the display of the second rule violation will be suppressed). The second rule violation will only then shown if the mandatory field option is achieved in the form.