Constellation Adoption – Quick Refresh Notes

I recently went through the Constellation Adoption course again and revamped my notes as a quick refresher. Sharing them here in case they’re useful for anyone who wants to quickly revisit the key components of Constellation or brush up on the Constellation Adoption course.

These are my personal notes and key takeaways from the course. Please feel free to correct, add, or expand on anything I may have missed.

1. What is Constellation?

Constellation is Pega’s modern front-end architecture, built on the Constellation Design System using ReactJS. It separates:

UI / Presentation → Business Logic → Workflow

Three key shifts to keep in mind:

  1. Customization → Configuration
  2. Sections → Views
  3. Stateful → Stateless architecture

Importantly, in a Constellation app the server does not maintain a persistent requestor session — each request is processed independently, and the requestor session ends once the request completes.


2. Configuration over Customization

The recommended approach is:

Configuration → Extension → Custom UI

Constellation also moves away from Traditional UI concepts like Action Sets, favoring more declarative, model-driven behavior.


3. Views instead of Sections

Traditional UI leans on Sections/Harnesses. Constellation uses Views as the primary UI definition, and the UI is largely model-driven shaped by the Case Type Data Model.

Common View types:

  • Full Page View
  • Partial View
  • List View
  • Form View

(Views for data objects are also accessible via the UX tab on the data object.)


4. Data Pages in Constellation

No temporary pages here, the preferred approach is Data Pages/Data Views.

Because Constellation is stateless, there needs to be a way to tie server-side cached Data Pages to the right browser/request context that’s what psync_id is for.

A few things worth remembering:

  • Editable Data Pages aren’t cached
  • Single-page Data Pages aren’t cached
  • Data Pages can also be cached client-side for performance
  • Inspect client-side Data Page info via PCore.getDataPageUtils() in the browser console

5. Portals, Landing Pages, and Views

Portal → Landing Page → View

  • Portal: the overall UX/container (e.g., Work Portal, Self-Service Portal)
  • Landing Page: major destinations within a portal (e.g., My Work, Explore Data)
  • View: the actual UI used to display/interact with data or cases

6. Extending Constellation

A useful decision path when facing a requirement:

Can configuration solve it? → Can an existing component solve it? → DX Component → SDK / DX API

Lower investment:

  • Constellation Portals
  • Web Embed
  • Constellation DX Components

Higher investment:

  • Constellation SDKs
  • Constellation DX API

7. Web Embed

Lets you embed Constellation UI components/widgets into external web pages , a common use case is exposing Pega-powered forms inside an org’s existing web app while keeping the experience seamless.


8. Constellation DX Components

Used when an out-of-the-box component can’t meet a requirement. Built with React, integrated with the design system and low-code authoring experience. Familiarity with PCore and PConnect client-side APIs is important here.

Three common types:

  • Field Components – custom display for a field
  • Widget Components – custom UI/functional experiences
  • Layout Template Components – custom layouts

(DX Component Builder is installable via npm.)


9. Constellation SDKs

For building custom Constellation experiences with a different design system/front-end framework:

  • Pega + Angular
  • Pega + React
  • Pega + Web Components

Useful when an org has strong branding/design-system/architecture requirements.


10. Constellation DX API

DX = Digital Experience. A set of model-driven REST APIs exposing Pega case data and UI metadata (from View Rules). Enables:

  • Viewing/creating/updating cases
  • Working with assignments
  • Consuming Pega UI metadata

Key concept: the same DX APIs power both the out-of-the-box Constellation experience and custom front ends.

Pega Case + View Metadata
        ↓
Constellation DX API
        ↓
React / Angular / Web Components / Other Front End

11. Debugging Constellation Applications

  • UI Inspector: PCore.getDebugger().toggleInspector();
  • XRay: PCore.getDebugger().toggleXRay(true)
  • Tracer: use the View Rules option when troubleshooting View-related processing
  • DebugPegaAPI: enable this Dynamic System Setting for verbose API debugging

12. Debugging Views

Inspect View JSON from Dev Studio by enabling the appropriate Constellation dev setting, including the pxEnableC11nDev When Rule where applicable useful for understanding what’s actually configured behind a View.


13. Browser DevTools

  • Console – run PCore commands, inspect client-side behavior
  • Network – filter by Fetch/XHR to inspect DX API calls (payloads, status, timing)
  • Application – inspect Local Storage, Session Storage, browser-cached info

14. Debugging Data Pages

Client-side cached Data Pages are maintained outside of Redux. Inspect via:

PCore.getDataPageUtils();

Also handy: React Developer Tools, Redux DevTools.


15. Clipboard

Only partially supported in Constellation. Notably, it can’t be launched directly from the end-user portal the way it can in Traditional UI. This is why Browser DevTools, Tracer, UI Inspector, and XRay matter more here.


16. Portal Experience

  • Work Portal – for complex, recurring workflows
  • Self-Service Portal – for guided, occasional experiences (employee/customer self-service)

17. Traditional UI + Constellation Coexistence

You don’t have to convert an entire app at once. Some things to be aware of:

  • pyEnableTraditionalUICoexistence rule
  • Application definition/context setup
  • Adding Traditional UI case types to the application
  • Saving config into the correct application ruleset
  • App Studio → Settings → Traditional UI in Constellation
  • Generating required assets

Hope these notes are useful to anyone going through the Constellation Adoption journey.

9 Likes

a good refresh @Tharun_K_T - I updated this to “User Experience - Knowledge Share” and added this to our Constellation 101 series for those starting their journey (or in need of a refresh)

1 Like

Thanks @MarcCheong for doing that! Appreciate it :grinning_face:

Great notes - thank you for putting this together and sharing it with the community. The structure follows the Constellation Adoption course really well, and it makes an excellent quick refresher.

Building on your list, I’d like to contribute a few additional points:

18. The Data Model is the foundation

This is probably the most important underlying concept. In Constellation, the Data Model drives the UI experience - before designing Views, get the Case Type and Data Model right.

Data Model → View configuration → UI metadata → DX API → UI

Key elements to focus on: Case Type properties, Data Objects, Data Relationships, field types, Primary Fields, Case Tabs, reusable Views, Data References, Data Views, and Field Groups.

Developer takeaway: Don’t start with “How do I build this UI?” Start with “What should the Case/Data Model look like?”

19. Stateless does not mean “no state”

Constellation is stateless on the server, but the browser maintains rich client-side state - React/UI state, Redux-managed state, client-side Data Page cache, and UI/View state.

The in-memory model lives in the browser; server calls are short-lived, stateless DX API operations.

This distinction comes up frequently when comparing Constellation with Traditional UI architecture.

20. DX API request/response structure

Worth knowing the actual response shape. A typical Constellation DX API response can contain:

  • data - case/data information
  • uiResources - UI metadata required to render the View
  • nextAssignmentInfo - details of the next assignment
  • confirmationNote - confirmation information where applicable

Also remember the viewType values - Page, Form, Fields, None - which control how much UI metadata is returned.

21. Traditional DX API vs Constellation DX API

Traditional DX API Constellation DX API
Section-based View-based
Traditional UI Constellation
Traditional UI JSON model Constellation UI metadata model
Harness/Section concepts View metadata
Traditional UI architecture Model-driven architecture

An important takeaway is that Traditional DX API knowledge does not automatically translate one-to-one to Constellation DX API.

22. PCore vs PConnect

  • PCore - platform/client-level APIs providing capabilities such as data, state, events, utilities, and debugging.

  • PConnect - provides the connection/context between a DX Component and the Pega runtime, including access to component properties, values, state, and actions.

This is typically one of the first concepts DX Component developers need to understand when working with custom components.

23. Performance architecture

Constellation performance considerations include:

  • Client-side caching
  • Data Page caching
  • API payload size
  • Number of DX API calls
  • List pagination
  • Lazy loading where supported
  • Avoiding unnecessary custom components
  • Avoiding excessive data retrieval

The DX API architecture is designed to reduce unnecessary network traffic and payload size compared with the Traditional DX API.

When asked “Why is my Constellation UI slow?” - don’t immediately blame React. Trace the complete path:

Browser → Network → DX API → Data View → Automation → Database / Integration

24. Error handling and HTTP status codes

When debugging DX API issues, inspect:

  • HTTP status
  • Request/response payloads
  • Authentication/authorization
  • Case locking
  • Validation
  • Data View errors
  • Integration failures

A good example is HTTP 423 Resource Locked, which can occur when a Case is locked under a pessimistic locking scenario.

5 Likes

Thanks for the continuation Arun!