This presentation is part of the Declarative Pages Self-Study Course.
Declare pages are configured using the Declare-Pages rule type. They are instances of the Rule-Declare-Pages class and are listed in the Technical rule category.
The name of a declare pages rule is the name of the page it creates. It must begin with the string “Declare underscore” (Declare_) with a capital D. Do not name other clipboard pages starting with Declare_ to avoid confusion
Declare pages rules are not explicitly referenced by any other rules. However, other rules do reference the properties and pages created by declare pages rules. Remember, it is this referencing that triggers the execution of the declare pages rule as part of the declarative network rules engine processing. Unlike other declarative rules (such as expressions, constraints, etc.), there is no Applies To field to specify a class as a key for declare pages rules; therefore, they do not use class inheritance.
When pages are referenced, they are referred to by name only, not name and class. The page name is the only key for a declare pages rule, and no two instances may have the same name in the system.
Since Declare-Pages rules are not keyed by class, there is a restriction built into the system whereby a declare pages name can only be used in one RuleSet to ensure that no duplication will occur to confuse the system.
The good news is that it is possible to have multiple versions of a declare pages rule and have the system determine which version of the instance to use based on rule resolution. To do this you must create all the different versions of the rule with the same name in the same RuleSet - just change the RuleSet version.