At runtime, the system uses information on the Pages & Classes tab of several rule forms to locate properties and values on the clipboard. Over time, a user's clipboard may grow to contain thousands of properties. The Pages & Classes tab improves performance by limiting the search for a property to a specific page or pages.
Many types of rules may access or update information on two or more clipboard pages when they run. The rule forms for several rule types include a Pages & Classes tab that contains an array.
The system uses information on this tab to quickly locate properties.
For example, a clipboard might contain two property values (on two different pages, each of a class derived from the Work- base class) both defined by the standard property rule Work-.pyID. In another case, two unrelated properties named AccountBalance might be present on one clipboard, one from Data-ConsumerAccount-Savings class and another from an independently developed corporate finance application. The system uses the Pages & Classes tab to resolve such situations.
To complete a Pages & Classes tab, follow these guidelines:
Top
on other tabs of the rule form to reference the top level page, enter a row here with Top
in the Page Name column and a class in the Class column. This is useful when the name of the top-level page may vary in different settings.
Note: Using the Top
keyword in a data transform does not reference the top-level page.
MyToplevel.APageList().APageGroup().APage
pxRequestor
, pxProcess
, pxThread
, and their embedded pages, if mentioned). $ANY
or $CLASS
in the Class column.$NONE
or leave the Class column blank to indicate that the page is classless. The Top keyword is not meaningful and so not allowed in the Pages & Classes tab of a list view or summary view rule.
The pages that Pega 7 uses to process a rule may vary from execution to execution of that rule. The system neither requires nor checks that all the pages listed are present each time it runs the rule. It only determines it can find the properties needed to perform the current execution.
In some situations, the class of a page may vary from execution to execution. If all the properties referenced are available in a common parent class, you can list the parent on this tab, even though the page belongs to a subclass.
For example, an activity may operate on a page named Customer that, in some situations, has the class Data-Account-Savings and in other cases has the class Data-Account-Checking. If all the properties that the activity needs — for example CurrentBalance and AccountOpenDate — are defined in the Data-Account- class, you can list Data-Account- in the Class column.
However, if the activity needs to access both checking and savings data at once, the activity needs to work with two pages — one of each class — with distinct page names.
Managing the number and names of clipboard pages referenced in your application is important. Using too many pages, or omitting to remove the pages when no longer needed, can add to the runtime memory demand of your applications. Misspelling page names or having two copies of one page (with different names) can also hurt performance or make testing difficult.
Select Designer Studio> Data Model > Clipboard > Named Pages to access a list of the named pages used by the current application.
Certain rule forms offer more capabilities for greater power and flexibility:
prompt
are known as indirect pages. This facility allows a calling activity to share multiple pages with a called activity, for example. When the called activity references a property on a page named promptALPHA, the system searches the clipboard for a page named ALPHA.locate
and that use an activity to search or assemble the page needed. These pages are known as locatable pages.