Creating a data page
To enable your system to access data from a range of sources on demand, create a data page. Data pages can improve performance and reduce memory requirements when many requestors in an application need to access the same information. For example, a data page can hold last night's closing US stock prices in a Value Group property that is indexed by a ticker symbol, so that the property reference D_Stock.Price("IBM") is the closing price for IBM shares. The first time each evening (after the 4:00 P.M. New York stock market close) that a requestor attempts to access the page, Pega Platform automatically loads the page with the latest end-of-day prices. The page can remain unmodified in memory until the next day's closing.
Define the type, class, and scope of the data page and of its instances created on the clipboard.
- In the header of Dev Studio, click Create > Data Model > Data Page.
-
On the Create Data Page page, in the Data Page Record
Configuration section, in the Label field, enter a
name for the top-level page that this rule creates and maintains.
Data pages have names that start with
Declare_
orD_
and are case-sensitive. Use only letters, digits, and underscores. For more information, see Page names and reserved pages. - Click Create and open.
-
On the Definition tab, in the Data page
definition section, in the Structure field, select one
of the following from the list:
- Select Page to create a data page that contains a single object of the type specified in the Object type field.
- Select List to create a list-type data page that contains multiple objects of the type specified in the Object type field.
- Optional:
If you selected List in step 4, you can allow
read-only access to embedded pages in the data page by using any properties as the
key.
- To allow read-only access to individual objects in the list based on the values provided for the keys specified in the Page list keys section, in the Keyed page access section, select Access pages with user defined keys.
-
If the keys are not unique across objects in the list, in the Keyed page
access section, select Allow multiple pages per
key.
This provides read-only access to a list of objects that match the values provided for the keys in this case.
- In the Page list keys section, click Add key and then press the Down arrow key to select a key from the list.
-
In the Object type field, press the Down arrow key to select the
data type (class) of the data page to be created.
The data type does not have to be the same as the data type of the data sources for the data page.
-
In the Mode field, define conditions for modifying the data
page.
- Select Read-Only to prevent the data page from being
modified, except during page load and post-activity processing.
The data page is displayed in the Data Page list on the clipboard.
- Select Savable to provide the data page with a save plan
through a database source or an activity. Savable data pages are referenced in save data
page locations.
Selecting this edit mode opens the Data save options section so that you can select a save plan option.
- Select Editable to allow the data page to be modified.
The data page is displayed in the User Page list on the clipboard.Note: Editable data pages are typically only used for advanced use cases. As a best practice, use read-only or savable data pages.
- Select Read-Only to prevent the data page from being
modified, except during page load and post-activity processing.
- Optional:
If you selected Read-Only in step 7, to improve
performance and throughput, select Restricted feature set for high
throughput.
Use this option if you need basic map functionality, for example, for building caches.Note: If you select this option, the following clipboard features are not supported on the properties that are contained in this page:
- The following advanced data access options are not supported on the properties on
this page:
- Scalar properties: “Automatic reference to class instance(linked)”.
- Page and page list properties: “Refer to a data page”, “Copy data from a data page”.
- Declaratives: Triggers, indexes, on-change, and expressions rules.
- Dictionary: Value vetting, validations, type conversions, precision, and encryption.
- Advanced config: “Allow use as reference property in activities”.
- Displaying data from these data pages or updating values from these data pages by using stream rules might not work for certain configurations.
- Complex references, such as .A.B(1).C(<APPEND>), are only supported by using expression builders.
- The following advanced data access options are not supported on the properties on
this page:
- Optional:
If you selected Editable in step 7, to improve
throughput, select Enable lightweight clipboard mode.
Note: If you select this option, the following clipboard features are not supported on the properties that are contained in this page:
- The following advanced data access options are not supported on the properties on
this page. If you use these options, the application displays an error during run
time:
- Scalar properties: “Automatic reference to class instance(linked)”.
- Page and page list properties: “Refer to a data page”, “Copy data from a data page”.
- Advanced config: “Allow use as reference property in activities”. If you use this reference property, the application displays an error during run time.
- The application does not run declarative rules, such as on-change, indexes, and trigger rules, and does not display errors.
- The following advanced data access options are not supported on the properties on
this page. If you use these options, the application displays an error during run
time:
-
In the Scope field, define the scope of the data page.
- Thread – The page is created in a single requestor thread and can be accessed as often as needed by processing in that thread.
- Requestor – The requestor can access the pages loaded across all threads.
- Node – Any requestor executing on the current node can access the pages.
Note: Editable and savable pages do not have a refresh strategy and can have only a Thread or Requestor scope. -
In the Data Sources section, in the Source
field, select a data source for your data page:
- Connector – Use the response of a connector as the data source. To configure this option, see step 12.
- Data Transform – Specify a data transform to use to populate the data page. To configure this option, see step 13.
- Report definition – Use the results of a report definition as the data source. To configure this option, see step 14.
- Lookup – Use an instance of the specified object type as the data source. To configure this option, see step 15.
- Activity – Execute an activity that creates and populates the page. To configure this option, see step 16.
- Robotic automation – Obtain information from a robotic process automation. To configure this option, see step 17.
- Robotic desktop automation – Obtain information from a robotic desktop automation. To configure this option, see step 18.
- Aggregate sources – Specify additional sources that a data
source supports. When the system chooses the aggregate source, it executes each source
in the order it was listed within the aggregate source to create a data page.
To configure this option, see step 19.
-
For Connector data sources, complete the following fields:
- In the Type field, select the type of connector.
-
In the Name field, enter the name of the connector.
You can select any connector as the data source. The connector's Applies To class does not have to match the object type of the data page.
- In the Request Data Transform field, specify a data transform that supplies initial values for properties or parameter values that are referenced in a connector rule.
- When the data page has a list structure, in the Response Page List field, specify the response page list to be used.
-
In the Response Data Transform field, specify a data
transform to be executed after a response is obtained.
Note: A response data transform is only required if the Applies To key part of the data source does not match or inherit from the object type of the data page.
- Optional: If the connector type is HTTP, REST, SOAP, or dotNet, you can override the endpoint URL value in the rule by specifying a value in the Endpoint URL field.
- For REST connectors, in the Method field, select a standard method to use to create the data source.
To continue the task, go to step 20. -
For data transform data sources, in the Data transform name
field, specify a data transform as the source of the data for the page.
To continue the task, go to step 20.
-
For report definition data sources, complete the following fields:
- In the Name field, specify the name of the report definition.
-
In the Response Data Transform field, specify a data
transform to be executed after a response is obtained.
A response data transform is only required if the Applies To key part of the data source does not match or inherit from the object type of the data page.
To continue the task, go to step 20. -
For lookup data sources, complete the following fields:
- In the Class name field, specify the class name for the lookup.
-
In the Response Data Transform field, specify a data
transform to be executed after a response is obtained.
This is only required if the Applies To key part of the data source does not match or inherit from the object type of the data page.
To continue the task, go to step 20. -
For activity data sources, in the Activity name field, specify
an activity to use.
To continue the task, go to step 20.
-
For robotic automation data sources, complete the following fields:
-
In the Robotic automation field, specify the name of the
case type on which the
Assign to robot queue
SmartShape is configured. - In the Timeout(s) field, specify the value, in seconds, that the data page should wait for the automation to run and return information to the data page.
-
In the Request data transform field, specify the data
transform that maps your input data to the specified case type.
The specified case will be initialized with this data, and the robotic automation can use this data within the logic that is defined on the automation.
- In the Response data transform field, specify the data transform that maps the response from the robotic virtual machine to the logical data model of your data page.
To continue the task, go to step 20. -
In the Robotic automation field, specify the name of the
case type on which the
-
For robotic desktop automation data sources, complete the following fields:
- In the Robotic desktop automation field, specify the robotic automation ID that was created when the automation was developed in Pega Robotics Studio.
- In the Timeout(s) field, specify the value, in seconds, that the data page should wait for the automation to run and return information to the data page.
-
In the Request Data Transform field, specify the data
transform that maps your input data to the specified case type.
The specified case is initialized with this data, and the robotic automation uses this data within the logic that is defined on the automation.
- In the Response Data Transform field, specify the data transform that maps the response from the robotic virtual machine to the logical data model of your data page.
To continue the task, go to step 20. -
For aggregate data sources, complete the following fields:
- In the Aggregate source name field, enter a name that clearly identifies this source on the data page.
-
In the Source field, select the type of aggregate source,
then follow the appropriate steps for each source:
- For connectors, see step 12.
- For data transforms, see step 13.
- For report definitions, see step 14.
- For lookup, see step 15.
- For activities, see step 16.
- For robotic automation, see step 17.
Note: At run time, the system executes the sources in the order that they are listed. You also cannot embed an aggregate source within another aggregate source. - Click Add source to add additional aggregate sources.
To continue the task, go to step 20. - Optional:
To allow the system to replace the current data source with a blank row, in the
Data Sources section, select Simulate data
source.
You can then select an alternative data source to use during development: a Report Definition, a data transform, or a lookup. You cannot select another connector. You can also select a system that indicates the system to use when the customer switches to the actual system of record.
- In the System name field, select the integration system to use as the source system for this data source.
- Optional: To process the data after it has been loaded, you can automatically call an activity to process the loaded data. In the Post load processing section, enter or select the name of the activity that you want to use, and then enter parameters.
- Optional: If you selected Savable in the Mode field, you can use the fields in the Data save options section to create a save plan to save updated data to a system of record without using an activity. For more information, see Creating a data page save plan.
- Click Save.