Hello Pega experts,
We have a use case where a case type built in a Constellation application needs to be exposed within our existing Theme Cosmos (traditional UI) customer-facing application.
Background
Our Theme Cosmos application runs on Pega 25.1.3. Customers visit our client’s website and click a link to log in to the Pega application. An OIDC SSO flow is performed, and on success the traditional UI application is served directly. In other words, the customer-facing portal is built entirely in traditional UI — this is not a web mashup implementation.
Our requirement
We now need to expose a new case type (built in a Constellation application, also on Pega 25.1.3) within this Theme Cosmos customer-facing portal. However, several out-of-the-box elements are not appropriate to show to customers, and we’re looking for a way to hide them — see the yellow-highlighted area in the image below.
Options evaluated so far
Option 1: We added the Constellation application as a built-on application in the Theme Cosmos application stack and launched the Constellation case from the Theme Cosmos portal. The case renders using the pyDetails view, where we can hide some elements — case summary fields, the Pulse tab, the History tab, utilities, etc. But other elements don’t appear configurable, such as the Follow action and the yellow-highlighted section. Ideally, we want to show only the green-highlighted portion.
Option 1a: Instead of using a built-on application, we created the case type directly in the Theme Cosmos application with the “Use Constellation UI” checkbox enabled. The result was the same — the case still renders with the pyDetails view.
Additional note
In Constellation’s Web Self-Service portal, Pega uses a different view (pyDetailsWSS or similar), and there we were able to hide the unwanted elements and show only the green-highlighted portion. There are also limitations of using Constellation case in traditional application. So, we aren’t ok with Option 1 solution option.
Option 2: We created a web embed to expose the Constellation case type within the Theme Cosmos customer portal. This approach works, and we can hide the unwanted elements using the case presentation options (e.g., “assignment”).
So Option 2 largely works for us. However, we still need to evaluate a few things — for example, the Save and Cancel behavior in the Constellation web embed. In our Theme Cosmos customer portal today, customers can save a case and resume it later. We’d want the equivalent in the embed: as soon as the customer performs a Save case action in the embedded Constellation case, we’d like to close the web embed and return them to the dashboard view. We perhaps could achieve this using listener events of web embed. From there, we also need to show a To-Do list/work queue of their saved items, plus a list of submitted items with the ability to click through and view details.
So, a few questions for the group:
- Do you have any opinions or recommendations on our overall approach?
- For Option 2 (Constellation web embed inside the existing Theme Cosmos portal) - is it feasible to support save-and-resume, displaying To-Do tasks and showing submitted case details? Has anyone run into challenges implementing these with a web embed?
- Regarding Option 1- has anyone solved this, or is there a supported way to customize/replace the pyDetails view in that scenario?
