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. GENTJ 10/30/06
- 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. PROJ-1306 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. NORIR
3/7/06 Use () for List and Group arrays. For example:
C-1147 BUG-3359 stream
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). CLINB B-16304 11/15/05
- 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. OLSOK
6/24/04
- 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. 1/31/08 MIRAT
Matching at
runtime
The pages that Process Commander 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.
Identifying pages in your application
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 > Data Model > Clipboard > Named Pages to access a list of the named pages used by the current application.
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.
Designer Studio basics