How to correct the Named Page Reference warning for Declare Index rules
Summary
Remediate this high-priority warning before using the rule in a production environment.
In v5.4 sp2 or greater, use the Download High Priority Warnings option in the Application Preflight tool to research all high-priority warnings in your application. As a best practice, perform the preflight check before you lock a RuleSet version.
Rule Type | Warning Type | |
---|---|---|
Rule-Declare-Index | DataIntegrity | |
Name | Named Page Reference | |
Message | If you reference a named page as a source within a Rule-Declare-Index, the value will be correctly read and populate the index. However, changes to that property on the named page will not trigger re-indexing. | |
Details | N/A | |
Severity | 2 |
Suggested Approach
Why referenced named pages will not update index
When Declarative Indexes are created containing references to external named pages (pages outside of the page the index is defined on; for example, any reference in the definition with a page name) this information gets copied into the index entry as 'additional data' but is not considered part of the index.
Changes made to these external page properties will not cause the index to be updated. Because there is no assurance that both (all of the) pages will actually be present when changes are made, no assumptions can be made. The system only tracks changes to indexed properties on the page the index is defined on.
Technical note: About indexing
When a work object that has a declarative index rule defined for it is saved, the data for the mapped property is stored in two places:
- The blob column in the database table the source class is mapped to
- The index table the index class is mapped to.
Each instance of the embedded page property upon which an index is defined is one entry in that index table. The appropriate values are saved in each property column.
When a change is made to an instance of a class for which a declarative index rule is defined, the current data for the source properties defined in the rule is updated in the index table and the source table.
Previous topic Declare Index rules Next topic How to create Declarative indexes for embedded properties