Property form
|
|
Optional. Complete this tab to:
Page
and Page List
properties, define auto-population mechanisms.The format and contents of this tab depend on the Property Mode value selected on the General tab.
Field |
Description |
Max Length |
Optional. This field is visible only for Enter the number here. If a user or activity attempts to assign a longer value to the property, the clipboard does contain the longer value, but also has an associated message. If you leave this blank, PRPC does not limit the length of values of the property. However, operational considerations and system performance considerations may apply. For example, database software supporting the PegaRULES database may limit the size of the column to no more than 255 characters, or 1023 characters, or another value; this applies if the property is to be exposed. Even when the property is not exposed as a database column, sizes larger than 1,000 bytes may adversely add to the memory demands on the server and JVMs, depending on how many instances contain the large property and how often they are accessed on requestor clipboards. When updating or overriding a property that has a Max Length defined, you can enter a smaller Max Length value, but not a larger value. |
Expected Length |
Optional. Enter the typical length in characters expected for the property being defined, as entered into a form. This does not affect the number of characters that can be stored internally in the property value. If you associate the standard control FixedSizeForInput with this property, the system uses this value to define the size of HTML input textboxes. Use the similar FixedSize control to apply this limit to both input and display presentations of the property. This field is visible only for |
Override Sort Function |
Optional. Use to this field in special situations, to compare and sort values of this property in ways other than the natural sort sequence for the Type. If you leave this blank, the system uses a built-in sort order based on the Type. Identify here a function rule in the Pega-RULES:Sort library or a custom function in a custom Sort library. For a custom function, enter the RuleSet name, a colon and the sort function name. This field is visible only for |
Access When |
Optional. This field is meaningful only when the Type is Identify the second key part of an access when rule (Rule-Access-When rule type) that controls whether or not the clear-text or encrypted value appears in reports and forms. Design the access when rule to be true for those operators, situations, and times when the clear text of the property value is to appear, and false otherwise. See Implementing and using the TextEncrypted type. |
Edit Input |
Optional. To convert data entered by a user into another format, identify an edit input rule to perform the conversion. This field is visible only for If this property is to hold text that is composed using the RichTextControl control and so may contain HTML markup such as |
Validate |
Optional. Validation of a Value mode property always includes testing its value against the formats allowed by the Type and its maximum length. To provide stronger validation for this property, identify an edit validate rule. When users complete and submit a form containing a value for this property, the system first applies the edit input rule. This rule may transform the input text. Next, it applies the edit validate rule, which may cause a message to be added to the property indicating that the property value has failed validation. To restrict this value to a (PRPC) Java identifier, enter JavaIdentifier. Many standard edit validate rules are emulated by an equivalent JavaScript function that can be run on the client workstation before users submit a user form or flow action form. See client-side validation. This field is visible only for |
Column Inclusion |
Optional. If this
The other choice
Your choice in this field only conveys advice to a database administrator; it does not cause the schema to change. You can update a property to revise this selection at any time. Using the Database Class Mappings gadget, you can compare the values in this field with the current schema, identifying properties marked as See How to expose a property as a database column and Data Model category — Classes and Properties landing page.
If the property is not a If this is a transient property (the Transient Property checkbox is selected), select Optional or leave this field blank. A transient property cannot be exposed ("optimized"). |
Optimized for Classes |
A list of the classes containing this property that have values as an exposed column in the PegaRULES database. This read-only list appears only for |
Cannot Be Declarative Target |
Select to prevent this property from being the target of a Declare Expression rule. This restriction applies to Declare Expression rules created after you save the Property form; it is not applied retroactively. This restriction is meaningful only for |
Cannot be included as an input field |
Select to turn on the pySpecial restriction for this rule. If selected, users cannot directly enter a value for this property on an HTML form. This restriction improves system security and reduces the chance of errors that can occur when one property is in some cases computed and in other cases directly input. Such properties are sometimes called special properties. Choose a naming convention for special properties, to help everyone on your team remember them. (Standard special properties have a property name starting with the letters px.) |
Reference Property |
Select to make this property a reference property, a property that can link to a source property. Reference properties can reduce the need for duplicating data values on multiple pages or objects, and can simplify lengthy property references. Use the Property-Ref method in an activity to establish the contents of a reference property.
If this property is of mode |
Persistence |
Select to cause the value of this property to be omitted (equivalently, set to null) when any clipboard page containing this property is committed to the PegaRULES database. Similarly, the property has no value when an instance containing this property is opened to the clipboard from the PegaRULES database. Marking a property as transient, when appropriate, improves performance by reducing the size of the Storage Stream property value (the pzPVStream property and column). While on the clipboard, the property can have values of any length. Of course, select this only for properties — Single Value or aggregate — that have values that you don't need to be saved in the database. If you mark a property as transient, but saved instances of objects already exist in the PegaRULES database, the values of this property are removed only when and if those objects are later opened and then recommitted. The value of a transient property is not deleted when a requestor session containing a clipboard value for a transient property is passivated. The current value of the property is included in the saved passivation record, and restored when the requestor session is later activated. You can't expose a transient property as a database column. Because all values of the column would be empty, this is not useful. Similarly, you can't mark a property as transient if PRPC determines that it is part of an external database table. |
Optional. If the mode of this property is Page
or Page List
and the Page Class identifies a concrete class, your application can automatically retrieve, compute, or references values for the property by defining a source of page data. If configured, then PRPC at runtime, when the page or page is accessed, retrieves data for the page or pages based on the value of specified properties.
Use of auto-populated Page
or Page List
properties can simplify your application by eliminating the need to write an activity to populate the properties, or by eliminating a routine step in an activity. The content of the page or pages can be copied from:
If the Reference Property option is selected, the data is retrieved and copied to a temporary page (or a Code Pega-List page, for Page List properties), rather than copied to the property.
Auto-populated pages are analogous to backwards-chaining Declare Expression rules, in that the value of a property is computed only when the value is needed. However, Declare Expression rules compute only scalar properties; this feature computes entire pages or lists of pages.
Auto-population occurs only when at least one embedded property on the page or pages is accessed, for example displayed on a user form or used in an activity.
To debug auto-populated properties, start the Tracer tool, open the Tracer Options form, and select the Auto Populate Properties event type.
For an example, see PDN article Automatically populating a Page or Page List property.
Field |
Description |
Auto-populate Property |
Select to indicate that values of this This field is visible only for properties of type |
Use Declare Page to Perform Load |
Available when Auto-populate Property is checked. Select to indicate that values for this property are to be populated by a declare pages rule. When this checkbox is selected, a field appears in which you specify the declare pages rule. Select the Page Name (key) of a declare pages rule that starts with the prefix Declare_Ref_. At runtime, the value of the If this property has mode |
Advanced Auto-population Options |
Select this option to record how PRPC obtains the key to an object (or keys to a list of objects) in the PegaRULES database. Typically, you cause auto-population of a Page or Page List mode property by
For example, to populate a page of class Data-Admin-Operator-ID, set a value to the property Data-Admin-Operator-ID.pyUserIdentifier. On the Basic tab of the Class form, pyUserIdentifier is listed as the key to these objects. In less typical situations, the key value is as the value of a separate property in the current object, or is computed from multiple separate properties each providing one key part. For a Page mode property, you can also specify how to load the property with an object from the PegaRULES database by selecting one of these options:
|
Autopopulate using instance handle from parent page |
These fields are displayed when the Advanced Auto-population Options checkbox is checked and |
Get handle of associated instance from |
Select the property that, when not blank, holds the pzInsKey value of an object of the appropriate class. This field appears when you select At runtime, when this |
Autopopulate using class keys from parent page |
These fields are displayed when the Advanced Auto-population Options checkbox is checked and |
Key of associated Instance |
Read-only. Identifies a property that forms the key, or part of the key, of instances of the Page Class class. |
Value from Property |
Select a property on the parent page that, when not blank, holds a value for this key part. At runtime, when this |
Auto-Populate List using Conditions |
These fields are displayed when the property has Page List mode and the Advanced Auto-population Options checkbox is checked. For each row of this array, identify match conditions for a key or part of a key. |
List Condition for Auto-Populate Instances |
Read-only. Identifies a property that forms the key, or part of the key, of instances of the Page Class class. |
Value from Property |
Select property on this Page List property's parent page (Applies To class) that, when not blank, holds a value for this key part. Enter at least one non-blank value. When the Page List mode property is accessed, the system performs a list operation on objects in the PegaRULES database, creating a page for each match. |
Exclude from localization in UI controls |
This checkbox is available only when the property's mode is Single Value. Select this checkbox if there is no need in your application’s UI to localize the (string) value of this property. Enabling controls in your UI to skip calls to the database for localized values can improve performance. For example, there is no need to localize string values for alphanumeric IDs, or for transient properties. By default, Work-.pyID and @baseclass.pxObjClass skip localization. |
pySkipLocalization display only when the property mode is of type String, i.e. Single Value
Optional. Complete this array to associate one or more property qualifier rules (Rule-Obj-Property-Qualifier rule type) with this property.
Each property qualifier you list here provides additional information at runtime about the property, and may alter the behavior in computations or presentation of the property.
You can provide a value for the qualifier on this tab, thereby defining a permanent value. Or when desired, you can leave the value blank and use Java methods in the PublicAPI to set or test values dynamically. For details, see More about Property Qualifier rules.
If you update an existing property that references the pyDecimalPrecision qualifier, additional steps may be necessary. See Revalidation is necessary after certain property updates in More about Properties.
Field |
Description |
Qualifier |
Optional. For a permanent qualifier, enter the value in a pop-up dialog box:
To allow the value of a qualifier to be set dynamically and temporarily at runtime, leave this field blank. |
Click Explore after you save the form if you completed the Table Type field on the General tab and want to preview the presentation of choices for this property when presented in input mode. This display also identifies any Declare Expression rules that reference the property, and dependencies among expressions. See Properties — Working with the Explore Window.