Skip to main content

Challenge

Authoring a new Constellation application

Authoring a new Constellation application

10 Tasks

1 hr 10 mins

Pega Platform '24.2
Visible to: All users Applies to: Pega Platform '24.2
Intermediate
User Experience
Constellation
English

Scenario

Learn the importance of the Data Model-first approach for Constellation applications. Configure UIs with top-level and embedded data fields. Discover the Full-Page View.

Loan Market (LMKT) is a long-standing Pega client that has delivered some applications using traditional, section-based UI architecture to production. Loan Market is looking to evolve their delivery of Pega applications to embrace the latest features and delivery techniques, including:

  • Constellation UI for new workflows
  • App Studio
  • Modular Reuse
  • Pega GenAI Blueprint™

Loan Market has already implemented some modules that are used in their current applications. These modules contain features that future workflows can use.

Loan Market's next initiative is a Loan Marketplace. This initiative is an offering for customers of Loan Market to provide the information needed to apply for finance in one stop. The application then suggests relevant products from lenders in Loan Market's finance network.

In just a few hours, a Discovery team collaborated with Loan Market stakeholders to map out the workflow and data needs of Loan Marketplace's primary workflow: the Customer Intake. The team captured the outcome in a Blueprint. Another member of the delivery team has imported the Blueprint into your challenge system and made some data design revisions.

Loan Market wants to embrace implementing this new workflow using Constellation.

You successfully recommend implementing Loan Marketplace using Constellation UI to set it up for current and future success with Pega Platform™.

The following table provides the credentials you need to complete the challenge:

Role User name Password
Application author AppCreator@LMKT pega123!

You must initiate your own Pega instance to complete this Challenge.

Initialization may take up to 5 minutes so please be patient.

Detailed Tasks

1 Refine the Customer Intake Data Model

  1. In your challenge instance, click Launch Pega Infinity, and then enter the following credentials:
    1. In the User name field, enter AppCreator@LMKT.
    2. In the Password field, enter pega123!.
  2. In App Studio, use the Branch development preferences to create a new Branch called Authoring.
    The Branch Development Preferences button indicating that no branch is currently selected as a preference.
  3. Configure the settings in the Branch development preferences dialog box to target Rulesets in the Loan Marketplace Application Layer for new or changed Rules.
    The Authoring Branch in the Branch development preferences.
    Caution: After submitting your new branch name, the Branch development preferences dialog box might turn off preferences. If so, perform the following steps:
    1. Turn Branch development back on, and then click Submit.
    2. After closing the dialog box, confirm that there is a green indicator on the Toggle branch development icon.
    3. If there is no green indicator, click the Toggle branch development icon again, toggle the switch off and on, and then click Submit.
    Only proceed after the green indicator is shown on the Toggle branch development icon.
    Branch Development Preferences confirms that a valid branch is selected.
  4. Open the Data Model of the Customer Intake Case Type.
  5. Add the following choices to the Loan Purpose field:
    1. House
    2. Vehicle
      Add choices to the Loan Purpose field of type Picklist.
  1. In the upper-right corner of the Data Model tab, click Primary Fields.
  2. Add the following fields:
    1. Case ID
    2. Credit Score
    3. Label
    4. Loan Purpose
    5. Requested Amount
    6. Work Status
    7. Urgency
    Tip: When selecting additional fields to add, experiment with the search box to search for and select fields of interest. After you select a set of fields, click Add.
  3. Drag and drop the fields so that they are shown in the following order:
    1. Case ID
    2. Label
    3. Urgency
    4. Loan Purpose
    5. Requested Amount
    6. Credit Score
    7. Work Status
      The Primary Fields for the Customer Intake Case Type in display order.

2 Prepare the Applicant data object

The Loan Marketplace application uses existing Data Models available from Pega Platform. Your colleague who imported the Blueprint changed the directed inheritance of the Applicant data object to PegaData-Contact. Future Loan Market applications can also adopt this strategy.

Tip: Notice on the Applicant data object how Pega Platform has made many inherited fields available for use in App Studio?
  1. Add a new Employment Status field to the Applicant data object with the following characteristics:
    1. In the Type list, select Picklist.
    2. Add the following choices:
      • Full-time
      • Part-time
      • Self-employed
      • Unemployed
    3. Expand Advanced, and then in the Additional info section, experiment with entering some content over multiple lines, including some bold text or bullet points.
      Consider also uploading an image. The following figure shows an example:
      A sample Additional Info configuration for the Employment Status field.
  2. Use what you have learned so far to configure Primary Fields for the Applicant data object to include the following fields in the following order:
    1. First name
    2. Last name
    3. Date of birth
    4. Employment Status
    5. Phone Number
    6. Primary email
    7. LinkedIn URL

3 Configure the Capture Loan Purpose Step

Business outcome

Capture the purpose and amount for which the customer wants to secure the loan.

Data Model

  • Loan Purpose: Picklist
  • Requested Amount: Currency

View configuration

  1. Open the Customer Intake Case Type.
  2. Click the Capture Loan Purpose Step.
  3. In the Step configuration pane on the right, in the Instructions for User text box, enter your choice of text, and then click Configure view.
    Tip: One significance of configuring Primary Fields for a Case Type is that the first Step in the workflow shows these fields by default.
    The default UI for the first workflow step is to show the Primary Fields of the Case Type.
  4. Remove the Primary Fields View from this Create View.
  5. Add the Loan Purpose field from the field list of the Case Type in its place:
    1. Use the search box that is provided to find and select the field.
    2. Confirm that the real-time preview on the left suggests that a drop-down control is a good default because the Field Type is Picklist.
      The default data capture option for a Picklist field is a drop-down control.
  6. Configure the Loan Purpose field.
  7. Click the Display as list to observe what Constellation suggests for a Picklist field.
  8. Select Radio Buttons.
  9. Confirm that when you select Radio Buttons, an additional option to select Horizontal Display is displayed, and then select the checkbox.
    Choosing Radio Buttons as the Display option for a Picklist field.
Tip: Constellation is prescriptive, not restrictive. Constellation suggests multiple, relevant, best practice user experiences to capture and display Picklist data. Constellation often suggests multiple options in the Display as list.

As you continue through the challenge, observe how Constellation adapts the configuration options based on the current Field Type.
  1. Add the Requested Amount field to this View, and then explore its configuration options.
    Notice how the configuration options:
    • Adapt appropriately to capture a Currency field compared to the previous Picklist field.
    • Provide more relevant outcomes when capturing currency data than plain decimal data.
      Configuration options for Currency fields are different than for Picklist fields.
  2. Clear the Allow Decimals checkbox.
  3. Select the Show ISO Code checkbox.
  4. In the Helper Text field, enter How much do you want to borrow (to the nearest 1,000)?
  5. Save the field configuration, and then on the View configuration, click Submit.
  6. Click Save.
Tip: Even though View Rules save automatically, you must explicitly save changes that you make to the workflow. The following are examples of workflow changes:
  • Adding step instructions for a workflow step.
  • The first time you use Configure View for a workflow step.

Always use Configure View in the Case Lifecycle to create the first version of a View for the workflow Step. The system creates and preconfigures the associated Flow Action for the step at this time. 

After creating the Flow Action and View for a workflow Step, you can use the UX tab of the Case Type to make changes only to the View. This technique reduces the number of Rules that your Branch touches when you implement workflow View improvements

4 Configure the Capture Applicant Details Step

Business outcome

Capture the key information about the person who is applying for this loan.

Data Model

  • Applicant: Embedded Data, single record, Applicant data object

View Configuration

  1. In the Customer Intake Case Type, configure the View for the Capture Applicant Details Step.
  2. In the Instructions list, select Override Case Step Instructions.
    Similar to the Additional Info configuration you performed earlier for the Employment Status field, experiment with the rich-text authoring available in the Instruction Text field.

    To achieve the business outcome, Rules encapsulated in a data object best capture or show key information about an instance of that data object, which is related to a Case Type. This includes user interface Rules. Including an Embedded Data field for a single applicant on the Case Type Data Model makes this straightforward in Constellation.
    Caution: From this point on, avoid using the search box to filter the fields. Scroll through the Field list to find the fields you need to select. If a list of Views to select does not show the View requested by these instructions, then log out and log in again.
  3. Add a field to the View, find the Applicant field, and then click the arrow on the right.
    Fields that refer to a Data Object have a right arrow that can be used to explore fields and Views it encapsulates.
  4. Expand Views.
    Drill into the Views encapsulated on the Applicant data object.
  5. Select the Create checkbox for the View that is already defined on the Applicant data object.
    Embedding the Create View from the Applicant data object into the View configuration of the current workflow Step.
  6. Click Add to embed the Create View for the application to the View for the Case Type Step.
    The View configuration for Capture Applicant Details is sourced from the Create View of its Applicant.
Note: The preview confirms that Primary Fields of the Applicant data object are now part of the UI for the Capture Applicant Details Step.

If authoring for a similar outcome using traditional UI, you update the page context to .Applicant, and then reference a Create UI Rule that applies to Data-Applicant.

However, the outcome you just achieved is fulfilled completely from App Studio and is also more intuitive for a wider audience of developers to learn and perform.
Tip: Showing Primary Fields is the default behavior for the Create View of any data object.
  1. Submit the View configuration.
  2. Save the Case Type, which is required because you have implemented the first View for the Capture Applicant Details Step.

5 Run the Customer Intake Case for the first time

Tip: While convenient, clicking Save and run runs Cases immediately in the Full Page View. However, the actual user experience is that the first Stage of a Case runs in a modal window without the Full Page View so that the user can more easily abandon the Case.

The Save and run action also saves the Case Type Rule even without changes or if the only changes are to View configurations that auto-save when authored on the UX tab. This makes merge conflicts more likely.

Use this challenge to practice saving the Case only after you implement workflow changes and previewing in App Studio any time you need to run a Case from its already-saved state, which reflects the actual user experience.
  1. In the header of App Studio, click Preview to use the Constellation user portal, which was automatically generated when importing the Blueprint.
  2. Create a new Customer Intake Case, proceed through the first four steps, and finally click the Advance this Case button.
    Observe the following details for the following Steps:
    Step name Details
    Capture Loan Purpose
    • Step-level instructions are shown.
    • The Loan Purpose is captured using radio buttons.
    • The Requested Amount shows the USD currency code. Values show a currency separator when relevant during data entry.
    • The helper text is displayed under the appropriate data capture field to guide user input.
    Capture Applicant Details
    • Rich-text instructions configured in the View override any step-level instructions.
    • The Date of Birth provides a date-picker.
    • The Employment Status has an info icon.
    • Clicking Employment Status shows the detailed field guidance you configured in Additional Info.
    • There are no constraints or validations when entering:
      • Phone Number
      • Primary Email
      • LinkedIn URL
    • The Primary Email is validated on submission.
    Full Case View (after Advance this Case)
    • The summary panel in the upper left shows the Case Type's Primary Fields either in the heading, subheading, highlighted fields, or summary fields.
    • The Details tab is the default tab that is active.
    • The Details tab shows a Details view in the center of the Full Case View, which also defaults to the Case Type's Primary Fields.
    • The Currency field in Primary Fields shows Currency-specific formatting.
  3. Click Exit Preview to return to authoring mode.

Key learning: Primary Fields

Where are the default places that use Primary Fields?

  1. The default view of the first step in a Case Type.
  2. The default content of the Create view for a data object.
  3. The default content of the Details view for a Case Type.

Primary Fields do not capture field-specific UI configuration. A field associated with Primary Fields is displayed in the UI through the default behavior of its Field Type. For example:

  • Employment Status (Picklist) is displayed as a drop-down list on the Capture Applicant Details Step.
  • Requested Amount (Currency) is displayed with decimal places when shown read-only in the Full Case View.

6 Configure the Full Page View

Tip: Data objects can also configure a Full Page View.

Configure the Full Page View for the Customer Intake Case Type:

  1. In App Studio, open the Customer Intake Case Type, and then click the UX tab.
    The Full Page View is active by default on the right of the UX editor.
  2. Update the field-level configuration of the Full Page View:
    1. Set the heading by clicking Applicant > Last Name.
      Ensure that the field uses the same last name that you selected when configuring Primary Fields for the applicant.
    2. Drag Loan Purpose to the Highlighted Fields section.
    3. Drag Work Status to the Summary section.
    4. Drag Create Operator and Update Operator to the bottom of the Summary section.
    Tip: Create Operator and Update Operator are widgets, not fields. Look for other places where you can use widgets in the View configuration.
  3. Add a new Applicant tab, and then drag it under Details.
  4. Click Applicant to open the tab configuration, and then use what you have learned previously to switch focus to the Applicant field of the Case and display its Details View in Region A of the one-column template.
    The Applicant Data Object's Details View becomes the View for the Applicant tab.
Note: View configurations applied in the UX tab save automatically.
  1. Click Back to return to the Full Page View.
  2. Scroll through the Full Page View configuration to familiarize yourself with its other features, including:
    • Utilities widgets
    • Options to show or hide common fixtures
    • Pega GenAI Coach
  3. Click Preview, and then find the Case you created earlier in the Tasks list on the home page of the user.
  4. Open the Case, and then confirm that your newly configured Full Page View is displayed.
    The following figure shows the default Full Page View:
    Default Full Page View.
    The following figure shows the author-configured Full Page View:
    Authored Full Page View.
  1. On the Full Page View of your Case, click the new Applicant tab to observe the applicant details captured in the Validation Step of the workflow.
    At runtime, the Applicant tab shows the Applicant details captured earlier in the Case.
Note: The read-only outcome of showing the Phone Number, Primary Email, and LinkedIn URL display fields on the Applicant tab would not meet the expectations of the client:
  • Users expect a standardized layout of phone number data and to interact with it.
  • Users also expect email addresses and URLs to be clickable.

The Applicant data object inherited these fields from PegaData-Contact, a Pega class that is likely consistent with data classes used by your current traditional UI implementations. If their fields do not use current Pega Platform Field Types, they might also suffer from these outcomes.

Tip: While you can use your existing data classes and make them usable in Constellation applications, it is unlikely to fulfill the expectations of your client.

Consider evolving your existing data classes to use modern Field Types, which Constellation is ready to use. Alternatively, you might define new data objects that exclusively use modern Field Types for new workflows going forward.

7 Add modern data fields

Case Types and Data Objects that use the modern Field Types available in Pega Platform are the main influence on the UI configuration of a Constellation application.

Tip: Use the tab key on your keyboard to leave the Field Name field as you add new fields to your Data Model. You can observe and react to App Studio's suggested Field Type, which is based on the new field's name. You can override any suggestion that App Studio makes.
  1. In App Studio, add the following new fields to the Applicant data object:
    New field name Field Type Observations
    Email Address (new) Email Notice how App Studio can suggest a useful field type based on the field name.
    Phone Number (new) Phone Always double-check any field type suggestion. The default suggestion here is Integer.
    Social Link URL None
    Tip: If your Data Model has many fields inherited from another layer, then try filtering the field list by Application Layer, as shown in the following figure:
    A Data Model with a large number of fields that has been filtered by Application Layer.
  2. Replace the Primary Fields for the applicant to use the modern fields created in step 1 in place of the fields inherited from PegaData-Contact.
  3. Create a new Case, and then complete the steps until the Full Page View is displayed.
  4. Confirm that the default editable behavior of a phone field is to:
    1. Prompt separately for the country code.
      Phone field type captures country code separately.
    • Apply user-friendly formatting during entry.
    • Only numeric values are accepted.
      Editable fields adapt to the field type.
    1. Confirm that the default read-only behavior of the PhoneEmail, and  URL fields is to mark up the value of the fields as an actionable link.
      The Field Type determines the nature of the default markup.
      Phone, Email and URL fields have actionable behavior when read-only.
Tip: Does the Phone number field not show all the country codes you want?

In the Self-discovering and troubleshooting challenge, you discover what provides the list of Country Codes and how to configure them.

8 Prepare the Embedded Data Model

The third and fourth steps in the first stage of the Customer Intake Case Type capture the Applicant's financial details and employment history. Creating the Data Model in advance ensures that:

  • You remain focused on the business outcome.
  • You accelerate the process of authoring the UI of your Case Type in Constellation.

The Data Objects configured in this task are deliberately imported from a Blueprint with no fields so that the implementation team remains in control of the low-level Data Model.

  1. Add the fields shown in the following table to complete the definition of the Income and Expense data objects, the Financial Information data object, and the Employment data object:
    Data Object Field name Field Type Additional configurations
    Income Type Picklist
    • Display as a search box.
    • Add the following choices:
      Employment
      Investment
      Benefit
      Other
    Income Description Text (single line) None
    Income Amount Currency None
    Expense Type Picklist
    • Display as a search box.
    • Add the following choices:
      Housing
      Debt Repayment
      Transportation
      Living
      Other
    Expense Description Text (single line) None
    Expense Amount Currency None
    Financial Information Income Lines Embedded Data
    • Income data object
    • List of records
    Financial Information Expense Lines Embedded Data
    • Expense data object
    • List of records
    Financial Information Total Income Currency
    • In the Advanced section, configure a calculation: Sum of Income Lines > Amount.
      If you do not see any options for Sum of, then check that Income Lines was defined as a List of Records.
    Financial Information Total Expenses Currency
    • In the Advanced section, configure a calculation: Expense Lines > Amount.
      If you do not see any options for Sum of, then check that Expense Lines was defined as a List of Records.
    Financial Information Net Income Currency
    • In the Advanced section, configure an expression:
      .TotalIncome - .TotalExpenses.
    Employment Company Name Text (single line) None
    Employment Address Address None
    Employment Years with Employer Integer None
    Note: As you were authoring the Net Income calculation, did you notice how App Studio named the property Rules you created earlier (.TotalIncome and .TotalExpenses) according to Pega best practice naming conventions?

    Did you also notice that you just configured three declare expressions without leaving App Studio?

    As you might have seen in an earlier task, you can configure and encapsulate Views on data objects so that they are available to select when those data objects are included in Case Type Views.

  2. In App Studio, open the Employment data object, and then click the UX tab.
  3. In the right pane, click the Other Views tab on the right, and then create a new form named Employment Details.
  4. Click the Employment Details form to author it.
  5. Next to the View label, hover over the Info icon, and then observe the following about this View Rule:
    1. Name
    2. Ruleset (or, in this case, the Branch Ruleset)
    3. Applies to class
      Use the info icon to see low-level Rule metadata about the current View.
    Tip: App Studio makes intelligent decisions on the name, class, and Ruleset for each Rule it creates, including Constellation View Rules. It uses the business-friendly name that you enter in App Studio, the context of where you are creating the Rule, and your Branch development preferences.
  6. Configure the View:
    Field for View Field Type
    that influences View configuration
    Configuration options
    Company Name Text (single line)
    • Use default settings.
    Years with Employer Integer
    • In the Display as list, select Slider.
      Note the other Display as list options for Integer fields.
    • In the Minimum value field, enter 0.
    • In the Maximum value field, enter 5.
    • In the Default value field, enter 0.
    • In the Helper text field, enter Choose "5" when 5 or more years.
    Address Address
    • Use default settings.
  7. Refine the Years with Employer field on this View:
    1. In the Field label list, select Custom.
    2. In the Custom field label list, select Source from Library.
    3. In the drop-down list that is displayed, select Create New.
  8. In the New Custom Field Label dialog box, configure the details:
    1. In the Name field, enter Years with Employer.
      Use spaces to keep this name business-friendly.
    2. In the Text box, enter Years with.
    3. Use the Insert Field widget to select the Company Name field
      Creating a new Field label that includes a field reference.

The following figure shows the completed View:

Configuring the Employment Details View is complete.
Note: The system uses a sophisticated UX when you add an Address Field Type to a View.

9 Configure the Capture Financial Information Step

Business outcome

Capture the financial information about the person who is applying for this loan.

Data Model

  1. In the Customer Intake Case Type, click the Data Model tab.
  2. Add the following field:
    1. In the Field Name field, enter Finances.
    2. In the Type list, select Embedded Data.
    3. In the Data object list, select Financial Information.
    4. In the Options section, select Single record.

The Income Lines, Expense Lines, and Currency fields created in the earlier Prepare the Embedded Data Model task also become part of the Data Model of the Case Type because they compose the Financial Information data object.

View configuration

In addition to encapsulating Views on a data object, you can add Views to data objects during Case Type UI authoring.

  1. Click the Capture Financial Information Step, and then configure its View.
  2. Using what you have learned previously, review the Views that are available for the Finances field:
    Drilling into the Finances field to review Rules encapsulated on the Financial Information Data Object.
    Note: The View for the Financial Information data object that is needed for this Case Step does not exist yet.
  3. Click Create New View.
    Create a new encapsulated View while authoring the View for a Case Step.
  4. In the Name field, enter Income and Expenses.
  5. In the list of templates, select Default form.
  6. Add fields in the following order:
    1. Income lines
    2. Total income
    3. Expense lines
    4. Total expenses
    5. Net income
    Tip: Use the template Default Form if the View will capture editable data in a workflow Step. App Studio preselects Default Form because you requested the new View while configuring a form Step View.
  7. At the top of the Income and Expenses View, confirm that the Finances field that the new View applies to uses Embedded Data - Single Record - Financial Information.
    The configuration options for a View bound to an Embedded Data/single-record field are very similar to that of a Case Step.
  8. Using what you have learned previously, confirm the Rule name, class, and Ruleset details for this new View Rule.
    Tip: The new View Rule has been correctly encapsulated in the Financial Information data class, even though you completed the task by authoring a Case Step.

    If you stay in App Studio, prepare your Case Data Model, and configure Case Type Steps by selecting the fields for the intended business outcome, App Studio creates intelligently named Rules in the correct Class and Ruleset.

    You can have confidence that other team members will achieve the same outcome when using App Studio.
  9. Click the Income lines item that is bound to an Embedded Data Field Type to configure an inner View that captures and displays a set of income records.
    Tip: Because the Income lines field uses Embedded Data (list of records), different View configuration options are shown in the following figures:
    The configuration options for a View capturing a list of records as Embedded Data.
    The different UX patterns for showing an list of Embedded Data records.
    The different UX patterns for capturing a new record in an Embedded Data list.
    Caution: In the next step, some of the columns you must add might be unavailable for selection.

    Submit your View, save your workflow, log off, log on, and then return to configure the Income lines View.
  10. Configure the Income lines View:
    1. In the Display as list, select Table.
    2. In the Add and edit records within list, select Table rows.
    3. In the Columns section, delete Primary fields.
    4. In the Columns section, add the following fields:
      • Type
      • Description
      • Amount
    5. In the Column to take up remaining width list, select Description.
    6. Familiarize yourself with the conditional logic options in the Conditions and Record-level Conditions sections, but retain the default values.
    7. Click Back to return to the Income and Expenses View that embeds the current View.
  11. In the Income and Expenses View, repeat step 9 for the Expense lines item.
  12. Leave the default field configuration for the Currency fields, then submit the Income and Expenses View.
  13. Save the Case workflow because you have configured the first View for a workflow Step.
    Tip:  Clicking Submit in the View configuration closes the View configuration editor for all Views in your current stack, even if the View you submit is not the top-most View. You do not lose any changes. You can click Back to return to the View that occupies the View that you are currently authoring.
  14. Optional: Configure your application so that the Net income field is displayed under the Requested amount field on the Full Page View of the Customer Intake Case.
    Note: Net income is significant data for the underwriters.   
    Tip: The search box in the field selector can help you find fields that are nested in the data objects that your Case Type embeds or references, as shown in the following figure:
     
    Finding the Net Income field embedded in the Finances field of the Case Type Data Model.

10 Configure the Capture Employment History step

Business outcome

Capture the employment history of the person who is applying for this loan. Capturing each item of employment history is complex.

Data Model

Use what you have learned previously to add an Employment History field, which is a list of Embedded Data records of type Employment.

View configuration

  1. Configure the View for the Capture Employment History step (Step 4 in the Capture Details stage).
  2. Add the Employment history field to the view and click into the configuration of this Embedded Data item.
    Similar to the Income lines field, Employment history is an Embedded Data (list of records) Field Type. The same UI configuration options are shown.
    1. In the Display as list, select Table.
    2. In the Add and edit records within list, select Modal.
    3. In the View for add and edit modal list, select Employment Details.
    4. Instead of Primary Fields, in the Columns section, click Add, and then add the following columns:
      • Company Name
        In the Field label field, enter Company.
      • Years with Employer
        In the Field label, enter Years.
      • Address > City
      • Address > Country
    5. In the Column to take up remaining width list, select Company Name.
    6. Submit the View configuration.
  3. Save the Case workflow.
Note: The Employment Details View selected in this configuration is the one you authored in an earlier step. Because this View is for a field that is a list of records Embedded Data field on the Employment data object, the table columns and modal Views used by this View are Rules in the Employment data object.
Tip: Use the Modal pattern suggested by Constellation when the data capture for a single record is more intricate than what Table Rows can fulfill. 


If you are having problems with your training, please review the Pega Academy Support FAQs.

Did you find this content helpful?

Want to help us improve this content?

We'd prefer it if you saw us at our best.

Pega Academy has detected you are using a browser which may prevent you from experiencing the site as intended. To improve your experience, please update your browser.

Close Deprecation Notice