Professional Documents
Culture Documents
Pega Platform version 8.7 expands the scope of Cosmos React and its underlying view-based architecture to support the latest
open-source technologies and UI solutions. Cosmos React features a curated authoring experience that helps professional and
citizen developers build an application in the low-code App Studio environment, while also providing flexible orchestration.
Feature set
View-based applications combine the latest technology with Cosmos React, a dedicated version of the Cosmos design system.
Evaluate whether the Cosmos React setup supports your use case before building a new application, and continue using
section-based applications with Theme Cosmos where the classic architecture best serves your business needs.
For a list of supported and unsupported features in Cosmos React applications, see Choosing a UI version, UI version
comparison, and Feature limitations in Cosmos React.
For existing applications, the best practice is to keep your current front-end setup, whether it is Theme Cosmos or Theme UI-
Kit.
Theme Cosmos
Theme Cosmos is a section-based version of the Cosmos design system that helps you build powerful case management
applications in compliance with best practices and guidelines. By relying on a library of ready-to-use templates, patterns, and
themes, Theme Cosmos helps you reduce development effort and focus on your section-based application.
Both Theme Cosmos and Cosmos React offer efficient, user-friendly, and productive UI experiences for professional users.
Both application types are fully supported, with additional tooling in continued development.
For more information, see Feature limitations in Cosmos React and Theme Cosmos.
Cosmos relies fully on ready-to-use page structures, interaction pattens, and prefabricated UI components for more efficient
development and performance. In addition, a more modern design and increased focus on intuitiveness help save time on
application updates and user training.
Depending on the architecture that you use, the Cosmos design system has two versions: Cosmos React, which serves the
view-based architecture, and Theme Cosmos, which relies on sections.
When creating a new application, you can choose between a view-based Cosmos React UI, or a section-based Theme Cosmos
UI, which can be further expanded to include hybrid React components.
For more information on Cosmos, see the Pega Cosmos design system website.
Constellation UI Service
Cosmos React relies on the Constellation UI Service, a static content microservice that delivers front end components and
other static content to the browser. To obtain configuration, context, and data for Cosmos React applications, the
Constellation UI Service client interacts with the server exclusively through DX APIs. By keeping the container separate from
other services, you avoid dependencies, give developers tools to create new UI components without interfering with other
work, and improve overall application performance.
Cosmos taxonomy
The Cosmos design system maximizes productivity for the core guided workflow constructs of the Pega Platform. By
utilizing Cosmos' extensive library of ready-to-use page structures, interaction patterns and UI components, you can
deliver excellent interfaces while focusing on critical business logic and data, rather than building a UI from the ground
up.
Cosmos React offers a new low-code paradigm for developing applications quickly by using out-of-the-box components
built around the concept of configuration. This still-expanding framework creates products that require less customization
and one-off development, but promote a slightly different approach compared to application creation.
Configuring portals
Portals represent the main interface of your application, and provide users, such as case workers, managers, and
customers, with the tools that they need to do their work. By configuring portals, you can set up an optimal environment
for each of these user groups with minimal effort.
You use views to display and collect information in your applicaton, for example, to fulfill requests or process cases. By
setting up intuitive views and populating them with fields, you help users process their work with less effort.
Design systems help you introduce consistency to the applications that you build. By choosing to use a design system,
you can scale your designs to maintain a unified presence across a number of platforms with less effort.
Configuring an accessible UI
Reach the broadest audience for your application by building a user interface that addresses the needs of users with
disabilities. Designing a UI for assistive technologies, such as screen readers, is important for compliance and provides
essential access to users who have visual impairments.
Internationalization and localization help you reach a wider audience by making your application available to users who
speak different languages. Localization is the process of translating application text and converting locale-specific
components, and internationalization is a general design principle that makes software more convenient to localize.
You can choose parts of Pega Platform UI that suit your business needs and make them available to users of your
websites by creating a Web embed channel and inserting the auto-generated markup into any web page.
Cosmos React is an opinionated design system that promotes out-of-the-box, low-maintenance solutions. However, its
architecture includes tools that allow experienced developers integrate Cosmos React applications with other design
systems or older applications that rely on sections.
Constellation UI service
Cosmos React applications rely on a static content microserivce that delivers front-end components and other static
content to the browser.
Set up the first download of a Docker image from a Pega repository by configuring a Docker authentication config.json
file. This configuration is required when installing the Constellation UI Service with Docker for the first time.
Cosmos taxonomy
The Cosmos design system maximizes productivity for the core guided workflow constructs of the Pega Platform. By utilizing
Cosmos' extensive library of ready-to-use page structures, interaction patterns and UI components, you can deliver excellent
interfaces while focusing on critical business logic and data, rather than building a UI from the ground up.
The key components of a Cosmos UI include the home page, landing pages, and the full case page. You can configure each of
these components in the low-code authoring environment of App Studio.
Cosmos portal
Components of a Cosmos portal
Portal
Helps you to define how people interact with your application. Portals represent the main interface of your application,
and provide case workers, managers, and other users with the tools that they need to do their work.
The application displays landing pages and case pages in the main area of the portal. The left side of the portal features
an expandable menu that helps the users navigate the application and access notifications and recently viewed items.
Depending on your business needs, the portal can also include either a full application header, or a compact header in the
main menu consisting of an application name and logo. For more information, see Configuring portals.
Application header
If space is not a priority, you can add a header to the Cosmos portal. Although global search is available away from the
header in the main navigation, the application header can help your users identify the application at a glance, and
provides a central location for search. The header includes an application icon, a search bar, and an operator menu icon.
For more information, see Defining the application header.
Main navigation
Helps users navigate to landing pages, create new cases and – if the application has no header – access search features.
The menu also holds notifications and recent events, as well as user settings in portals in compact mode. If your
application does not use a header, the main menu also includes a global search box. For more information, see
Organizing the main navigation for a portal.
Preview panel
Provides users with tools to engage with a business object without context switching. The preview panel reuses the
structure and style of the summary panel of the full case page. For more information, see Configuring the preview panel.
Summary panel
Summary panel details
Case header
Holds the case name, icon, and number, as well as the case edit menu and the case actions menu. For more information,
see Configuring general case type settings and Configuring and working with optional actions in case types.
Summary data
Displays highlighted primary and secondary fields for your case. For more information, see Configuring the summary data
view.
Tabs
Provide users with access to additional data. The application displays the content of the current tab in the bottom half of
the work area. For more information, see Configuring the full case view.
Cosmos React offers a new low-code paradigm for developing applications quickly by using out-of-the-box components built
around the concept of configuration. This still-expanding framework creates products that require less customization and one-
off development, but promote a slightly different approach compared to application creation.
Cosmos React is a prescribed design system that promotes out-of-the-box, low-maintenance solutions. Consequently, some
classic Pega Platform components work differently in Cosmos React. The following table lists some of the changes to the
design process:
Component Change in Cosmos React Best practice
Editable The application removes editable data pages at the end of a requestor life
Use saveable data pages.
data pages cycle.
Live Cosmos React applications do not include the Design button and do not Use App Studio to build and
editing support live editing. edit views.
Mashups Cosmos React replaces iframe-based mashups with div-based web embeds. Use web embedding.
Reports
Cosmos React do not support complex reporting features with sub-reports and Use the Explore Data landing
and report
joins. page and Insights.
browser
Sections
Cosmos React supports template-based views that you design in App Studio. Use App Studio to build and
and
You cannot edit views in Dev Studio. edit views.
harnesses
Styles,
skins, and To maintain consistency, Cosmos React applications rely on the Cosmos
Use styling tools in App Studio.
custom design system for styling.
CSS
Temporary Cosmos React architecture is stateless, so it does not support temporary Use data pages for populating
pages pages. data.
For more information, see the Pega Academy article Cosmos React and Constellation.
UI version comparison
Pega Platform version 8.7 expands the scope of Cosmos React, a modernized UI.
Choosing a UI version
Cosmos React reduces time to value and offers a new paradigm for application authoring that eliminates the need for
deep Pega knowledge and front-end expertise. The goal of Cosmos React is to offer common patterns for case
management applications out-of-the-box.
By familiarizing yourself with the current capabilities and limitations of Cosmos React, you can choose the UI best suited
to your business needs. In cases where Cosmos React would limit the design of your application, the best practice is to
use Theme Cosmos.
You can use data visualization and reporting features to help you conveniently explore and analyze application data, such
as company sales, bugs, and team assignments. For example, in a sales application, you can visualize data about profits
that your company generates in specific regions. You can then analyze the distribution of earnings across various
categories of products.
Identify issues in the Cosmos React UI more conveniently by using recommended tools and techniques. Debugging helps
you adjust your application to make it issue-free and easier to maintain.
Application UI setup
When building a new application, you can choose the view-based Cosmos React UI or the section-based, server-rendered
Theme Cosmos UI that can also support view-based portal landing pages. You can check which UI your application is
using to better understand the tools at your disposal.
Pega Platform version 8.7 expands the scope of Cosmos React, a modernized UI.
Cosmos React is the newest version of the Cosmos design system that, paired with a view-based architecture, offers superior
efficiency and responsiveness, but supports a different feature set than the classic Theme Cosmos. By learning about the
limitations of each framework, you can better choose the UI that fits the needs of your business.
The following table presents recommended uses for the two UI architectures.
Application features
Mobile ✓ ✓
Offline mode ✓
Accessibility ✓ ✓
Localization ✓ ✓
Reporting
Authentication
Choosing a UI version
Applicable to Cosmos React applications
Cosmos React reduces time to value and offers a new paradigm for application authoring that eliminates the need for deep
Pega knowledge and front-end expertise. The goal of Cosmos React is to offer common patterns for case management
applications out-of-the-box.
You can extend Cosmos React for advanced use cases to build something new, but it is important to verify that Cosmos React
offers the business outcomes and capabilities that your application needs.
New applications Use Theme Cosmos Use Theme Cosmos Evaluate Cosmos React
For new applications that you build on top of existing applications that do not use Theme Cosmos, keep the original UI.
For example, Pega Customer Service uses Theme UI-Kit. If you build a new application that is based on the Pega
Customer Service application, it must also use Theme UI-Kit.
To shorten future migrations, consider preparing for migration now by checking existing applications for compliance with
the App Studio delivery approach. Use the App Studio Compliance landing page to identify non-compliant UI elements in
your application, and then plan development time to address identified issues.
For more information, see App Studio development and Reviewing user interface components.
By familiarizing yourself with the current capabilities and limitations of Cosmos React, you can choose the UI best suited to
your business needs. In cases where Cosmos React would limit the design of your application, the best practice is to use
Theme Cosmos.
Important:
Evaluate whether Cosmos React supports your use case before building a new application, and continue using Theme Cosmos
for complex applications that require highly specialized features, such as offline mode.
For existing applications, the best practice is to keep your current front-end setup, whether it is Theme Cosmos or Theme UI-
Kit. Migration tooling and guidance is currently in development and planned to be released in the Pega Platform version 8.8.
General limitations
Cosmos React does not support the following features in Pega Platform version 8.7:
Native preview and internal preview of media. Images can be uploaded, downloaded, or used as logo.
Offline mode.
Push and subscribe notification channels.
Multichannel features, including email and chat integration.
Rule delegation.
Paragraph rules.
Exporting tabular data to Excel.
Forms to edit or create data objects (data views are read-only).
Reports and the report browser. For more information, see Visualizing data with insights.
User-personalized dashboards.
Some localization features. For more information, see Localization limitations.
Complex mobile capabilities. For more information, see UI architecture recommendations for mobile apps.
Questionnaire limitations
Cosmos React does not support the following questionnaire features in Pega Platform version 8.7:
Collaboration limitations
Cosmos React does not support the following collaboration features in Pega Platform version 8.7:
In addition, Pega maintains a list of known issues discovered in Cosmos React applications. For more information, see Existing
known issues.
You can use data visualization and reporting features to help you conveniently explore and analyze application data, such as
company sales, bugs, and team assignments. For example, in a sales application, you can visualize data about profits that
your company generates in specific regions. You can then analyze the distribution of earnings across various categories of
products.
Funnel
Pyramid
Bubble
Bar (3 types)
Column (3 types) Theme Cosmos: Report Theme Cosmos: Theme Cosmos: Data Cosmos
Component
Line name
Definition Chart Control Visualization Control React
Spark (Line, Column)
Gauge – Speedometer
Gauge – Half-Dial
Gauge – Dial
Gauge – Linear
Gauge – Cylinder
Gauge – Thermometer
Gauge – Progress
Map
Pareto Chart
Scatterplot
Double Donut
Radar Chart
Bullet Chart
Concentric Circles
Simple Value
Identify issues in the Cosmos React UI more conveniently by using recommended tools and techniques. Debugging helps you
adjust your application to make it issue-free and easier to maintain.
Virtual DOM
Because Cosmos React uses ReactJS components, a virtual DOM is an important structure that stores metadata
information.
You can install the React Developer Tools plugin and use the Components tab in your browser's developer tools to check
UI elements and view related metadata. You can use the <virtual element>.props.getPConnect() command to get more
information about a selected component.
Redux DevTools
Cosmos React applications maintain data at the client server by using Redux.
Tracer
Tracer is the out-of-the-box tool for debugging Pega Platform applications.
For more information, see Application debugging by using the Tracer tool.
XRay
The XRay module provides an intuitive way to debug screen issues, such as metadata, fields metadata, and state
properties.
You can launch the XRay tool by entering PCore.getDebugger().toggleXRay(true) into the browser console. To disable XRay, enter
PCore.getDebugger().toggleXRay(false).
Application UI setup
Applicable to Cosmos React and Theme Cosmos applications
When building a new application, you can choose the view-based Cosmos React UI or the section-based, server-rendered
Theme Cosmos UI that can also support view-based portal landing pages. You can check which UI your application is using to
better understand the tools at your disposal.
You can check your UI setup by opening the Definition landing page in Dev Studio and looking at the Built on applications
and UI Runtime sections. Note: For more information on accessing and reviewing the application definition, see Exploring the
application definition.
Location of the Built on applications and UI Runtime sections on the Definition page
The following table presents how you can read the values of fields on the Definition page to determine your UI environment.
Section-based architecture
with Theme Cosmos but
without hybrid landing pages.
Configuring portals
Applicable to Cosmos React and Theme Cosmos applications
Portals represent the main interface of your application, and provide users, such as case workers, managers, and customers,
with the tools that they need to do their work. By configuring portals, you can set up an optimal environment for each of these
user groups with minimal effort.
When you create a new application, Pega Platform automatically generates the first portal for you. Depending on your UI, the
default portal is called either User Portal (for Theme Cosmos in hybrid mode) or Web Portal (for Cosmos React). Note: For
interfaces that use section-based Theme Cosmos architecture without hybrid mode, see Building portals.
You can then configure the portal in App Studio by picking a template, populating it with pages and reusable widgets, and then
setting up the primary menu. In this way, you can control what users see when they interact with your application, and what
kind of navigation, forms, and work items they can create and use. To modify the interface even further, you can also set up
different content visibility settings for each persona to ensure that users who belong to a specific group see only the
information that is relevant to their responsibilities.
The App Studio environment offers an updated portal authoring experience that relies on intuitive actions such as drag and
drop operations, and provides a live preview of the menu.
Creating a portal
Deliver a user experience that matches the needs of each user group by setting up portals. Portals are highly
configurable interfaces that can help you to define how personas interact with your application.
Set a header to give your portals a distinct visual identity. By applying an application header (the top bar that spans the
entire width of a page), you ensure that users can quickly distinguish between different portals.
Help users increase productivity by populating your portal with tools that have the most relevance to user roles.
You can use portals to design custom web interfaces for various personas in your application. Portals help you to control
the content with which each user interacts.
Previewing a portal
Preview a portal that you develop to verify that different types of devices, such as a desktop computer or a tablet,
correctly display the user interface.
Creating a portal
Applicable to Cosmos React and Theme Cosmos applications
Deliver a user experience that matches the needs of each user group by setting up portals. Portals are highly configurable
interfaces that can help you to define how personas interact with your application.
As a best practice, you can set up a single portal for all your users, and control the visibility of specific UI elements through
personas and access privileges. Alternatively, you can create a dedicated portal for each persona, and populate each portal
with prefabricated components that help users complete their tasks.Note: When you create a new application, Pega Platform
automatically generates the first portal for you. Depending on your UI setup, the default portal is called either User Portal (for
Theme Cosmos in hybrid mode) or Standard Portal (for Cosmos React). For interfaces that use section-based architecture
without hybrid mode, see Building portals.
1. In the navigation pane of App Studio, click Channels, and then click Portal.
Creating a portal
2. On the New Portal window, provide a meaningful name and description for the portal, and then click Submit.
3. On the New portal interface page, click Save. Result: The portal is now active. You can configure it by modifying
components such as the navigation menu, access settings, and headers.
Set a header to give your portals a distinct visual identity. By applying an application header (the top bar that spans the entire
width of a page), you ensure that users can quickly distinguish between different portals.
Alternatively, you can add a combination of a logo and an icon to the main navigation menu. Each portal has a separate
header, and different portals in the same application can use different header styles. Important: For section-based Theme
Cosmos, using the application header requires you to update the theme ruleset to version 04. For more information, see
Updating Theme Cosmos in your application.
Header types
1. Open your portal:
a. In the navigation pane of App Studio, click Channels.
b. In the Current channel interfaces section, click the icon that represents the portal for which you want to edit the
header.
2. On the Configuration tab, in the Logo list, select the type of logo that you want to use:
Note: When you use Theme Cosmos, the default portal logo is the same as the application logo. If you use a separate
logo for your portal, the portal settings take precedence over the application settings. For more information on selecting a
logo for your application, see Defining a logo for an application.
To use the application logo, select Use default logo.
To use a separate logo for your portal, select Custom logo, and then upload the icon you want to use.
3. Select the header type:
To use the application header, select the Display application header checkbox.
To use the banner in the navigation menu, clear the Display application header checkbox.
Note: In Theme Cosmos, the search popover provides a consolidated list of search results in a table. The table supports
filtering and is customizable. You can also use a link to open the advanced search results page in a new browser tab.
4. In the Channel header list, select the name that is displayed in the portal header.
5. Click Save.
Help users increase productivity by populating your portal with tools that have the most relevance to user roles.
Note: For applications that do not use hybrid mode, see Creating and managing pages for applications.The portal in your
application can include a mix of ready-to-use and custom components. For example, a portal for an HR Manager persona can
include an out-of-the-box Dashboard page. You can then expand the portal further by adding a ready-made case status widget
that provides quick insight into the number of pending applications. At the same time, you can set up a custom landing page
that lists all the employees on the manager's team who are on leave in a given week, to help your other users plan their work
with the resources they have at hand.
Landing pages
Pages in portals can help you provide users with the tools that they need to efficiently plan work and complete common
management tasks. By using out-of-the box components, you can set up a functional work environment with minimal
effort.
Build an application that matches the needs of your users by configuring landing pages. You can populate the pages with
fields, controls, and resources that improve user efficiency and workflows.
Build a navigation menu that effectively organizes the content of your portal by adding pages to the menu and
determining the available case types.
Landing pages
Applicable to Cosmos React applications
Pages in portals can help you provide users with the tools that they need to efficiently plan work and complete common
management tasks. By using out-of-the box components, you can set up a functional work environment with minimal effort.
For example, you can set up a Teams page to help users quickly find all the teams with which they work.
Pega Platform provides a variety of ready-to-use custom pages that cover common work scenarios:
Home
Contains a brief overview of the application, including update information, message feed, and a worklist.
Explore Data
Features reporting tools for data and case types.
My Work
Provides quick access to cases and assignments of the user.
Search
Contains a search tool with a set of pre-defined filters.
Home
The Home landing page provides the user with a quick overview of your application. You can populate the home page
with out-of-the-box widgets, as well as fields and views that best meet the needs of your business.
Explore Data
Explore Data provides a convenient way to analyze and manage data in your application. For example, you can access
the list of all assignments of your team, and then analyze their status to verify the remaining workload for the current
release.
The search landing page helps you control what data is available for the Search and Reporting Service (SRS). You can
decide which classes of specific applications you want to index, to make them available for search. For example, you can
index a class that contains data about resolved bugs to make bug resolution data searchable.
Insights help you conveniently explore and analyze application data, such as company sales, bugs, and team
assignments. You can use insights to retrieve specific data, and present the data as a list or an interactive chart.
Home
Applicable to Cosmos React applications
The Home landing page provides the user with a quick overview of your application. You can populate the home page with out-
of-the-box widgets, as well as fields and views that best meet the needs of your business.
Unlike a traditional Pega Platform dashboard that the end user can customize, the Home page in a Cosmos React application
is a curated experience. Consequently, it is the application designers who specify what users see when they log in.
App announcements
Displays a welcome banner for the user. You can modify the text and the background of the announcement, as well as the
destination of the action button.
For more information, see Configuring the Home page welcome banner.
Pulse
Displays a message feed.
To do
Displays list of open cases assigned to the user.
Send a customized message to your users by configuring the welcome banner on the Home page of your application with the
App announcement widget. For example, you can configure the banner to display a bulleted list of the latest changes to the
application.
For more information about configuring work queues, see Creating a work queue.
For example: Display assignments from the worklist and work queues of the user by selecting the My worklist and Work
queues checkboxes.
Explore Data provides a convenient way to analyze and manage data in your application. For example, you can access the list
of all assignments of your team, and then analyze their status to verify the remaining workload for the current release.
Explore Data feature uses a React-based landing page to improve the user experience. For more information, see Cosmos
React.
On the Explore Data landing page, you can perform the following actions:
Gain access to your application data, such as detailed information about assignments, bugs, and sales.
View and access all saved insights.
Filter, sort, or group data to view only the specific information that matches your business needs.
Create customized insights that you can use throughout the application.
If you want to show properties in Explore Data, ensure that the properties are optimized for reporting and marked as
relevant records. Embedded properties from Page Lists are not supported in Explore Data.
You can create simple associations between classes, and add them to your insights. For more information, see Creating
simple associations between classes.
Create appealing interactive charts using your application data, to conveniently analyze the results.
You can choose from several chart types, such as pie, bar, donut, or column.
The following visualization presents how to access and manage list-based insights in the Explore Data feature:
The search landing page helps you control what data is available for the Search and Reporting Service (SRS). You can decide
which classes of specific applications you want to index, to make them available for search. For example, you can index a
class that contains data about resolved bugs to make bug resolution data searchable.
When you access the landing page, you can perform the following actions:
Add properties or classes that you want to index by adding custom search properties.
Synchronize specific data to make the applications up-to-date.
For example, you can manually synchronize after resolving issues with broken items.
Verify the status of data that you index, and analyze potential errors.
Index the data of specific classes into the SRS.
Manage fuzzy search parameters to enable the service to search for similar words that you enter.
For example, if you search for tst, the system returns test and tests. The results depend on the fuzzy search parameters that
you set.
Insights help you conveniently explore and analyze application data, such as company sales, bugs, and team assignments.
You can use insights to retrieve specific data, and present the data as a list or an interactive chart.
For example, in a sales application, you can visualize data about profits that your company generates in specific regions, and
then analyze the distribution of earnings across various categories of products.
Pega Platform uses insights to transform data queries into tables or visualizations that you can then share between users and
embed in landing pages of your applications. Insights can include multiple data items that you can filter, sort, and group
according to your business requirements.
Reporting provides list-based and chart-based insights that you can access by using the Explore Data feature in your
application.
Collect specific information about your application, and save it in a clear visual form to support the process of data
analysis. For example, you can create a list-based insight that provides data about resolved assignments, and then filter
the content by application users to analyze their performance.
Creating insights
Applicable to Cosmos React and Theme Cosmos applications
Collect specific information about your application, and save it in a clear visual form to support the process of data analysis.
For example, you can create a list-based insight that provides data about resolved assignments, and then filter the content by
application users to analyze their performance.
Before you begin: Add the Explore Data page to your application. For more information, see Organizing the main navigation
for a portal.Note: You can add the Explore Data page only if your application uses a Cosmos React or Theme Cosmos in hybrid
mode.
What to do next: You can view and access your insights in the Insights section of the Explore Data landing page.
Decide what data you want to present in your insights by using intuitive tools that provide options to filter, sort, and
group the data. For example, you can filter an insight to include only resolved assignments, so that you can analyze the
performance of a whole department. Then, you can group the results by teams to compare their work.
Adjust the appearance and contents of chart-based insights to visualize only the specific information that is relevant to
your business needs. For example, in a flight booking application, you can visualize data about recent reservations, and
then filter the results by specific destinations to analyze the latest trends in business.
Improve the look of your application by creating visually appealing insights that present data in a modern and intuitive
manner. For example, you can convert simple list-based insights to interactive charts to ensure a user-friendly experience
when analyzing data.
Before you begin: Add the Explore Data page to your application. For more information, see Organizing the main navigation
for a portal.Note: You can add the Explore Data page only if your application uses a Cosmos React or Theme Cosmos in hybrid
mode.
For example: The following example presents list-based insight with grouped data by months and days. Thanks to grouping
data by multiple properties, you can retrieve more specific information.
Adjust the appearance and contents of chart-based insights to visualize only the specific information that is relevant to your
business needs. For example, in a flight booking application, you can visualize data about recent reservations, and then filter
the results by specific destinations to analyze the latest trends in business.
You can choose from a wide range of chart types to conveniently present your data.
Before you begin: Add the Explore Data page to your application. For more information, see Organizing the main navigation
for a portal.Note: You can add the Explore Data page only if your application uses a Cosmos React or Theme Cosmos in hybrid
mode.
Change
In the Chart type section, in the types list, select the chart that you want to view.
visualization
a. From the Fields section on the right side of the screen, drag numerical data into the Measures
area.
Visualize Note: If you change the object type, the system discards all settings of the insight, such as filter
specific conditions, chart type, and selected data.
data b. Create a chart by dragging further data into the Dimensions area. For example: Drag the Loan
amount and Customer data records into the Measures and Dimensions fields respectively to
visualize the loans of specific borrowers.
a. In the Fields section, in the Measures area, next to the record that you want to edit, click More,
and then select a measure to include in the chart. For example: For the Loan amount record,
Change select Maximum to visualize records with the highest loan amount.
measures
For the Amount to insure record, select Count to visualize the number of items to insure per
customer.
a. From the Fields section, drag the data by which you want to filter the chart into the Filters area.
For example: Drag the Create date/time record to filter results by the date of creation.
b. In the list of relational operators, select an operator for your filter.
Apply basic c. If you filter results by dates, in the date parts list, select certain date part, and then specify the time
filters period. For example: Select Relative date, and then in the Time period and Date part lists,
select Current and Week(s) respectively, to display results from the current week only.
d. Click Submit.
e. Optional: To apply more filters, drag more records into the Filters area.
a. In the Filters section, click Add advanced filter, and then, in the dialog box with filters, click
Apply
Advanced mode.
advanced
b. In the Advanced condition field, enter the filter logic, and then click Submit. For example: If you
filters
apply two filters, enter 1 OR 2 to filter data by either of the conditions.
a. In the Sorting section, in the Sort by list, select the data by which you want to sort the chart.
Sort data b. In the Sort order list, specify how you want to sort the data. For example: Select Ascending to
display values from lowest to highest.
5. On the CHART tab of your insight, manage how the system displays supplementary information in the chart:
Choices Actions
In the Series section, next to the data series whose chart you want to update, click More, and then select
Manage specific option to manage.
data series
For more information, see Managing data series in insights.
You can apply grid lines for two axis at once when customizing the bubble chart.
Toggle In the Tooltips section, select the Show tooltip checkbox to display supplementary information about
tooltips the chart columns.
a. In the Legend section, and then select the Show legend checkbox.
Manage b. Customize the chart legend by providing specific details. For example: In the Type list, select
chart checkboxes to create a legend in the form of clickable checkboxes.Note: The system hides the
legend columns that correspond to the checkboxes that you clear.
6. In Choices
the upper-right corner of the insight, click Save insight. Actions
For example: You can filter data of your insights to get the specific information that you require at the moment. The following
visualization presents how to retrieve data about profits that each state generates by selling television sets that are shipped
by regular air transport.
Improve the look of your application by creating visually appealing insights that present data in a modern and intuitive
manner. For example, you can convert simple list-based insights to interactive charts to ensure a user-friendly experience
when analyzing data.
Before you begin: Add the Explore Data page to your application. For more information, see Organizing the main navigation
for a portal.Note: You can add the Explore Data page only if your application uses a Cosmos React or Theme Cosmos in hybrid
mode.
For example: The following visualization presents how to create an interactive chart-based insight from a table:
Build an application that matches the needs of your users by configuring landing pages. You can populate the pages with
fields, controls, and resources that improve user efficiency and workflows.
For example, portals for managers might include a page that contains a list of case workers and their workloads, which
provides improved insight into resource allocation.
Note: Landing pages are view-based. For applications that use section-based UI without view-based landing pages, see
Creating and managing pages for applications.
1. Open your portal:
a. In the navigation pane of App Studio, click Channels.
b. In the Current channel interfaces section, click the icon that represents the portal to which you want to add a
custom page.
2. On the portal page, on the Content tab, click the Landing pages category.
3. In the Landing pages pane on the left side of the screen, click Add.
4. In the Add a page dialog box, in the Name field, enter a unique page name.
5. In the Template list, select the template that you want to use.
6. Click Submit, and then click Save.
If the page uses a list page template, configure table settings. For more information, see Configuring a list-based landing
page.
If the page uses a column template, add UI elements to the page. For more information, see Configuring a column-based
landing page.
If the page uses a tab template, configure tabs and their content. For more information, see Configuring a tab-based
landing page.
If the page uses a dashboard template, configure the dashboard layout and content. For more information, see
Configuring a dashboard.
Help users work more efficiently by aligning landing pages with the latest needs of your business. You can quickly rework
landing pages to present users with the information they need in a friendly, intuitive interface that uses prefabricated,
low-code components.
Help users quickly process large amounts of information by setting up list views. Pega Platform applications display lists
as tables or tiles, which you can configure to support filtering, sorting, and custom presentation options.
Organize case data by categories with a tab-based landing page template. By using tabs, you can create a familiar and
intuitive UI that saves screen space and helps users find the information they need with less effort.
Configuring a dashboard
Increase the productivity of your team by configuring a dashboard that displays relevant data in a convenient form. For
example, you can design a workspace that includes a number of insights that help managers oversee work by displaying
case status, sales data, and burndown charts.
Help users work more efficiently by aligning landing pages with the latest needs of your business. You can quickly rework
landing pages to present users with the information they need in a friendly, intuitive interface that uses prefabricated, low-
code components.
Create a landing page that uses the column template. For more information, see Creating a landing page for an
application.
Create the views and insights that you want to add to the landing page. For more information, see Creating views in
Cosmos React and Creating insights.
For example:
Help users quickly process large amounts of information by setting up list views. Pega Platform applications display lists as
tables or tiles, which you can configure to support filtering, sorting, and custom presentation options.
For example, a portal for loan officers can include a table that lists mortgage applications. Each manager can then gain quick
insight into upcoming work and the status of ongoing cases. You can also set up multiple views to help users filter the data
according to their needs.
Before you begin: Prepare the configurable components:
Create a landing page that uses the list page template. For more information, see Creating a landing page for an
application.
Identify a data page from which you want to source the list content. For more information, see Creating a data page.
For example: If you configure several views for your list, at run time, the table includes a view picker similar to the one that
is presented in the following figure:
View picker
If you configure your view as a gallery, the UI displays list entries as tiles. The following image represents a sample gallery tile:
Organize case data by categories with a tab-based landing page template. By using tabs, you can create a familiar and
intuitive UI that saves screen space and helps users find the information they need with less effort.
Create a landing page that uses the tab template. For more information, see Creating a landing page for an application.
Create the views and insights that you want to add to the landing page. For more information, see Creating views in
Cosmos React, Creating views for case types and Creating insights.
For example: In this scenario, the Pulse and History views are sharing a tabbed template.
The dashboard consists of three regions, with the upper part of the screen divided into two columns, and the lower part
comprising a single, full-width column region.
Create a landing page that uses the dashboard template. For more information, see Creating a landing page for an
application.
Create the views and insights that you want to add to the landing page. For more information, see Creating views in
Cosmos React and Creating insights.
Filter menu
Keep the content of your portal concise and relevant by removing obsolete pages. By disabling an existing landing page, you
ensure that users cannot add it to their menus.
A page that you remove from an application is no longer available in the Landing pages list.Note: You can still use the
resources that the inactive page contains, and access the page through the Relevant records menu in Dev Studio. For more
information, see Relevant records for rule reuse.
Creating a portal
You can use portals to design custom web interfaces for various personas in your application. Portals help you to control the
content with which each user interacts.
Users have different needs that align with the roles they play within the case management process. To improve their
experience, you can design a web interface that provides them with the information and functionalities they need, but hides
options that are not relevant to their role. This method contributes to a cleaner user interface and makes navigation quicker
and more convenient.
Depending on the needs of your organization, you can set up a single portal and control the visibility of particular UI elements
through personas and access privileges, or create separate portals for individual user groups. In the case of multiple portals,
each version uses the same ready-to-use designs, which provide a reliable basis for a flexible user interface. The streamlined,
single-design approach improves run-time performance and reduces development effort.
Existing persona Click Add, and then click the persona to which you want to give access to the portal.
What to do next: You can gain a more granular control over the content by defining default channels and visible pages for
each persona. For more information, see Granting personas access to channels and pages.
Creating a portal
Previewing a portal
Applicable to Cosmos React and Theme Cosmos applications
Preview a portal that you develop to verify that different types of devices, such as a desktop computer or a tablet, correctly
display the user interface.
Note: Device preview is not a substitute for application tests on an actual device.
1. In App Studio, click Preview, and then select a portal that you want to preview by clicking the portal list next to the
application name.
2. In the navigation pane of App Studio, check the preview size by hovering over the monitor and tablet icons. Result:
Different preview shapes indicate the screen size for every device.
3. Display the application preview for a device by clicking that device icon.
Note: When you preview a web portal on a mobile device, App Studio displays it in a mobile browser. The browser
interface is different from a Mobile Client channel, which is a separate, mobile-native interface.
4. For tablets, toggle the viewing modes:
a. Switch between landscape and portrait modes by clicking the device icon again.
b. Preview the app for a specific mobile device, in the drop-down list next to the device icons, select a device model.
You can edit the list of devices in Dev Studio. For more information, see Adding, editing, and deleting a preview
device.
For example: The following visualization shows how to preview a portal at run time.
To preview how a specific device, such as a phone or a tablet, displays your application, modify the list of devices for which
you can generate a preview. If you have access to Dev Studio, you can add a new device to the list, edit an existing device in
the list, or delete a device from the list.
Result: The device list for app previews shows the changes that you made.
Previewing a portal
You use views to display and collect information in your applicaton, for example, to fulfill requests or process cases. By setting
up intuitive views and populating them with fields, you help users process their work with less effort.
Cosmos React introduces a new approach to view authoring. For a brief overview of the most important changes, see
Configuring Cosmos React.
Cosmos React provides you with ready-to-use view templates that cover a many common UX layouts and scenarios. You can
edit the views built on certain templates, which enables you to use them to gather user data, while other templates are read-
only and are meant for displaying only data that is already in the system. You can reuse most views to improve consistency,
and you can make editable views read-only in a different context.
You can find the views associated with your case type or object on the User Interface tab.
For example: The following figure represents a sample User Interface tab in a mortgage application.
You use the central Edit pane to configure the content of your view. The Preview presents an image of what your view might
look like in context.
Types of views
The Cosmos React framework includes the following types of views on the views pane:
For example: In the following scenario, a mortgage application includes a Mortgage type view. The view is a form, and it is
attached to a step in the case workflow. As an editable form, the view includes drop-down lists and editable fields.
On the other hand, the same Mortgage type view can be iin a read-only context. In this case, the view is in the Details tab
of the case.
Create personalized views for your cases and data objects to capture and display the information that your users need.
By creating a view, you can lower application development time and costs because you can reuse views for multiple
contexts.
Configuring views
When users interact with your application, the interface they see is composed of views. Views hold UI components, such
as fields, widgets, and other views, and organize them by using out-of-the-box layouts that match common interface
scenarios. By configuring a view, you decide which template to use, and what kind of content to display in your view.
Configuring fields
Fields model data in your application UI and define what information you need to provide to reach your business goals.
Create personalized views for your cases and data objects to capture and display the information that your users need. By
creating a view, you can lower application development time and costs because you can reuse views for multiple contexts.
For example, you can create a view that captures feedback from a customer after you resolve a case, such as a loan request,
and then save time by reusing the view for other case types for which you need to collect feedback.Note: When you create a
case or data object, Pega Platform generates the following out-of-the-box views:
Details view
Full view
Preview
Summary data view
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. Create a view:
Choices Actions
View templates
Note: When you create views for steps in the Workflow tab, the list includes only column-based views.
4. Click Submit.
Configuring views
When users interact with your application, the interface they see is composed of views. Views hold UI components, such as
fields, widgets, and other views, and organize them by using out-of-the-box layouts that match common interface scenarios.
By configuring a view, you decide which template to use, and what kind of content to display in your view.
Whenever you configure your view, the basic setup of your workspace is similar. The following figure presents a sample
representation:
While your workspace setup does change depending on the type of view you are editing, it generally includes the following
elements:
Give cases and data objects a visual representation to help users access the data that they need to successfully process
work. When you create a case type or data object, the application automatically adds a view that represents the visual
framework for processing related information.
Cluster UI components into a convenient module that you can reuse in different contexts throughout your application by
using case and object views. You can use case views for case types and object views for data objects in read-only
scenarios, for example, as tabs on the full view page.
Help users access and compare data with lists. Use tables, timelines, and tile galleries in your applications as a flexible
basis for users to process large amounts of information. For example, tables in a price comparison application can help
users efficiently identify the best offer.
Configuring forms
Help users complete their work efficiently by configuring intuitive form views. For example, in a loan application, you can
create a view with fields for collecting data about a secondary applicant and, when needed, reuse that view in different
contexts throughout the application. By default, the system creates one form view for each step in the workflow.
Give cases and data objects a visual representation to help users access the data that they need to successfully process work.
When you create a case type or data object, the application automatically adds a view that represents the visual framework
for processing related information.
You can find the full view in the views pane on the User Interface tab of a case or a data object.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. Open the full view that you want to configure:
Choices Actions
On the User interface tab, in the Views pane on the left side of the window, click
Case view
Full case view.
a. On the Data model tab, in the Options column, click the data object for which
Data viewNote: Data object you want to create a view.
views are read-only. b. On the User interface tab of the data object, in the Views pane on the left
side of the screen, click Full data view.
3. Define the header for the page:
a. In the Header list, select the field whose content you want to display as the main header.
b. In the Subheader list, select the field whose content you want to display as the secondary header.
c. Optional: To remove the default case icon from the header, clear the Show icon in header checkbox.
d. Optional: In the case view, to remove the life-cycle chevrons from the header, clear the Show case life cycle
checkbox.
The preview on the right side of the work area reflects the changes that you make to the page.
4. In the Tabs section, manage the tabs in the pane on the left side of the case page:
By default, the application creates the Details and Pulse tabs.
To create a new tab, click Add, and then enter the name for the tab.
To remove a tab, click the Remove icon.
To change the position of a tab, drag the tab into place.
5. Optional: To edit the content of each tab, click the Drill in icon for that tab, and then updates the tab:
To change the tab template, click Edit, and then click the template that you want to apply to the tab.
To change the name of the tab, in the Tab name field, enter a new name.
To add a widget, view, field, or an insight to the tab, click Add, and then select the item that you want to add.
To change the position of a field or a view on the page, drag the component into place.
To remove a field or a view from the page, click the Remove icon.
Note: All views in a full view are read-only, including embedded form views.
6. In the Utilities section, manage the widgets in the expandable pane on the right side of the full view:
For case views, the application adds the Attachments, Related cases, and Followers widgets automatically to the
Utilities section.
To add a new widget, click Add, and then select the widget that you want to use.
To change the name of a widget, click the Configure icon, and then provide the new widget name.
To remove a widget, click the Remove icon.
To change the position of a widget, drag the component into place.
7. Click Save.
For example: In this scenario, the full case page includes a promoted action button in the header (1), four tabs (2), case life
cycle chevrons (3), and a utilities pane with Followers, Attachments, and Related cases widgets (4).
Cosmos React provides a wide range of widgets that you can add to your application to improve usability by gathering
helpful functions in one place. For example, a banking application can include the Attachment widget with which users
can upload documents to speed up the mortgage process.
Some widgets are customizable and require additional configuration to fully work, while others are ready to use by default. For
example, you can help users maintain clarity in attachments by defining custom categories for the attachments that they
upload to cases.
You can customize your Pega Platform applications with various widgets:
App announcements
Displays a welcome banner for the user on the portal Home page. You can modify the text and the background of the
announcement, as well as the destination of the action button.
For more information, see Configuring the Home page welcome banner.
Attachments
Supports adding files and links to assignments. For more information, see Categorizing case attachments.
Case history
Shows details about assignments in the form of a table. For example, the information includes names of users who
perform actions in an assignment.
The widget does not require additional configuration and is ready to use by default.
Case operator
Includes the name of the user who submits an assignment.
The widget does not require additional configuration and is ready to use by default.
Followers
Shows the list of users who track the progress of a certain case. For more information, see Following a case.
Pulse
Displays a message feed.
Pulse
Provides users with a message feed in which to communicate with each other.
The widget does not require additional configuration and is ready to use by default. For more information, see Configuring
Pulse for case types.
Related cases
Shows the list of cases that are related to a certain case.
The widget requires additional configuration. For more information, see Configuring the Related cases widget.
Stakeholders
Shows the list of users who are the first points of contact for a certain case.
The widget requires additional configuration. For more information, see Configuring case participants.
Tags
Shows the list of tags that are relevant to a certain case.
The widget requires additional configuration. For more information, see Configuring the Tags widget.
To do
Displays list of open cases assigned to the user on a portal landing page. For more information, see Configuring the Todo
widget
Help users get a broader perspective on assignments by providing the option to include related cases in a dedicated
widget. For example, in a loan application case, users can add interrelated cases about their credit history to ensure that
all relevant information is in one place.
Help users find relevant information by providing a readable landing page that stores data with assigned tags. Displaying
tagged data in one place saves users' time and enhances the process of analysis.
Identify the people, businesses, and organizations that receive case notifications by defining case participants. For
example, you can create a group of customer service representatives so that they can receive notifications about new
assignments and upcoming goals and deadlines.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, open the full view.
3. In the Edit view pane, in the Utilities section, click the Configure related cases icon.
Note: The Related cases widget appears in the utilities pane of the full view by default.
4. If you do not see the widget, add it to your application by clicking Add Related cases Add .
5. In the Edit widget: Related cases dialog box, manage the widget settings, and then click Save. For example: In the
Visibility list, select Custom condition and configure the widget to appear when the assignment status is Open.
For example: The following visualization presents the related cases widget at run time. In this example, the user adds
several cases to the loan application assignment.
After user clicks a certain tag, the system displays a comprehensible landing page with cases and Pulse comments that
contain that tag. For example, if you click the Testing tag, the system retrieves all cases and Pulse comments with that tag.
To use the Tags landing page, you configure the pyConfigureTagsLandingPageURL data transform that maps properties with a
URL that holds the landing page.Note: If you do not configure the data transform, then after clicking a tag, the system opens
a list of cases with tags in a modal dialog box.
For example:
The following example shows the Tags landing page with all cases and Pulse posts that include the #ui tag.
Configuring case participants
Identify the people, businesses, and organizations that receive case notifications by defining case participants. For example,
you can create a group of customer service representatives so that they can receive notifications about new assignments and
upcoming goals and deadlines.
You can define internal participants that are users of your application, and external participants that do not have an account in
your application, such as stakeholders. You can also refer to participants as work parties.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. In the case working area, click the Settings tab.
3. In the settings pane, click Participants.
Note: At run time, the widget is called Stakeholders.
4. In the Participants section, click Add participant.
5. In the Participant configuration window, in the Role name field, enter a unique name that indicates the relationship
of the participant to the case type, for example, Worker.
6. Define role preferences for the participant:
Choices Actions
a. In the Role has user account with this application section, select Yes.
b. Optional: To populate information about a participant, in the Preferences section, associate the
participant with the current user or a reporting manager of the current user, by clicking Map
participant, and then selecting either Current user or Reporting manager. For example: If you
Participant
map a participant to a current user, an application populates participant information with values that
with an
describe a user who currently processes the case at run time, without using a separate data
account in
transform for each user.
your
c. Optional: To save time and create more participants that have the same notification settings, enable
application
creation of multiple participants for this role by selecting the Allow multiple participants for this
role checkbox.
d. Optional: To speed up case creation, enable automatic creation of participants when the case starts
by selecting the Create participant automatically when the case starts checkbox.
Participant
a. In the Role has user account with this application section, select No.
without an
b. Optional: To save time and create more participants that have the same notification settings, enable
account in
creation of multiple participants for this role by selecting the Allow multiple participants for this
your
role checkbox.
application
7. Click Done.
8. Click Save.
For example: The following visualization presents the Stakeholders widget at run time.
Configuring case and object views
Cluster UI components into a convenient module that you can reuse in different contexts throughout your application by using
case and object views. You can use case views for case types and object views for data objects in read-only scenarios, for
example, as tabs on the full view page.
Case and object views include custom views that you create during application development and default views that the
application creates automatically, namely, the Details, Preview, and Summary views. When enabled, the Confirmation
view also appears in the case views list.
By default, the system sets Details and Summary views as tabs on the full view page.
You can case and object views in the views pane on the User Interface tab of a case or a data object.
Help your users get the main facts about a case or a data object without opening a new browser tab. By configuring a preview,
you can decide which fields the preview panel displays on the right side of the application when the user clicks the preview
option.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. Open the preview that you want to configure:
Choices Actions
Case
On the User interface tab, in the Views pane on the left side of the window, click Preview.
view
a. On the Data model tab, in the Options column, click the data object for which you want to create a
Data view.
view b. On the User interface tab of the data object, in the Views pane on the left side of the screen, click
Preview.
3. Adjust the appearance of the preview pane by doing any of the following actions:
To remove the case life cycle chevron from the preview, clear the Show case life cycle checkbox.
To hide related assignments, clear the Show assignments checkbox.
For example: In this scenario, the preview presents the details of a loan attestation case.
Give your users a convenient way to check important case or data object information by configuring the summary data view.
The summary data view appears on the left side of the case page and lists data, such as case priority, status, or history.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. Open the summary view that you want to configure:
Choices Actions
Case
On the User interface tab, in the Views pane on the left side of the window, click Summary data.
summary
a. On the Data model tab, in the Options column, click the data object for which you want to create
Data a view.
summary b. On the User interface tab of the data object, in the Views pane on the left side of the screen, click
Summary data.
3. In the Highlighted fields section, click Add, and then select which fields and widgets you want to display at the top of
the case summary pane. For example: To add a widget that displays links to related work items, click Add Widgets
Related cases .
4. In the Fields section, click Add, and then select which fields and widgets you want to display below the primary fields on
the case summary pane. For example: Click Add Fields Case ID .
For example: In this scenario, the summary data view displays Priority and Borrower primary fields, as well as several
case-related secondary fields, including Purchase Price and Mortgage amount.
Sample summary data view configuration for a case
The fields that you map into the Highlighted fields region render inline from left to right, and their values render with a
pronounced visual treatment. The fields that you map into the Fields section stack vertically along the summary panel with
the field label on the left and the value on the right.
Build case-wide UI modules by defining the form and content of a details view. Details views are clusters of UI components,
such as fields, that you reuse in different contexts across your application in read-only mode.
For example, in a loan application, you can create a view with account details of the loan applicant.
Create a column-based details view. For more information, see Creating views in Cosmos React.
Prepare the data components that you want to add to the view. For more information, see Configuring a data model for a
case.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. Open the view that you want to configure:
Choices Actions
Case
On the User interface tab, in the Views pane on the left side of the window, click Details.
view
a. On the Data model tab, in the Options column, click the data object for which you want to create a
Data
Choices view.
Actions
view b. On the User interface tab of the data object, in the Views pane on the left side of the screen, click
Details.
3. In the Edit view section, define the layout and header for the view:
To change the view template, click Edit, and then click the template that you want to apply to the view.
To change the name under which the view appears on the view list, in the View name field, enter a new view name.
To change the text of the label that appears at the top of the view at run time, in the View label field, enter a new
label text.
To display the view without a label at the top, clear the Show label checkbox.
4. Optional: To display selected fields in a prominent position on the top of the view, perform the following actions:
a. Select the Enable highlighted fields checkbox.
b. In the Highlighted fields section, click Add, and then select the field that you want to highlight.
5. In the Region section, define the content of the view:
To add a field, view, data relationship, or UI component to the view, click Add, and then select the item that you
want to include.
To change the position of a field or view on the page, drag the component into place.
To remove a field or view from the page, click the Remove icon.
6. In the row with the new item, click the Configure icon, and then define additional settings, such as labels and visibility.
For more information, see Configuring fields.
7. Click Save.
For example:
In this scenario, the details view displays fields that contain information about the loan originator.
Configuring tabs
Applicable to Cosmos React applications
Group fields together in your application by category with a tabbed view template. By using tabs, you can create an intuitive
UI that saves screen space and helps users find the information they need with less effort.
Depending on your business needs, you can also nest tabs views inside other tab views.
Create a view that uses the tabbed template. For more information, see Creating views in Cosmos React.
Prepare data components that you want to add to the view. For more information, see Configuring a data model for a
case.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the tabbed view that you want to edit.
Data objects do not support simple tabs.
3. In the Edit view section, define the header for the view:
To change the text of the label that appears at the top of the view at run time, in the Header field, enter a new label
text.
To display the view without a label at the top, clear the Display header checkbox.
4. In the Tabs section, click Add.
5. In the New tab dialog box, enter the name for your tab, and then click Submit.
6. In the Tabs section, next to the newly added tab, click the Drill in icon.
7. In the Edit tab pane, configure the tab by doing any of the following actions:
To change the tab template, click Edit, and then click the template that you want to apply to the tab.
To change the tab label, in the Tab name field, enter the new label text.
To add a widget, view, field, or an insight to the page, click Add, and then select the UI component that you want to
add.
To change the position of a UI component on the page, drag it into place.
To remove a component from the page, click the Remove icon.
To define when the tab appears in the view, in the Visibility list, define the visibility condition.
For more information, see Using conditional logic in Cosmos React.
8. At the top of the Edit tab pane, click Back to return to the main view.
9. Optional: To create additional tabs, repeat steps 4 through 8.
For example: In this scenario, the Pulse and History views are sharing a tabbed template.
Source your UI from data objects to keep your UI up to date with minimum effort. By linking a dynamic tab in your application
to a data object, you can ensure that the system automatically updates the UI to match any changes to the data.
For example, you can use dynamic tabs to display information about your customer's subscriptions. You create a Subscriptions
data object that holds the list of services that the customer uses, and then use that object as a data source for dynamic tabs,
with separate tabs for each service. If the user adds a new subscription service to the list, the system automatically adds a
new tab for that service, with no additional configuration required.
For more information, see Adding data objects to organize data and Creating views in Cosmos React.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. Open the view that you want to configure:
Choices Actions
On the User interface tab, in the Views pane on the left side of the window, click the dynamic tabbed view
Case
that you want to edit.
a. On the Data model tab, in the Options column, click the data object for which you want to create a
Data view.
object b. On the User interface tab of the data object, in the Views pane on the left side of the screen, click the
dynamic tabbed view that you want to edit.
3. In the Edit view section, define the header for the view:
To change the name under which the view appears in the view list, in the View name field, enter a new view name.
To change the text of the label that appears at the top of the view at run time, in the Header field, enter the new
label text.
To display the view without a label at the top, clear the Display header checkbox.
4. In the Data page field, select the list for the data object from which you want to source the tab information. For
example: Select List subscriptions, which is the auto-generated list for the Subscriptions data object.
5. In the Tab label field, select the data object property that determines how the system divides content into tabs. For
example: Select Subscription name.
In the Subscriptions data object, the Subscriptions name field has three records: TV, Internet, and Mobile. Consequently,
the system sources three tabs, TV, Internet, and Mobile, each representing a single record.
6. In the Tab content field, select the data object view that you want to display on the tab. For example: Select Details.
For example: In this scenario, the tabs represent records in the Subscriptions data object.
Help your users better understand the next steps in their work by configuring an out-of-the-box confirmation view. A
confirmation view appears when the user completes all of their assignments, and you can configure it to display custom
instructions or a list of open tasks that might interest the user later in the process.
For example, you can use your application to register customer complaints. When the case worker completes processing a
complaint and has no more work assigned, the confirmation view displays guidance on what to communicate to the user who
logged the complaint.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. In the case type, click the Settings tab.
3. In the menu on the left side of the case type, click General.
4. In the Assignment processing section, select the Display custom view when no more assignments are available
to the user checkbox.
5. Click Save, and then, click Actions Refresh .
6. On the User interface tab, in the Case views section, click Confirmation.
7. In the Edit view section, define the header for the view:
To change the text of the label that appears at the top of the view at run time, in the View label field, enter the new
label text.
To display the view without a label at the top, clear the Show label checkbox.
8. In the Region A section, define the content of the view:
To add a field, view, data relationship, or a UI component to the view, click Add, and then select the item that you
want to add.
To change the position of a field or a view on the page, drag the component into place.
To remove a field or a view from the page, click Remove this field.
9. In the row with the newly added item, click the Configure icon, and then define additional settings, such as labels and
visibility.
For more information, see Configuring fields.
10. Optional: To hide open assignments from the view, clear the Show tasks checkbox.
Tip: You can edit the What's next message by editing the contents of the pyWhatsNext property. For more information,
see Configuring page, page group, and page list properties.
Help users access and compare data with lists. Use tables, timelines, and tile galleries in your applications as a flexible basis
for users to process large amounts of information. For example, tables in a price comparison application can help users
efficiently identify the best offer.
You can also configure views to support editing, sorting, and custom presentation options.Note: Data objects and case objects
do not use list views, but can produce tables through field configuration. For more information on configuring data and case
objects as tables, see Configuring fields associated with case and data objects.
You can find list views in the views pane on the User Interface tab of a case. Data objects do not use list views.
Create a view that uses the list template. For more information, see Creating views in Cosmos React.
Identify a data page from which you want to source the table content. For more information, see Creating a data page
and Creating fields for capturing data.
Configuring tables
Present large amounts of information in a clear and consistent way by using tables. Tables are flexible and familiar user
interface components, and provide a reliable basis for users to view or compare information.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the list that you want to edit.
Note: The Case history view, which is listed under Forms, is fully configured out-of-the-box to display the log of all user
actions that are related to the case. You can edit presentation options, such as sorting and grouping, but changing data
page and parameter settings might cause the view to display errors.
3. In the Data page field, select the data page from which you want to source the list contents.
4. In the Display name field, enter the name for the view.
5. In the Template field, select Table.
6. In the Columns section, add the columns that you want to include in the view by clicking Add, and then select the field
that you want to associate with the column.
Note: The type of fields that you can add as columns vary depending on the data page configuration. For more
information, see Available columns.
7. In the Column to take up remaining width , define which column stretches to fill free space in your table.
8. Optional: To define what data is displayed in the table, set one or more filters:
a. In the Filter by list, select Custom, and then click the Properties icon.
b. In the Condition Builder window, define the expression that you want to use to filter the table contents.
For more information, see Using conditional logic in Cosmos React.
9. Define how the application sorts data in the table:
a. In the Sort by list, add the property by which you want sort the list by clicking Add, and then selecting the field that
you want to use as a filter.
b. In the list that appears next to the property field, select the order in which you want to sort the table.
10. Optional: To group the table contents by a property, in the Group by list, add the property by which you want group
the table by clicking Add, and then selecting the target field.
11. In the Max height (rows) list, select the maximum height of the list view.
12. Optional: To enable bulk processing of list items, select the Allow bulk actions checkbox.
Tip: Bulk processing is available for tables on case pages and landing pages. The actions in the bulk action menu are
case-wide actions. For more information, see Adding optional actions to cases and Troubleshooting errors in bulk
processing.
13. Optional: To define additional table behavior, select any of the checkboxes in the Editing and User Personalization
section. For example: Select the Allow adding new records checkbox, and then in the Action label field, enter the
label for the action, such as New mortgage case .
You can populate the new row with default values by setting up a pre-processing data transform. For more information,
see Adding data transform to a process.
14. Optional: To add a new view to the list, under the data source list, next to the Default view tab, click Add, and then
repeat steps 5to 13
15. Click Save.
For example: If you configure several views for your list, at run time, the table includes a view picker similar to the one that
is presented in the following figure:
View picker
Configuring galleries
Automate the display of repetitive data records with a tiled gallery. For example, you can use a gallery template to arrange
data about pending mortgages into a series of standardized cards that display the name, mortgage amount, and an case ID of
each application.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the list that you want to edit.
3. In the Data page field, select the data page from which you want to source the list contents.
4. In the Display name field, enter the name for the view.
5. In the Template field, select Gallery.
6. In the Card header list, select the field that you want to use as the header for your tile.
7. In the Secondary text field, select the field that you want to use as the source of additional text on your tile.
8. In the Columns section, add the columns that you want to include in the view by clicking Add, and then select the field
that you want to associate with the column.
Note: The type of fields that you can add as columns vary depending on the data page configuration. For more
information, see Available columns.
9. In the Column to take up remaining width , define which column stretches to fill free space in your table.
10. Optional: To define what data is displayed in the table, set one or more filters:
a. In the Filter by list, select Custom, and then click the Properties icon.
b. In the Condition Builder window, define the expression that you want to use to filter the table contents.
For more information, see Using conditional logic in Cosmos React.
11. Define how the application sorts data:
a. In the Sort by list, add the property by which you want sort the list by clicking Add, and then selecting the field that
you want to use as a filter.
b. In the list that appears next to the property field, select the order in which you want to sort the table.
12. In the Max height (rows) list, select the maximum height of the list view.
13. Optional: To define additional gallery behavior, select any of the checkboxes in the User Personalization section.
14. Optional: To add a new view to the list, under the data source list, next to the Default view tab, click Add, and then
repeat steps 4 to 12.
15. Click Save.
For example:
If you configure your view as a gallery, the UI displays list entries as tiles. The following image represents a sample gallery tile:
Configuring a timeline
Applicable to Cosmos React applications
Provide users with insight into your business process by displaying data in chronological order. A timeline view presents a
progression of events that is sourced from a data page that includes information about the time and the nature of the event.
For example, in a loan application, you can use a timeline view to present the employment history of the applicant, arranged in
reverse chronological order, with the current employer displayed first.
Before you begin: Prepare the configurable components:
Create a view that uses the table template. For more information, see Creating views in Cosmos React.
Identify the data page from which you want to source the timeline content. For more information, see Creating a data
page and Creating fields for capturing data.
Ensure that the data page you want to reference includes a Date Time field and a field with a label for the event.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, in the List section, click the view that you want to edit.
3. In the Data page list, select the data page from which you want to source the list contents.
4. In the Display name list, enter a name for the view.
5. In the Template list, select Timeline.
6. In the Date list, select the Date Time field that holds the information about the time of the event.
7. In the Title list, select the field that holds the description of the event and appears as the heading for the timeline entry.
8. Optional: To define additional timeline settings, perform the following actions:
a. To add an icon to each timeline entry, in the Icon list, select the property that holds the icon reference.
Note: The icon reference must be a string that contains the name of the icon in the Cosmos design library, for
example 'car-solid'.
b. To add a status indicator, in the Status list, select the property that holds the status reference.
c. To add fields to a collapsible section inside each event, in the Additional fields section, click Add, and then select
the target fields.
9. In the Date grouping list, define the time period by which you want to sort the entries.
10. In the Filter by list, define whether you want to filter the entries.
For more information, see Using conditional logic in Cosmos React.
11. In the Sort by list, define the order in which the timeline displays the entries.
Note: The settings in the User personalization sections and the Max height (Rows) setting do not apply to the
timeline view. The timeline also does not support grouping or search.
12. Optional: To add a new view to the list, under the data source list, next to the Default view tab, click Add, and then
repeat steps 5 to 11.
13. Click Save.
For example: In this scenario, the timeline view displays the employment history of the applicant:
Pega Platform comes with an out-of-the-box pyMoveRecords data transform in which you can define the logic that you want
the application to apply when the user drags a table row. In the case of the customer service application, you can set up a
logic that increases the priority of work items when they move up in the list.
Before you begin: Create and configure a view that uses the table template.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, in the Lists section, select the list that you want to edit.
3. In the Editing section, select the Allow moving records checkbox.
Adding the pyMoveRecords data transform to the data list class in Dev Studio
4. In Dev Studio, search for and open the pyMoveRecords data transform.
5. On the pyMoveRecords tab, click Save as.
6. On the New tab, in the Apply to field, enter the class of the data list that you use to provide records to your table.
7. Click Create and open .
8. In the class-specific pyMoveRecords rule that you created, on the Definition tab, define what the application does when
the user changes the order of table rows.
For more information on composing data transforms, see Data transforms.
9. In the rule form, click Save.
Available columns
When you configure tables, the configuration of the data page from which you source the table content determines the list of
fields that you can include in the table as columns.. By understanding the characteristics and limitations of each data page
configuration, you can build better table views.
Basic fields that you add as columns on the backing report if the fields are optimized for reporting and marked as relevant
records for the current class.
Embedded properties from pages (single page properties) that you add as columns to the backing report if the properties
are optimized for reporting and marked as relevant records for the current class.
Properties from associations rules that you add as columns to the backing report if the association rule is a simple
association and the properties are optimized for reporting and marked as relevant records for the current class. The
complex version of the association rule form is not supported.
For example:
The data page with a report definition cannot support the addition of the following types of fields to tables:
Fields that are specified in the backing report that require complex associations or joins that are specified in the report
definition.
Embedded properties from page lists.
Embedded properties from page groups.
The data page without a report definition cannot support the addition of the following types of fields to tables:
Configuring forms
Applicable to Cosmos React applications
Help users complete their work efficiently by configuring intuitive form views. For example, in a loan application, you can
create a view with fields for collecting data about a secondary applicant and, when needed, reuse that view in different
contexts throughout the application. By default, the system creates one form view for each step in the workflow.
You can find forms in the views pane on the User Interface tab of a case or data object.
Create a view for a step. For more information, see Creating views in Cosmos React.
Prepare the data components that you want to add to the view. For more information, see Configuring a data model for a
case.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. Open the view that you want to configure:
Choices Actions
Configuring fields
Applicable to Cosmos React applications
Fields model data in your application UI and define what information you need to provide to reach your business goals.
For example, in a process of hiring new employees, you can create properties that correspond with the personal details of a
candidate, such as a name, a surname, and an address.
You can adjust the type of your field to match the data that you want to collect, and pair the field automatically with a control
in the UI. For example, if you want the candidate to provide an email address, you can set up a field with the type "email." In
the user interface, the system renders the field as an Email control. To make the development process more efficient, each
field type defaults to the most intuitive control, such as a checkbox for a Boolean expression.
Field types
The following table presents available fields:
For example, you can use this field to capture the description
of symptoms that the patient provides.
For example, you can use this field to capture the patient's
email address.
Configure a data model to define the data that you want to use in a case. For example, to include a user email address in
a case, add an email address field to the data model.
Improve the presentation of your user interface by configuring out-of-the-box fields. By adjusting options such as
visibility, helper text, or on-click behavior, you can adapt the controls to the needs of your business, and build a cleaner,
more intuitive user experience.
Collect and display monetary information in a field that automatically formats the amount by adding language-specific
separators and a currency-specific symbol, such as the dollar sign.
Standardize date and time formats and reduce the number of input mistakes by using a Date Time field. When you set up
a Date Time field, you ensure that users enter scheduling information in the right format.
Collect numerical information by using a standard field that checks if the user-provided format of data is correct. Create
clean, intuitive forms for your users with less effort by selecting the field type that best matches your business needs.
Reduce the number of user input errors by providing the users of your application with a list of values from which to
choose. A Picklist field captures a single choice from a list of valid options presented as radio buttons or drop-down lists.
A data object is a template for describing an entity through fields, such as name and address. Depending on your
business needs, data objects can reference a list or a single record, and source their information from internal or external
databases. This flexibility of approach ensures optimal reuse and better data management.
Reduce the time that is needed to complete a form by creating a group of drop-down lists that take cues from each
other, and adjust the available options depending on choices that the user makes in the interface.
Evaluate a Boolean logical statement that involves comparisons among values of properties, to return true or false, by
creating a When rule.
Configure a data model to define the data that you want to use in a case. For example, to include a user email address in a
case, add an email address field to the data model.
Create a case type. For more information, see Creating a top-level case type.
If you want to create a data model for a questionnaire, create the questionnaire first. For more information, see Creating
a questionnaire.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the Data model tab, click Add field.
Note: You can also add new scalar fields to the data model from a view in the User Interface tab.
3. In the field configuration dialog box, in the Field name field, enter a descriptive name. For example: Enter Email address.
4. In the Type list, select a field type.
5. If more configuration options are available for the field type that you select, perform the following actions for a field:
Choices Actions
Add a text
paragraph
to the form
Picklist
Add a
picklist to
the form
Choices Actions
Attachment field
Add an
attachment
field to the
form
Add a field
to capture
For more information about adding a field to capture data, see Creating fields for capturing data.
data
6. Click Save.
What to do next: Configure a view for your case type that includes the fields from the case type data model. For more
information, see Views for cases.
Improve the presentation of your user interface by configuring out-of-the-box fields. By adjusting options such as visibility,
helper text, or on-click behavior, you can adapt the controls to the needs of your business, and build a cleaner, more intuitive
user experience.
The basic settings are shared by most fields and appear in different contexts throughout Pega Platform.
For example, in a loan application, you can mark the fields that contain the name and address of the applicant as required. In
this way, you ensure that the user who completes the form does not skip information that is crucial to process the case
successfully.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Configure icon next to the field whose behavior you want to change.
4. In the Edit field dialog box, in the Conditions section, define the target behavior of the field:
a. In the Required list, specify whether the field must be completed by the user.
b. In the Disable list, specify when the field is visible but not available to users.
c. In the Visibility list, define when the form should display the field.
Tip: You can use conditional logic or when rules to define the behavior of a field. For more information, see Using
conditional logic in Cosmos React and Creating a When rule.
5. In the Edit field dialog box, click Save.
For example, when you create a new user account in an application, the text fields that contain the personal data of the
customer are editable. During the next step, when the user has to confirm the data, you can configure the form to be read-
only, and disable editing.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Configure icon next to the field whose behavior you want to change.
4. In the Edit field dialog box, in the Edit mode list, define the target behavior of the field:
To copy edit settings from the parent view, select Auto.
To disable editing, select Read-only.
To disable editing under specific conditions, select Read-only (custom condition), and then click the Properties
icon to define the logic in the condition builder.
To disable editing based on a when rule, select When rule, and then in the Read-only when list, select the when
rule that you want to use.
For more information on conditional logic, see Using conditional logic in Cosmos React and Creating a When rule.
5. In the Edit field dialog box, click Save.
For example, a helper text might clarify differences in available options depending on the context:
You can define helper text for editable input fields, such as text areas or checkboxes. Helper text does not appear above fields
that are in a read-only view or are not used for inputting data, such as paragraphs.
Text prompts are also important for accessibility, because they ensure that users who rely on assistive technologies receive
reader-friendly guidance. Note the following accessibility best practices:
Use only one method to label a field. For example, do not duplicate the content of the label in helper text.
Use simple, clear language that is descriptive and does not include technical jargon.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Configure icon next to the field that you want to edit.
4. In the Edit field dialog box, in the Field label field, enter the name that you want the application to display next to the
field.
5. In the Input settings section, define additional text for the field:
To specify the text that appears in the field when the field has no value assigned, in the Placeholder field, enter the
text that you want to use.
To specify the text that appears below the field, in the Helper text field, enter the text that you want to use.
6. In the Edit field dialog box, click Save.
Collect and display monetary information in a field that automatically formats the amount by adding language-specific
separators and a currency-specific symbol, such as the dollar sign.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Configure icon next to the Currency field that you want to edit.
4. Configure standard field settings, such as visibility and labels.
For more information, see Configuring common field settings.
5. In the Edit field dialog box, in the ISO code selection list, define how you want to source the currency name:
To enter the currency name manually, select Constant, and then, in the Currency ISO code field, enter the three-
letter code of the currency.
To source the currency name from a property, select Property reference, and then, in the Currency ISO code,
select the property that holds the currency name.
6. Optional: To display decimals, select Allow decimals.
7. In the Edit field dialog box, click Save.
Standardize date and time formats and reduce the number of input mistakes by using a Date Time field. When you set up a
Date Time field, you ensure that users enter scheduling information in the right format.
For example, for scheduling appointments, you can set up a one hour default step, so that a user cannot schedule a meeting
that starts at quarter past an hour.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Configure icon next to the Date Time field that you want to edit.
4. Configure standard field settings, such as visibility and labels.
For more information, see Configuring common field settings.
5. In the Edit field dialog box, in the Clock list, define the format in which you want to display the time:
To use the default format of the language of the application, select use locale.
To use a 12-hour clock, select 12 hours.
To use a 24-hour clock, select 24 hours.
6. Optional: To include seconds on the field clock, select Display seconds.
7. Define the range of dates that are available in your field:
a. In the Next field, enter how many years into the future the field displays.
b. In the Previous field, enter how many years into the past the field displays.
8. Optional: To include week numbers on the field calendar, select Display week numbers on calendar.
9. In the Time picker list, define the length of the step between time values in the field.
10. Optional: To display the field value as text, in the Read-only settings section, select the Show as formatted text
check box.
11. In the Format list, select how you want to display the value of your field:
To use the default format (Feb 3, 2021, 10:27 AM), select Default.
To use the abbreviated format (Feb 3, 2021), select Date.
To display time lapsed since the date associated with the field (2 years ago ), select Since.
To display only the hour associated with the field ( 10:27 AM), select Time only.
12. In the Edit field dialog box, click Save.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Configure icon next to the field that you want to edit.
4. Configure standard field settings, such as visibility and labels.
For more information, see Configuring common field settings.
5. In the Decimal places fields, enter the number of decimal places that you want to display in the field.
6. Optional: To use a numerical separator in your field, select the Show thousands separator checkbox.
7. In the Read-only settings section, define how to display the field in non-editable contexts:
a. In the Format list, define how to present the number in read-only forms.
b. For the Currency format, complete the additional configuration. For more information, see Configuring a Currency
field.
8. Click Save.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Configure icon next to the field that you want to edit.
4. Configure the standard field settings, such as visibility and labels.
For more information, see Configuring common field settings.
5. Optional: To use numeric separators in your field, select the Show thousands separator checkbox.
6. In the Input settings section, in the Display as list, select how the users interact with the field in editable views:
Choices Actions
Use buttons to
Select Stepper.
change value
a. Select Slider.
b. In the Min value field, enter the minimum value for the field.
c. In the Max value field, enter the maximum value for the field.
Select from a sliding d. In the Default value field, enter the default value for the field.
range e. In the Increment field, define the step for the slide.
f. Optional: To hide the field that displays the number that the user selects on the slide, clear
the Show numeric input checkbox.
g. Optional: To hide the ticks that indicate the slider step, clear the Show ticks checkbox.
For more information, see Number input and Range slider articles at the Pega Design website.
7. In the Read-only settings section, define how to display the field in non-editable contexts:
a. In the Format list, define how to present the number on read-only forms.
b. For the Currency format, complete the additional configuration. For more information, see Configuring a Currency
field.
8. Click Save.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Configure icon next to the field that you want to edit.
4. Configure the standard field settings, such as visibility and labels.
For more information, see Configuring common field settings.
5. In the Decimal places fields, enter the number of decimal places to the right of the decimal that you want to display in
the field.
6. Optional: To use numeric separators in your field, select the Show thousands separator checkbox.
7. Click Save.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Configure icon next to the field that you want to edit.
4. Configure standard field settings, such as visibility and labels.
For more information, see Configuring common field settings.
5. In the Display as list, define how users see your field:
Choices Actions
A data object is a template for describing an entity through fields, such as name and address. Depending on your business
needs, data objects can reference a list or a single record, and source their information from internal or external databases.
This flexibility of approach ensures optimal reuse and better data management.
Case and data objects produce the following fields:
Case reference
Single or multiple records from a selected case type. Case references can refer to other cases or data objects. For
example, in a mortgage request case, you can use a case reference to call an Appraisal case. Alternatively, you can use a
case reference to refer to the borrower, a data object. At run time, case references are displayed as a contextual link.
Data reference
Single or multiple records from a selected data page. In a mortgage request case, you can use a data reference provide
the user with a list of available mortgage types. At run time, data references are displayed as a contextual link.
Embedded data
User-supplied data such as a name and address that is stored and sourced from inside a case instance or a work object.
For example, in a mortgage request case, you can use embedded data to store the borrower's monthly income or
employment history. Supports single and multiple records.
Query
A data page or view that is not sourced from inside the case type. The data page defines parameters that the Query data
relationship is configured to use. Unlike a data reference, the query field does not require a key. A loan application might
use a query field to source information on the current prime mortgage rate.
For more information on data objects, see the Pega Academy article Data relationships.
For example, in a mortgage application, a Get appraisal case reference can fetch data about the house appraisal if the user
enters the ID of the related case.
Before you begin: Add a single-record data or case reference field to a view. For more information, see Creating fields for
capturing data and Configuring details views.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Drill in icon next to the case or data reference field that you want to edit.
4. In the Edit field pane, in the Mode list, select how you want to display the field:
To restrict the user's choice to a single item, select Single-select.
To prevent users from editing the field, select Read-only.
Important: Read-only fields support fewer configuration options.
5. For Single-select fields, in the Display as list, select the control that you want to use with the field:
Choices Actions
a. Select Autocomplete.
b. In the Display field list, select the name of the field that you want to
display in the control. For example: Select Case ID to source appraisal
data by case number.
AutocompleteTip: Useful for a large
c. Optional: To display additional fields from the case, in the Show
number of options.
details (optional) section, click Add, and then apply additional views to
the field.
Tip: See the live preview on the right side of the screen to observe how
the additional details impact the field.
a. Click Dropdown.
b. In the Display field list, select the name of the field that you want to
display in the control. For example: Select Case ID to source appraisal
data by case number.
DropdownTip: Useful for a limited
c. Optional: To display additional fields from the case, in the Show
number of options.
details (optional) section, click Add, and then apply additional views to
the field.
See the live preview on the right side of the screen to observe how the
additional details impact the field.
a. Click Table.
b. In the Columns section, click Add, and then, from the list of fields, select
the columns for your table.
c. Configure the new fields by clicking the Configure icon and defining field
settings.
TableTip: Useful for listing options
For more information, see Configuring field behavior.
with additional contextual information
d. In the Column to take up remaining width list, select the column
in columns.
which you want to expand to fill the remaining space on the screen.
e. Optional: To apply filtering, in the Filter by list, select Custom, click
the Gear icon, and then build a logical expression.
f. Optional: To apply sorting, in the Sort by section, click Add, and then
select the column and determine its sorting mode.
6. Optional: To allow users to edit the field in read-only views, perform the following actions:
a. Select the Show as picker and persist changes in review mode checkbox.
b. Ensure that the Edit details step is a case-wide action. For more information, see Adding optional actions to cases.
c. Add the key of the reference field to the Edit view of your application. For more information, see Configuring forms.
Note: This setting is available for Autocomplete and Dropdown displays.
7. In the Conditions section, define additional properties for your field, for example, visibility.
For example:
In this scenario, the single-select field is displayed as a table and users can select only one product from the list.
For example, in a credit card fraud investigation app, a Transactions data reference can produce a list of all the transactions
that are recorded for a given credit card. The customer can study the details of each transaction, such as their time and
location, in the table columns, and mark the transactions that are fraudulent for further investigation.
Before you begin: Add a data or case reference field that uses a list of records to a view. For more information, see Creating
fields for capturing data and Configuring details views.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Drill in icon next to the case or data reference field that you want to edit.
4. In the Edit field pane, in the Mode list, select how you want to display the field:
To provide users with choice of multiple items from the list, select Multi-select.
To prevent users from editing the field, select Read-only.
Important: Read-only fields support fewer configuration options.
5. For Multi-select fields, in the Display as list, select the control type that you want to use with the field:
Choices Actions
a. Click Table.
b. In the Display field list, select the name of the field that you
want to display in the control. For example: Select Vendor to
source data by the vendor name.
c. In the Columns section, click Add, and then select the
columns for your table from the list of fields.
d. Configure the new fields by clicking the Configure icon and
defining field settings.
TableTip: Useful for listing options with
For more information, see Configuring field behavior.
additional contextual information in columns.
e. In the Column to take up remaining width, select the
column which you want to expand to fill the remaining space
on the screen.
f. Optional: To apply filtering, in the Filter by list, select
Custom, click the Gear icon, and then build a logical
expression.
g. Optional: To apply sorting, in the Sort by section, click Add,
and then select the column and determine its sorting mode.
For example:
In this scenario, the multi-select field is displayed as a table and users can select multiple products from the list.
Before you begin: Add an embedded data field to a view. For more information, see Embedding data in a case and
Configuring details views.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Drill in icon next to the embedded data field whose view you want to edit, and then
check the type of your field:
If the embedded data field is a single-record field, follow standard form configuration. For more information, see
Configuring forms.
If the embedded data field is a list of records, continue to step 4.
4. In the Mode list, select how you want to display the field:
To make the field restrict the user's choice to a single item, select Editable.
To prevent users from editing the field, select Read-only.
Important: Read-only fields support fewer configuration options.
5. In the Display as list, select the look of your view:
Choices Actions
a. Select Table.
b. In the Columns section, click Add, and then select the columns for your table from the list of fields.
c. Configure the new fields by clicking the Configure icon and defining field settings.
Table
For more information, see Configuring field behavior.
d. In the Column to take up remaining width list, select the column that you want to expand to fill the
remaining space on the screen.
For example:
In this scenario, the list-based embedded data field is displayed as a table and a field group. Users fill in the employment
information or add new rows to the table, and the system converts that information into records in the embedded data object.
For example, you can use a query field to display information about current interbank rates in a loan application.
Before you begin: Add a query field to a view. For more information, see Creating fields for capturing data and Configuring
details views.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the User interface tab, click the column-based view that you want to edit.
3. In the Edit view section, click the Drill in icon next to the embedded data field whose view you want to edit, and then
check the type of your field:
If the query field is a single-record field, follow standard form configuration. For more information, see Configuring
forms.
If the query field is a list of records, continue to step Configuring fields associated with case and data objects.
4. In the Edit view section, click the Drill in icon next to the field that you want to edit.
5. In the Edit field pane, in the Display as list, choose the control type that you want to use with the field:
Choices Actions
a. Select Table.
b. In the Columns section, click Add, and then select the columns for your table from the list of fields.
c. Configure the new fields by clicking the Configure icon and defining field settings.
Table
For more information, see Configuring field behavior.
d. In the Column to take up remaining width list, select the column that you want to expand to fill the
remaining space on the screen.
For example:
Reduce the time that is needed to complete a form by creating a group of drop-down lists that take cues from each other, and
adjust the available options depending on choices that the user makes in the interface.
For example, in a mortgage application you can configure two cascading drop-down lists: for the mortgage type, and for the
product type. First, the user selects "New mortgage" as the type of mortgage. In response to the first selection, the product
type drop-down list displays only new mortgage products, and hides other types of mortgage loans.
Before you begin: Prepare your data environment:
Create the data objects MortgageType and LoanProducts, which hold mortgage types and loan products. For more
information, see Creating a data object.
Ensure that the D_LoanProductsList data page takes a Mortgage type parameter. For more information, see Data pages
and parameters.
Ensure that the Mortgage type parameter in the D_LoanProductsList data page is not required.
1. In the navigation pane of App Studio, click Case types, and then click the case type that you want to open.
2. On the Data model tab, click Add field.
3. In the Configure field dialog box, in the Field name field, enter the name of the first drop-down list. For example:
Enter: Mortgage type .
4. In the Type list, select Picklist.
5. In the Display as list, select Drop-down list.
6. In the Picklist options list, select Data page, and then, in the empty field to the left, select the list from which you
want to source the data. For example: Click Mortgage type List Mortgage type .
7. In the Identifier field list, select the field by which you want to sort the items in the drop-down list. For example:
Select Category ID.
8. In the Display field list, select the field whose content you want to display in the drop-down list. For example: Select
Full category name.
9. Click Submit & add another .
10. In the new dialog box, configure the second drop-down list by performing 3 through 6. For example: Perform the
following actions:
1. In the Field name field, enter Loan product.
2. In the Type list, select Picklist.
3. In the Display as list, select Drop-down list.
4. In the Picklist options list, select Data page, and then in the empty field, click Loan product List Loan
products .
11. In the Data page parameters node, in the Type field, select Another field, and then in the empty field below, select
the name of the list that you defined in step 3. For example: Select Mortgage type.
12. In the Identifier field list, select the field by which you want to sort the items in the drop-down list. For example:
Select Product ID.
13. In the Display field list, select the field whose content you want to display in the drop-down list. For example: Select
Product name.
14. Click Submit.
What to do next: Add the fields to your UI. For more information, see Configuring forms.
Design systems help you introduce consistency to the applications that you build. By choosing to use a design system, you can
scale your designs to maintain a unified presence across a number of platforms with less effort.
A design system is a library of patterns and rules that determine how an interface responds to user interaction. Design
systems contain the best practice guidelines, operational assets, and UI components that are required to deliver the interface.
For example, a design system might include a reusable table component that supports sorting, filtering, and grouping. You
can source every table in your application from that component, which means that every table in the application can have the
same basic architecture and rely on consistent rules to model user interactions.
Some organizations develop proprietary design systems to unify the presentation, behavior, and structural rules of their
application interfaces. However, most businesses rely on the design system that is provided by Pega. Either approach helps
improve consistency, and creates a system that is easier to update and maintain.
Cosmos relies fully on templates and prefabricated components for more efficient development and performance. In addition,
a more modern design and increased focus on intuitiveness help save time on application updates and user training.
Depending on the architecture that you use, the Cosmos design system has two versions: Cosmos React, which serves the
view-based architecture, and Theme Cosmos, which relies on sections.
When creating a new application, you can choose between a view-based Cosmos React UI, or a section-based Theme Cosmos
UI, which can be further expanded to include hybrid React components.
Cosmos supports a number of JavaScript libraries, including React UI, which is the framework on which Pega Platform bases its
UI components. For more information, see Accelerate your workflow with Cosmos UI.
Defining themes
Ensure that your applications meet the branding requirements of your business by configuring the graphic design of your
portal. By setting a distinct color palette for UI elements such as buttons, links, or headers, you can create a consistent
visual identity.
Ensure that the UI meets the branding requirements of your business by adding custom fonts to your application. In
Cosmos React, you can add a font by referencing an external URL source or by uploading a binary file with the font to
Pega Platform.
Design tokens
UI components in Cosmos React use design tokens, which are a tool that helps you store the visual attributes of your
application as discrete options. By using a design token, you can unify style elements across different channels, tools,
and applications.
Defining themes
Applicable to Cosmos React applications
Ensure that your applications meet the branding requirements of your business by configuring the graphic design of your
portal. By setting a distinct color palette for UI elements such as buttons, links, or headers, you can create a consistent visual
identity.
Note: Cosmos React applications come with two ready-to-use themes: Cosmos and Dark. These themes are the system
default and you cannot edit them.
1. In the navigation pane of App Studio, click Settings Branding and themes .
2. Click Add, and then, in the Create new theme dialog box, provide a name for the theme.
3. In the Themes list, click the theme that you want to edit.
Tip: Any change that you make to the theme is reflected in the interactive preview.
4. In the list of UI components, change the colors of the components in your application:
a. Click the square representing the component color that you want to change.
b. Use the color picker to select a color.
Tip: The color picker displays a warning icon if the color combinations in the palette do not meet WCAG Level AA
contrast ratios.
5. In the Base font field, define the default size of text in the application.
6. In the Font family field, define the default font for the application.
7. In the Card border radius field, define the shape of the sections that constitute the user interface.
8. In the Button border radius field, define the shape of the buttons in the application.
9. In the Input border radius field, define the shape of the fields in your application.
10. Click Save.
What to do next: Attach the theme to a portal. For more information, see Selecting a theme for a Cosmos React portal.
Cosmos React applications come with two ready-to-use themes: Cosmos and Dark. The Cosmos theme is the default for all
new applications. For more information on creating new themes in Cosmos React, see Defining themes.
Ensure that the UI meets the branding requirements of your business by adding custom fonts to your application. In Cosmos
React, you can add a font by referencing an external URL source or by uploading a binary file with the font to Pega Platform.
Before you begin: If you want to use a binary file as a source, upload the .woff2 file to Pega Platform. For more information,
see Uploading custom font files.
@font-face {
font-family: 'RobotoBlack';
src: url('webwb/RobotoBlack.woff2') format('woff2');
font-weight: normal;
font-style: normal;
}
Result: The new font is now available for use in the theme.
What to do next: Add the new font CSS to the skin of your application. For more information, see Creating a CSS font file.
Design tokens
Applicable to Cosmos React applications
UI components in Cosmos React use design tokens, which are a tool that helps you store the visual attributes of your
application as discrete options. By using a design token, you can unify style elements across different channels, tools, and
applications.
When you style a Cosmos React application on the App Studio Branding and Themes landing page, Pega Platform
automatically updates the theme rule for you. However, you can gain a more granular level of control over your theme by
manually editing the theme JSON file in Dev Studio.
You can search for the theme JSON file by entering the name of the theme in the Dev Studio search box, or by exploring the
Rule-UI-Theme class.
For a list of design tokens and sample values, see Pega Cosmos.
For example: In this scenario, a sample Customer service theme is expanded to include palette tokens, such as brand-primary,
foreground-color, and app-background.
Reach the broadest audience for your application by building a user interface that addresses the needs of users with
disabilities. Designing a UI for assistive technologies, such as screen readers, is important for compliance and provides
essential access to users who have visual impairments.
Web Accessibility Initiative – Accessible Rich Internet Applications (WAI-ARIA) is a set of principles published by the World Wide
Web Consortium (W3C) that governs accessibility in applications. A large array of Pega Platform features supports these
principles out-of-the-box, for example, by providing cues about screen content to screen readers. However, following best
practices and avoiding common mistakes is crucial when creating an application that combines many UI features.
Pega Platform also includes the Accessibility Inspector that helps you check the level of accessibility in your application to
ensure the highest possible compliance. If your business needs are more complex, you can further customize various aspects
of your UI, such as WAI-ARIA roles, upon which assistive technologies rely.
For example:
The Accessibility Inspector includes a color confusion simulator that helps you check if the colors that you use in your
application are readable to users with color blindness.
Sample UI component with no filter (left) and simulated red-green confusion filter (right)
For related training materials, see the Enabling accessibility features in applications module on Pega Academy.
What to do next: Discover more about accessibility in your UI in the following articles:
Pega supports users with disabilities by continuously integrating the W3C Web Accessibility Initiative (WAI) standards into
the architecture of applications that you develop. As a consequence, applications include accessibility features by
default, which makes them more convenient for users who rely on assistive technology.
Because accessibility is a design principle rather than a set of options that the user can enable or disable, many of its
features are included by default in the architecture of Pega Platform applications.
Accessible design helps users with disabilities access the full range of application features. By following best practices for
accessibility, you ensure that your application meets the industry standards for all types of users.
Inspecting accessibility
Identify and fix accessibility issues to ensure that users with disabilities can quickly access and efficiently operate your
application. By using the Accessibility Inspector tool, you can check what your application looks like to users of varying
visual ability and review UI components that are not accessible.
Pega supports users with disabilities by continuously integrating the W3C Web Accessibility Initiative (WAI) standards into the
architecture of applications that you develop. As a consequence, applications include accessibility features by default, which
makes them more convenient for users who rely on assistive technology.
WCAG standards
Pega strives to create an inclusive product experience by following the W3C Web Content Accessibility Guidelines (WCAG) 2.1
AA. Pega Platform components use the recommended standards to reach compliance with Section 508 of the US Rehabilitation
Act, the European standard EN 301 549, the European Accessibility Act, and the Barrierefreie-Informationstechnik-Verordnung
(BITV).
Consequently, all applications that users develop include accessible markup by default. As a developer, you only need to put
content into the existing out-of-the-box framework.
For example: To make your application accessible, you might need to add helper text to controls and ensure that all layouts
use proper headings that reflect the structure of the document. If you use custom components that have unusual functions,
such as clickable layouts, you can assign ARIA roles that match the document role manually.
The following image illustrates out-of-the-box accessibility settings in a sample search field.
Because accessibility is a design principle rather than a set of options that the user can enable or disable, many of its features
are included by default in the architecture of Pega Platform applications.
With no single setting to control accessibility, building an inclusive interface requires little additional effort apart from the
consistent use of existing accessibility frameworks.
Accessibility features
Keyboard and screen reader navigation
Keyboard accessibility, or the ability to reach and operate any UI element by keyboard alone, is necessary for users with
motor and visual disabilities. UI components are developed in accordance with WAI-ARIA Authoring Practices 1.1.
Consequently, most Pega UI components support accessible navigation without additional markup or configuration.
WAI-ARIA roles
The Pega Platform accessibility architecture relies primarily on HTML 5 semantics, but uses WAI-ARIA markup where
HTML is not sufficient, for example, to convey rich application functionalities. WAI-ARIA roles provide additional
information about your application to assistive technologies, such as screen readers. Consequently, the user can be
constantly aware of the roles, states, and properties of interface components.
Labels
Labels, placeholders, and alternative text help users understand the UI and visualize the tasks that they must complete.
Controls and layouts include fields for text aids by default.
Table navigation
Optimized table layouts support WAI-ARIA keyboard navigation standards.
For more information, see the Tables row in Supported keyboard navigation.
Skip links
Skip links provide users with tools to navigate to the most important parts of the application, and represent one of the
most basic accessibility requirements. For example, a skip link can direct the user straight to the navigation menu, so
that the user does not have to tab through the page to reach it.
Pega Platform automatically adds a default pySkipLinksToTarget section to your application. The section provides skip
links to the main content, the search bar, and the navigation pane, so that you do not need to configure it.
For more information, see the Error messages row in Supported keyboard navigation.
PDF/UA files
By default, PDF files that a Pega application generates use the accessible PDF/UA ISO standard. While you can change
this setting to improve archiving, this is not a recommended practice.
Accessible UI components provide run-time behavior that helps users who rely on assistive technology (AT) to navigate your
application with less effort.
UI components are developed in accordance with WAI-ARIA Authoring Practices 1.1. Consequently, most Pega UI components
support accessible navigation without additional markup or configuration.
Accessible UI components
The following table lists the most important accessibility components along with the corresponding keyboard navigation:
Control/feature Keyboard navigation Additional information
Tab to change focus Pressing Tab from the header moves the
AJAX containers Left arrow and Right arrow to focus to the first editable field in the
navigate between tabs container.
Overlays Yes
Tab to enter and exit the repeating When focus rests on the layout, the AT
dynamic layout reads the summary information about
Arrow keys to navigate between the layout and the number of rows in
repeating sections the layout.
Enter key to engage with items in the After loading new content, the focus
Repeating dynamic layout
repeating section rests on the newly added elements.
Esc key to leave an interactive item in You can revert to tab navigation by
a repeating section selecting the Use form navigation
Right arrow and Left arrow keys to (by tab) checkbox in the Accessibility
navigate inside the repeating section node of the layout properties.
Control/feature
Rich text editor KeyboardYes
navigation The textAdditional information
is fully editable by keyboard.
Accessible design helps users with disabilities access the full range of application features. By following best practices for
accessibility, you ensure that your application meets the industry standards for all types of users.
General guidelines
Review the Web Content Accessibility Guidelines (WCAG) Checklist, which is the primary source for meeting industry
standards for accessibility.
Run the accessibility inspector to check your application. For more information, see Inspecting accessibility.
Design guidelines
Avoid inline styles, which might override custom settings that help users understand a page better.
Add labels to all fields, controls, cards, and images, but use only one method to label a field. Place labels above the fields
that they describe.
Ensure that the UI alerts users of dynamic changes visually and through Live ARIA.
Provide meaningful error messages.Tip: Write "The password must contain at least 8 characters" rather than "This entry
is invalid."
Avoid timed events, which require complex configuration to comply with accessibility guidelines.
Avoid hover and right-click events.
Do not use link controls as buttons.
Use visibility conditions to control the appearance of the form. Do not use controls in disabled mode.
When you provide helper text, avoid referencing the color, shape, or visual location of a UI component.Tip: Write "Click
the Submit button" rather than "Click the blue button."
Apply placeholder text for input fields but do not substitute labels with placeholders.
Avoid technical language and jargon in labels, placeholders, and helper text.
Navigation guidelines
Check if users can navigate your design with keyboard only.
Avoid key commands. Key commands can conflict with screen readers.
Add paging to tables.
Give links meaningful text.Tip: Write "Main page" instead of "Click here".
For each onclick event, configure a keyboard alternative.
Screen organization guidelines
Use headers and titles on layouts. Define headings through markup rather than formatting. Always configure a level one
heading and use header levels correctly.
Limit the use of modal dialog boxes and overlays.
Do not force landscape or portrait mode in mobile apps.
Organize content on the UI and in the document object model linearly to accommodate screen readers.Tip: If your UI
includes a large conditional section, consider making the transition explicit by putting the conditional content in multiple
assignment steps.
Use responsive layouts. Layouts and forms that have fixed window sizes might cause problems for users who need to
resize their screens.
Do not use more than one main section on a page.
Do not use tables to define areas on your page. Use tables only to present collected data.
Image guidelines
Use caution when you introduce multiple icons. Ensure that the icons are labeled properly and can receive focus from the
keyboard.
Do not wrap text in images.
Add meaningful alternative text and avoid reusing the same descriptive text for different resources.
Avoid adding alternative text to unimportant or decorative elements. Unnecessary text crowds the feedback from
assistive technology such as screen readers.
Inspecting accessibility
Applicable to Cosmos React and Theme Cosmos applications
Identify and fix accessibility issues to ensure that users with disabilities can quickly access and efficiently operate your
application. By using the Accessibility Inspector tool, you can check what your application looks like to users of varying visual
ability and review UI components that are not accessible.
Sample UI component with no filter (left) and red-green confusion filter (right)
b. In the list of issue categories, expand each node, and then navigate to the rules that impact accessibility. For
example: Click Content Provide an associated label Driver to open and edit the section that is missing a
label.Tip: Not all warnings require an intervention. For example, adding labels to decorative images might crowd out
useful information in screen readers.
a. In the Accessibility Inspector pane, click the Display menu options for Accessibility Inspector icon ( ).
b. Click Draw outline around on-page issues .
What to do next: Discover more about accessibility standards and best practices, which reduce the number of issues, in the
following articles:
Internationalization and localization help you reach a wider audience by making your application available to users who speak
different languages. Localization is the process of translating application text and converting locale-specific components, and
internationalization is a general design principle that makes software more convenient to localize.
Pega Platform applications are designed to support multiple language versions and provide a user-friendly localization process
that uses wizards, existing browser settings, and standard Pega rulesets. App Studio and user portals that you generate in the
application all support localization. However, Dev Studio does not support full localization and might display untranslated
content.
Pega Platform uses the Unicode standards for date and time patterns. Implementation of daylight saving time support depends
on the Java Virtual Machine version that supports your system. For a list of locales in Oracle's Java Development Kit, see the
Oracle documentation.
Character sets
Pega Platform and the PegaRULES database support the UTF-8 or UTF-16 Unicode character sets. Note: After you install a
UTF-8 system, you cannot enable UTF-16.
Localizing your application helps users work in their preferred language, which improves their experience and ensures a
better understanding of the product. By localizing an application, you can expand your operations to new markets
regardless of language barriers.
Meet the needs of audiences who use languages such as Arabic or Urdu by adapting your user interface to accommodate
the right-to-left (RTL) text direction. By localizing your application into RTL languages, you expand your user base and
provide native RTL language speakers with an interface that is friendly and intuitive.
Localizing your application
Localizing your application helps users work in their preferred language, which improves their experience and ensures a better
understanding of the product. By localizing an application, you can expand your operations to new markets regardless of
language barriers.
Localization adapts your application for a specific language or region. During the localization process, the text in your
application is translated into the target language, and imported back into Pega Platform. Text that you can localize includes
labels, captions, tooltips, and instructions that appear in user-facing components, such as views and portals.
Localization limitations
Localization in Cosmos React applications is an expanding feature. Consequently, it includes certain use case limitations. By
understanding the scope of localization support in Pega Platform version 8.7, you can plan your application better.
If you save a view manually through Dev Studio, and not in the App Studio authoring environment, the system does not
update the localization file.
The translation package does not automatically include the text from radio buttons and drop-down controls that use data
pages. For more information about adding that text manually, see Localizing controls that rely on data pages.
The translation package does not automatically include the text from properties with prompt lists. For more information
about adding that text manually, see Localizing properties with more than one value.
Deleted views are not deleted from the translation package.
You cannot delete localization rules.
In addition, you can use the Localization page to import Pega language packs, which provide a translated ruleset with values
of fields that typically appear in every application, such as button labels or prompts.
Before you begin: Obtain a file with the translation or a Pega language pack. For more information, go to Pega
Marketplace.Note: Ensure that your language pack is the same version and UI type as your application. For example, Cosmos
React applications built on Pega Platform version 8.7 do not support language packs for version 8.6, or for section-based 8.7
applications.
Before you begin: Ensure that you are working in a development branch. For more information, see Developing applications
in branches.
1. In the header of Dev Studio, click Configure User Interface Application Readiness Constellation .
2. In the Upgrade section, in the Upgrade branch name list, select the branch where you work.
3. Click Upgrade views. Result: The system launches an upgrade process that generates localization rules for all views in
your application.
Before you begin: Generate localization rules for the application. For more information, see Creating localization rules in Dev
Studio.
4. Click Submit.
What to do next: Rebuild the translation package. For more information, see Creating a translation package in Cosmos
React.
Generate localization rules for the application. For more information, see Creating localization rules in Dev Studio.
Perform a private edit to set pxEnableC11nDev to true. For more information, see Performing a private edit.
8. On the rule form, click Save, and then click Check in.
9. In the Check in modal dialog box, in the Check-in comments field, enter a comment that describes your changes to the
rule.
10. Click Check in.
Meet the needs of audiences who use languages such as Arabic or Urdu by adapting your user interface to accommodate the
right-to-left (RTL) text direction. By localizing your application into RTL languages, you expand your user base and provide
native RTL language speakers with an interface that is friendly and intuitive.
Pega Platform uses tools built into Java and HTML to automatically handle RTL conversion based on the user's (operator)
locale. When you assign an RTL language as the default for an operator, that operator sees the application in RTL alignment,
with menus on the right, and breadcrumbs arranged right-to-left. If you do not set a default language for the operator, the
system sources it from the browser's region settings.
Note: The system handles font sizes and layout alignment automatically, but does not reverse icons. You can provide RTL
versions of left-to-right (LTR) icons by saving them under the same name followed by _rtl. For example, an LTR name.png icon has
an RTL counterpart name_rtl.png that the application displays in RTL locales.
a. In the footer of Dev Studio, click the operator icon, and then click Operator.
b. On the operator tab, in theLocalization section, in the Default locale field, enter the target
Yourself
language ISO code. For example: For Arabic (Saudi Arabia), enter ar_SA.
c. Click Save.
For example:
Left-to-right portal
Right-to-left portal
Embedding Pega Platform UI in web pages
Applicable to Cosmos React applications
You can choose parts of Pega Platform UI that suit your business needs and make them available to users of your websites by
creating a Web embed channel and inserting the auto-generated markup into any web page.
Web embedding helps you incorporate specific Cosmos React landing pages and case experiences into your existing web
assets regardless of your current adopted front-end framework.
Note:
Before using a custom element, the JavaScript code that defines the behavior of the element must first be loaded. For the
pega-embed custom element, this is accomplished by the HTML script reference to pega-embed.js.
All custom elements, including the pega-embed element, require a start and end tag. A self-closing tag style is not
supported.
Web Components tags work only when the page is served from a web server that uses the http: or https: protocols. Local
HTML files that use Web Component markup are not supported. The http-server npm module provides a way to serve up local
files using the http: or https: protocol.
The web embed snippet that you generate on the Web embed channel page is ready to use out of the box. However, if
your business case requires that the web embed behave in a more complex manner, you can edit the snippet manually
and expand it to use additional supported attributes.
Ensure that your web embeds work as intended by learning about potential issues and their resolutions.
Authentication ensures that only users and systems with a verified identity use the web embed and that all permitted
manipulations of the data occur as the current user identity.
Embed existing Microjourney experiences within any web page or application. For example, you can embed a feedback form
within your website so that the users who access the page can share their comments.
Before you begin: Ensure that you have at least one case type in your application. For more information, see Creating a top-
level case type.
Result: When you next load your host site, host page displays the application.For example:
The web embed snippet that you generate on the Web embed channel page is ready to use out of the box. However, if your
business case requires that the web embed behave in a more complex manner, you can edit the snippet manually and expand
it to use additional supported attributes.
Similarly, you can add JavaScript code to invoke one of the supported methods and add event handlers to listen for and react
to specific supported events. This approach helps you adapt the web embed to your needs.
The startingFields attribute passes values to the new case. In this way, you can set up defaults for your case.
Notes on code
The definition of the <pega-embed> web component is in the pega-embed.js file that is located on the Constellation service. The script
tag must come before the <pega-embed> tag.
For JSON structures, such as the ones that the startingFields attribute uses, single quotes are recommended.
You can also manipulate the web component by using standard HTMLElement methods. For example, you can use a
document.createElement("pega-embed") to create an element and pass structures. Alternatively, you can use a mixed approach with
some HTML markup and some JavaScript by specifying deferLoad="true" and then obtaining a reference to the element using the
specified ID to update or define attributes. For example:
<script>
let el = document.getElementById("theEmbed");
let options={"accountID":37394984,"Rewards":"Platinum"};
el.setAttribute("startingFields", JSON.stringify(options));
el.load();
</script>
Note: The fields you set in the startingFields attribute must be exposed in AllowedStartingFields. For more information, see
Adding fields while creating cases in DX API v2.
Discover the attributes, methods, and events supported by the web embed in the following articles:
You can add a number of attributes to your web embed snippet to expand its functionality.
The host page can use JavaScript (JS) to invoke methods that support querying or manipulating the web embed. This
functionality provides you with the tools to meet the needs of your particular use case.
The host page can add event handlers that execute and perform custom processing when specific supported events fire,
which helps you better integrate Pega UI with the host environment.
You can add a number of attributes to your web embed snippet to expand its functionality.
Note: To simplify the code, attributes with default values are removed from the automatically generated web embed snippet.
General
Note:
The web embed supports general HTML element attributes and methods, such as addEventListener. For more information, see
the W3C HTML reference information.
For JSON objecs, use single quotes around the entire string representing the object contents.
Generated
Name Description Type Default value
automatically
full
Uses the full case page when
displaying case-related UI.
assignment
Uses an alternate page, which
casePage constrains the UI to the assignment Constant assignment
flow action area.
assignmentWithStages
Uses an alternate page, which
Generated
Name Description
constrains the UI to just the Type Default value
automatically
assignment flow action area and
includes stages.
Theme
Generated
Name Description Type Default value
automatically
The theme is a JSON Object that contains the value of the rule-ui-theme that you use to render the web embed. For more
information on themes, see Defining themes.
For example: The following snippet contains sample values that you can set inside the theme:
{
"base": {
"palette": {
"brand-primary": "#3c8712",
"foreground-color": "#5e4242",
"app-background": "#b1bde6"
}
}
}
You can pass the theme object as an attribute to the <pega-embed> tag. The object must be serialized and passed as a
string:
Alternatively, you can pass the theme JSON object directly to the web component tag – either during creation of the <pega-
embed> tag, or in conjunction with the ‘deferLoad’ attribute and the load function.
The following code illustrates an object passed directly during the creation of the web component tag:
var el = document.createElement("pega-embed");
el.theme= { "base": { "palette": { "brand-primary": "#3c8712", "foreground-color": "#5e4242", "app-background": "#b1bde6" } } };
The following code illustrates an object passed to the web component tag before calling the load method:
var el = document.getElementById("theEmbed")
el.theme= { "base": { "palette": { "brand-primary": "#3c8712", "foreground-color": "#5e4242", "app-background": "#b1bde6" } } };
el.load();
Action
Generated
Name Description Type Default value
automatically
You can pass the startingFields object as an attribute to the <pega-embed> tag. The object must be serialized and passed as
a string:
Alternatively, you can pass the JSON object directly to the web component tag – either during creation of the <pega-embed> tag, or
in conjunction with the ‘deferLoad’ attribute and the load function.
The following code illustrates an object passed directly during the creation of the web component tag:
var el = document.createElement("pega-embed");
el.startingFields=‘{"FirstName":"Adam","LastName":"Smith","Vehicle":{"Make":"Honda","Model":"Accord"}}’;
Configuration
Generated
Name Description Type Default value
automatically
Authentication
Generated
Name Description Type Default value
automatically
OAuth 2.0
Generated
Name Description Type Default value
automatically
pegaServerUrl +
authorizeUri OAuth 2.0 authorization end point. String “/PRRestService/oauth2/v1/”
+ authorize
pegaServerUrl +
tokenUri OAuth 2.0 token end point. String “/PRRestService/oauth2/v1/”
+ token
pegaServerUrl +
OAuth 2.0 token revocation end
revokeUri String “/PRRestService/oauth2/v1/”
point.
+ revoke
Special attributes
Note: Not for production use. Special attributes are useful for testing and demo scenarios. You must use the attributes
together, and they only work with the pega authentication service.
Generated
Name Description Type Default value
automatically
The host page can use JavaScript (JS) to invoke methods that support querying or manipulating the web embed. This
functionality provides you with the tools to meet the needs of your particular use case.
Note: For Cosmos React web embeds, you invoke the JavaScript API directly by accessing the element and calling the method.
For example:
document.getElementById("theEmbed").load();
JS API methods
Web embeds support the following JS methods:
load
Used in conjunction with the deferLoad=true attribute to delay the load of the embed until this API is invoked.
Arguments: None
reload
Used to return the web embed to its original attributes. You can use this method to get the user back to the first page
that loaded.
For example, if a page contains links to work objects, and the user opens those objects, the embedding displays the case
screen associated with the object. The reload method provides a way to return to the original page. This method is
similar to the load method, but when the action is createCase, this method remaps the embed to an openAssignment action. In
this case, the system uses the ID from the prior createCase invocation for the openAssignment call.
Arguments: None
getEmbedData
Gets the value of a specified property.
Arguments: propName
setEmbedData
Sets the value of a specified property.
getEmbedInfo
Returns a structure with information about the loading outcome and uncommitted properties.
Arguments: None
logout
Ends the active server session by revoking tokens and removing the content in the web embed. This method also
releases open object locks.
Arguments: None
updateTokens
Passes the token object returned from a OAuth token endpoint back to the embedding when popupReauth is specified as
“false”.
Arguments: token
getEmbedData
setEmbedData
getEmbedInfo
Returns a structure with information about the loading outcome and uncommitted properties.
updateTokens
Passes the token object returned from a OAuth token endpoint back to the embedding when popupReauth is specified as
“false”.
getEmbedData
Gets the value of a specified property.
Signature
getEmbedData(propName)
Returns
Property value.
This method returns the latest values from the assignment's flow action, which means some of the values might still be
uncommitted.
Parameters
Name of property value to retrieve. For embeddings related to case pages, use a leading dot
propName String
to mark case-related properties (e.g. “.FirstName”).
For example:
document.getElementById("theEmbed").getEmbedData(".FirstName");
setEmbedData
Sets the value of a specified property.
Signature
setEmbedData(propName, value)
Returns
This method sets the latest values from the assignment's flow action, which includes values that are possibly uncommitted.
Parameters
Name of property value to retrieve. For embeddings related to case pages, use a leading dot
propName String
to mark case-related properties (e.g. “.FirstName”).
getEmbedInfo
Returns a structure with information about the loading outcome and uncommitted properties.
Signature
getEmbedInfo()
Returns
The properties within the returned structure are as follows:
Name Description Type
Parameters
None
For example:
document.getElementById("theEmbed").getEmbedInfo();
updateTokens
Passes the token object returned from a OAuth token endpoint back to the embedding when popupReauth is specified as “false”.
The embedding host gets updated access_token and refresh_token from a Pega server and passes them back to the web embed.
Signature
updateTokens(<token>)
Returns
Not applicable.
Parameters
The host page can add event handlers that execute and perform custom processing when specific supported events fire,
which helps you better integrate Pega UI with the host environment.
Event listeners
To listen on an event in the web embed, you can define an event listener on the embedded HTML element using the
addEventListener() method on the web embed.
For example:
let elEmbedding = document.getElementById("theEmbed");
elEmbedding.addEventListener("embedready", handleEmbedReady);
Events
embedprocessingend
Occurs when assignment processing is complete. The embedprocessingend event fires only when case processing is complete,
and not on each assignment screen or flow action transition.
embedready
Occurs before the system displays the UI of the embed.
You can use embedready to tell the host that the PCore infrastructure is ready, which means that the getEmbedData and
setEmbedData methods can be used to adjust some displayed values. You can also use this event with the createCase action
to get details about the current case and assignment IDs.
embedreauth
Indicates that the refresh token has expired and that the user needs to be presented with a login screen to continue the
session.
If popupReauth is true, the embed displays a credential challenge screen for the specified authorization service. If popupReauth
is set to false, the embedreauth event is fired.
embedassignmentsubmission
Occurs when the system detects a Next or Previous assignment submission.
embedcloseconfirmview
Occurs when the user clicks the Done button on a confirmation view.
Ensure that your web embeds work as intended by learning about potential issues and their resolutions.
Condition
When you deploy the web embed on a host page, the web embed formatting includes the styles of the host page (style bleed-
through).
Remedy
Wrap the <pega-embed> element in a <div>.
Apply styles directly to the <pega-embed> element or the <div> element that hosts the embed.
Condition
After a five second delay, a pop-up window appears and then quickly disappears before the web embed content is displayed.
Cause
The web embed uses a pop-up window to invoke the authorization endpoint to avoid disrupting the content on the host page.
When the authentication service is other than Pega, the system assumes the external authentication service uses single sign-
on. This means that in most scenarios, the application might not require a login screen. The application first tries to invoke the
authorization endpoint by using a hidden iframe. If the authentication succeeds, the pop-up window does not appear.
However, in some cases, the server configuration interferes with the attempt to authenticate in the hidden iframe. If the
authentication does not complete successfully in five seconds (the initial delay set in the silentTimeout attribute) the web embed
opens an authorization endpoint in a visible window. If the user does not have a valid SSO authentication context, a login
screen might appear in the pop-up window for the user to re-authenticate. If the user has already authenticated in some other
context, no login is required, the authorization code is returned immediately, and the window closes.
Remedy
In Chromium-based browsers, ensure that in the Cross-site Request Forgery system setting, in the Cookie settings
section, the Enable samesite cookie attribute is checked, and the Sometime options drop-down list is set to None.
For more information, see Mozilla developer guidance.
Verify if the Content-Security-Policy header returned by one of the redirect responses is not stopping the authorization
from completing in the hidden iframe. Values to consider are: script-src, frame-src, sandbox, frame-ancestors, and navigate-to.
If the redirect sequence to the identity provider is very slow, then increasing the timeout interval might prevent the pop-
up window from appearing.
If the authentication fails in the hidden iframe, ensure that the server that authorizes the endpoint is not configured to
return the X-Frame-Options header with a response of SAMEORIGIN or DENY. If you fix this configuration, the authentication
redirects in the hidden iframe should succeed. Consequently, the pop-up window does not appear.
For more information, see Mozilla developer guidance.
Set the silentTimeout attribute in the web embed to 0 to prevent the system from attempting the silent authentication in the
hidden iframe. This saves authorization time by decreasing the amount of time the application waits before launching a
visible pop-up window and re-attempting authentication.
Authentication ensures that only users and systems with a verified identity use the web embed and that all permitted
manipulations of the data occur as the current user identity.
OAuth 2.0
The OAuth 2.0 protocol allows external applications to access Pega Platform REST services by using access tokens.
When you create a web embed, Pega Platform automatically defines an OAuth 2.0 client registration data instance that you
can access in the records explorer, in the Security OAuth 2.0 Client Registration node.
The client is automatically set up as public. You cannot modify this setting.
For more information, see Creating and configuring an OAuth 2.0 client registration.
Authentication services
Web embed supports the same authentication services as its parent application. If an authentication service is defined in the
application, you do not need to define it again for the web embed.
Learn more about making Cosmos React work with existing frameworks in the following articles:
Give your users access to Theme Cosmos pages from Cosmos React portals. This approach helps you maintain
application continuity while you rebuild your existing pages in Cosmos React.
In Cosmos React applications, the Constellation UI Service relies on PCore and PConnect Public APIs to deliver the
application's UI. This approach delivers access to state management, actions, events, and a higher level of abstraction to
the DX APIs.
Pega Digital Experience (DX) API is a set of model-driven REST API endpoints that enable you to programmatically view,
create, and update cases and assignments.
The Pega Constellation messaging service intermediates between the case engine and UI components in browsers that
act as information publishers and subscribers. The new service accepts HTTP-based information and forwards it to
WebSocket subscribers.
While Cosmos React has an extensive library of out-of-the-box assets, the framework provides tools for expanding the UI
by adding Cosmos digital experience (DX) components. This still-evolving framework helps early adopters build interfaces
tailored to their specific business needs.
Give your users access to Theme Cosmos pages from Cosmos React portals. This approach helps you maintain application
continuity while you rebuild your existing pages in Cosmos React.
For example, your business owns a Pega mortgage application that is designed in Theme Cosmos. You want to rebuild the
application in Cosmos React. To save time to minimum viable product, you incorporate the existing Theme Cosmos documents
landing page in the new application instead of building a new page.
Before you begin: Check the applications that you want to integrate:
Ensure that both the Theme Cosmos and Cosmos React applications have the same name but different version
numbers.
Ensure that both applications use single sign-on (SSO) authentication. For more information, see Creating an
authentication service.
1. Open the Theme Cosmos application whose pages you want to display in Cosmos React.
2. In the Work- class, create a openHarness activity.
For more information, see Creating an activity.
3. Click Add a step, and then, in Step 1, define the thread of the activity:
a. In the Method field, enter Property-Set.
b. In the Step page field, enter pxThread.
c. Click the Expand to see the method parameters arrow.
d. In the PropertiesName field, enter Param.ThreadName.
e. In the PropertiesValue field, enter .pxThreadName.
4. Click Add a step, and then, in Step 2, define the action:
a. In the Method field, enter Property-Set.
b. Click the Expand to see the method parameters arrow.
c. In the PropertiesName field, enter Param.actionName.
d. In the PropertiesValue field, enter showHarness.
5. Click Add a step, and then, in Step 3, set the portal name to default:
a. In the Method field, enter Property-Set.
b. Click the Expand to see the method parameters arrow.
c. In the PropertiesName field, enter Param.PortalName.
d. In the PropertiesValue field, enter "UserPortal" .
6. Click Add a step, and then, in Step 4, in the Method field, enter call pxOpenWorkItemNewTab.
7. In the Method Parameters section, select the Pass current parameter page checkbox.
Before you begin: Define an openHarness activity. For more information, see Creating an openHarness activity.
1. Open the Theme Cosmos application whose pages you want to display in Cosmos React.
2. In the navigation pane of Dev Studio, click Records.
3. Expand the Technical category, and then click URL Mappings.
4. In the list of mapping instances , click pyDefault.
5. On the rule form, in the Landing pages section, click Add URL alias.
6. In the Define URL mapping dialog box, configure the URL path:
a. In the Identifier field, enter a label for your resource.
b. Clear the Map path elements for URL generation checkbox.
c. In the Path element type list, select Constant.
d. In the Value field, enter the URL extension that you want to associate with the page.
e. Click Next.
7. In the Edit processing activity dialog box, configure the activity that starts when the user opens the URL:
a. In the Class field, enter Work-.
b. In the Activity field, enter openHarness.
c. In the Parameter section, provide the parameters for your activity. For example:
d. Click Finish.
8. On the rule form, click Save as.
9. On the New tab, ensure that the context points to the application ruleset, and then click Create and open.
Overriding the pyIsAutoGenThread
Ensure that the mapped URL address of the target Theme Cosmos landing page opens correctly in a portal by adjusting the
pyIsAutoGenThread when rule.
1. In the ">Theme Cosmos application, in the header of Dev Studio, search for and open the pyIsAutoGenThread when rule.
2. On the Advanced tab of the rule form, define the new logic for the when rule:
a. To the right of the row A of the condition, click the Configure advanced conditions here arrow.
b. In the list of logic structures, select [condition evaluates to true].
c. In row A, enter @String.contains(@toUpperCase(pxThread.pxThreadName),@toUpperCase("autothread")). For example:
You can add items to your navigation menu by editing the out-of-the-box pyPopulateAdditionalNavPages data transform,
which is the source for the data page that defines the contents of the menu. You can use the same method to add external
web pages to the main menu.
Before you begin: Map the URL address of the target Theme Cosmos landing page. For more information, see Configuring
URL mapping in the Theme Cosmos application.
Adding Theme Cosmos landing pages to the case view actions menu
Expand the case view actions menu by adding links to Theme Cosmos landing pages. This approach helps you integrate
existing landing pages with your new Cosmos React application.
You can use the same method to add external web pages to the actions menu in the case view.
Before you begin: Map the URL address of the target Theme Cosmos landing page. For more information, see Configuring
URL mapping in the Theme Cosmos application.
PCore and PConnect objects provide public APIs that connect your Cosmos React application to a specific implementation of a
UI library and the related design system that is used to render the application’s user interface with the DX APIs. For example,
Pega’s Cosmos design system (built on the React UI library) is the default design system that Constellation connects to the
Infinity server.
For more information, see Using PCore and PConnect Public APIs.
DX APIs are best used in web self-service use cases where it is important to align your user experience with your digital
strategy while continuing to enable your business users to define and modify your application cases and user interface within
Pega’s no-code model.
DX APIs provide UI metadata that helps you develop a seamless user experience within your chosen front-end framework,
while using the power of Pega’s case management capability. If the custom front end is correctly built by using the DX API
responses, it can automatically adjust to changes in Pega Platform. As a result, an single model can supply a interface that is
rendered through standard Pega UI, mobile, web embed, or a custom front end.
For more information about DX APIs, see the Pega Digital Experience (DX) API Community page.
An IP address exposes the messaging service to browsers and publishers. The URL for the service is passed to the browser
during the initial portal load from the dynamic system settings in Pega Platform. The publishers and subscribers use the same
IP address for HTTP POST calls and WSS connections.
For more information about installing and configuring the service, see the Constellation messaging installation site with
advanced developer documentation.
For more information about the Messaging Service, see Working with Messaging Service.
While using custom DX components in Cosmos React, keep in mind that it is an expanding product with a narrower feature
set. Consequently, the framework might not support some classic Constellation features. You might also encounter unforeseen
issues.
To maintain a consistent, branded experience across channels, Cosmos React applications rely on the Pega Cosmos design
system for styling. The goal of the Cosmos DX component toolkit aims to extend the library of existing Cosmos components
and create new components that integrate seamlessly within the set of out-of-the-box components. You can use Cosmos DX
components to expand Cosmos React in specific scenarios where out-of-the-box components might not meet immediate
business needs.
For more information about custom DX components, see the Cosmos DX components in Cosmos React Community page.
Constellation UI service
Cosmos React applications rely on a static content microserivce that delivers front-end components and other static content to
the browser.
To obtain configuration, context, and data for Cosmos React applications, the client interacts with the server exclusively
through DX APIs. By keeping the Constellation container separate from other services, you avoid dependencies, give
developers the tools to create new UI components without interfering with other work, and improve overall application
performance.
When creating a new application, you can choose between a view-based Cosmos React UI, or a section-based traditional UI
architecture, which can be further expanded to include hybrid components.
Availability
For Pega Cloud customers, the regional multitenant Constellation service is automatically configured during Pega Infinity
deployment. There is no need for you to install or configure the Constellation engine.
Clients running Pega applications using VM-based or containerized deployments can deploy one Constellation service for your
organization to handle static content requests from any of your Pega Infinity deployments.
For more information about Constellation, see the Constellation UI static content delivery service site for advanced developer
documentation.
Review the process of implementing the Constellation UI Service on your system. For more information, see Hybrid mode.
Ensure that Pega Infinity is using a secure HTTPS protocol.
1. In the header of Dev Studio, click the name of the application, and then click Definition.
2. In the Advanced node, select the React-based UI option.
3. Click Generate routing table, and then click Save.
Before you begin: Obtain an API key from the Pega Digital Delivery site. For more information, see Using Pega-provided
Docker images.Note: If you cannot see the Request access key tile on the Digital Delivery site, contact Pega Support. For
internal users, you can create a Service Management request to get the Docker image access privilege. Pega requires re-
authenticating to download Docker images from its repository. As a Linux user, you can set up an authentication file to store
your credentials for the Pega Docker repository. In this way, you can use the file with Docker commands to conveniently
authenticate your identity when you download a new image.
1. In a Linux bash shell with root privileges, in the /home/<Linux_username>/ folder, create a .docker directory.
2. In the /home/<Linux_username>/.docker/ folder, create a config.json file.
3. In the terminal window, encode your user ID and API access key in base64 by entering echo -n'<ID> :<key>' | base64
The variables have the following values:<ID> is the user ID that you receive in an email from Pega Delivery.<key> is the
access key that you receive in an email from Pega Delivery.
4. In the config.json file that you created in step 2, enter the following code:
{
"auths": {
"pega-docker.downloads.pega.com": {
"auth": "<encoded_ID_and_key>"
}
}
}