Show all
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.
Purpose
As they run, many types of rules may access or update
information on two or more clipboard pages. 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 and the correct corresponding property rule.
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 — disambiguate
— such situations.
How to complete
To complete a Pages &
Classes tab, follow these guidelines:
- Complete this tab to describe the clipboard context
expected at runtime, not your current clipboard as
you develop and save the rule.
- You can enter rows in this array in any
order.
- If you add a row with a class name but no page name,
the system uses that class for the primary page.
- If the other tabs of the rule don't reference any
properties, you can leave this tab blank.
- Recall that page names are case-sensitive, so be
sure to match the case of the page name.
- Enter the name of each page referenced explicitly on
the other tabs of the rule form. For rules that
contain HTML or XML text — such as correspondence or
HTML rules — the reference may be inside a JSP tag or
directive.
- For an embedded property, if you use the keyword
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.
- For an embedded page enter the full page name
starting with the top-level page name or with the keyword
Top. Use () for List and Group
arrays. For example:
MyToplevel.APageList().APageGroup().APage
- You don't need to list all the clipboard pages
expected to be on the clipboard, only those that might be
accessed by this rule.
- For HTML rules, XML Stream rules, and other stream rules
containing JSP tags, list all the pages identified in the
HTML text, including system pages
(
pxRequestor
, pxProcess
,
pxThread
, and their embedded pages, if
mentioned).
- You can't use the keywords
$ANY
or
$CLASS
in the Class
column.
- Enter
$NONE
or leave the
Class column blank to indicate that the
page is classless.
- For those rules that run the context of a primary page,
you can leave the page name blank for greater flexibility.
(The class of the primary page matches the Applies
To key part of the rule.)
The Top keyword is not
meaningful and so not allowed in the Pages and Classes tab of a list view or
summary view rule.
Matching at runtime
The pages that Process Commander uses to process a rule
may vary from execution to execution of that rule. The system
does 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.
Special cases
Certain rule forms offer more capabilities for greater
power and flexibility:
- For six rule types — including activities and
correspondence — pages with names that start with the
keyword
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.
-
For three rule
types — Declare Expression, constraints, and when
condition rules — you can define page names that
start with the keyword
locate
and that use an
activity to search or assemble the page needed. These pages
are known as locatable pages.
Developer portal basics