Constellation- Ask your Questions!

Hi @MarissaRogers,

If there is any documentation about using Keyed DP in constellation, please share it.

I have tried to source the Keyed DP via Data Reference, However it is not visible in the available data pages. Once i created the page list property, In Dev studio I have changed the Source of the property to Keyed DP from a list DP and also updated the keys in the page list property. When i am checking the Same property in App studio, it is getting updated to Property of type Query(List).

Can someone please say what need to be done here and correct me if I have made any mistake in the configuration.

Thanks,

Pruthvi Raj G

@Sam Alexander @AK___ As of Infinity 24.1, you can also apply “Additional info” when defining the field on the data model. This is then published as a modal overlay using an info icon next to the field whenever it is shown for data capture.

Combined with Sam’s response, this provides the ability to add step-level, group-level and field-level instructions for users completing forms in Constellation UI.

@AK___ Thanks for your questions!

  1. Splitting your first question into two halves:

    1. The considerations when choosing which layer you implement your data model are the same for Constellation apps as they have been for traditional apps. Implement data objects as reusably as makes sense for your business need. Defining client- or implementataion-specific data types that inherit from existing data types remains the recommended approach, for all the same reasons that this would be recommended in Object-Oriented Design.

    2. When using an existing data model that was defined in older versions of Pega, beware that the more modern field types may not have been available at that time. PegaData-Contact for example has fields such as Phone number, Primary email and LinkedIn URL which are all defined as “Text”'. Newer data models would implement these fields using modern field types like Phone, Email and URL. Constellation apps will provide better data capture and read-only display behaviour for fields that use these modern types than with “plain text” fields.

  2. If Common Data Model (CDM) provides entities and relationships that align to your application’s data needs, it is recommended. CDM is available for Platform-only apps as of Infinity '23, and has been part of our CRM apps for longer than that. CDM is extensible so that you can add your own entity types and extend the existing ones. CDM also has some neat OTB patterns for managing reference data which is one less thing you have to create a ‘framework’ for in a greenfield implementation. See also:

    1. CLSA Community webinar on the Common Data Model from earlier in 2024, and
    2. Pega Common Data Model mission on Pega Academy.

@RahulPratap You can set these in web embed script (similar to mashup) it will bypass the logic screen.

For Web Embed:
set grantType attribute value to “customBearer”

See this link for detailed info on Web Embed grantType values: https://docs.pega.com/bundle/platform/page/platform/user-experience/attributes-web-embed.html
leverage setCustomTokenParamsCB to specify JavaScript code to invoke prior to each token endpoint call to set any custom params (see next slide)

@SebastiaanH Hi, Sebastiaan. Your overview of DX Component and the Notification service sounds reasonable. I’m not immediately sure where the problem is. Can you open a support ticket for this one?

@MdKousik

Can you please share the questions so we can get the right person on it?

Thanks

Itamar

@ShreyaS

What is the resistance to using the OOTB Constellation Attachment utility?

What you have described sounds like a simple case type workflow.

  • Step 1: upload the file as a case attachment
    • Step 1 post-processing: pxParseExcelFile parses the file into data records and populates an Embedded Data (list) field of the case
  • Step 2: show the embedded data records for confirmation. Use a multi-step form to allow the user to easily go back and upload a corrected attachment; or provide a Table or Modal UX to allow the parsed records to be edited in place.
    • Step 2 post-processing: bulk-create the Operators using the data submitted on Step 2. Track success/failure in the embedded data list.
  • Step 3: confirm success/failure of each Operator creation to the user.

What do you think?

@ShivakumaaranC as you have seen, the notification behavior when there are changes to the data available from a data page that is the source for a list is to let the user know that new data exists and put the user in control of whether they want to receive the updated data.

You can implement custom behavior like what you need by developing a DX Extension Component which subscribes to the message type published by pxC11NPublishDatapageUpdate - or indeed a custom message type (published by pxC11nPublishMessage). The subscriber code in the Extension Component can implement customized behaviour in the front-end on receiving the message, such as accessing the latest datapage data and injecting it into the list view.

For more details, see Pega Docs - PCore & PConnect - Working with the Messaging Service.

@RichardMarsot can you suggest a lower level of detail of what such an Extension Component that wraps a List View might look like?

Hi @PRUTHVIRAJ. Thank you for this and your earlier question.

Going forward, please post Constellation implementation questions to User Experience Expert Circle | Pega monitored by Pega product managers, competency leaders and Constellation & UX community members from Pega, partner and client organizations.

Re-post your two questions there and you will get your answers in a timely fashion.

@RameshSangili
Thank you Ramesh.

@Hongte

Further to @RameshSangili 's response, DX API’s response for showing the View for a workflow step includes metadata which calls out when there are fields on the View that are the targets of declarative calculations. This instructs the Constellation orchestration layer - running in your user’s browser - to automatically issue round-trips to the /refresh DX API operation when editable fields on that View are changed, so that any affected Declare Expressions can re-calculate (on the server) updated values.

A Messaging Service will still need to be operating for any Infinity server that is hosting a Constellation application, but the Messaging Service is not used for this pattern.

The Messaging Service is intended for scenarios where events that change the case state occur separately from a human user’s workings with the case. For example, background processing receives the results of a long-running validation service using a third-party API and makes these results available to the case. Infinity can use the Messaging Service to notify any humans currently working with the case that the validation has completed and its results are available.

@SebastiaanH Correct, if multiple messages, the banner is collapsed.

In the “live demo” on this page https://design.pega.com/design/banner/ you can change the number of messages to see this behavior. See screenshot.

@Sam Alexander

Thank you for the information!

@SebastiaanH

The Data pages in constellation are classified into Queryable and Non-Queryable data pages. The Data pages which are populated with RDs are classified as Queryable and ones populated with Data transform are classified as Non-Queryable. Currently the implementation on the table side is limited to displaying these actions on the tables populated with Queryable data pages and so you don’t see the actions available on the tables which are populated with data pges sourced by data transforms.

@NAQUS

I figured this was the behavior. Thank your for the confirmation. Is it on the roadmap to support this functionality?

@BraamSmithCLSA , @ShreyaS : Added to Braam’s suggestions,

We can use binary file for excel template and show it as a link in constellation for the user to download template first

Use attachment property type for user to upload the filled out excel sheet inside the form.

PSB screenshot for the same in constellation

@Hongte

I could solve my issue after performing below steps.

After creating localization rules, I could find properties which I want to translate in translation packages.

@josenavas Blueprint’s main focus is to accelerate - for experienced and novice Pega practitioners - the authoring of workflows needed to fulfil the business outcomes needed for an application. With that comes the identification of the data objects and personas needed.

I would let Blueprint run its natural course without strong consideration for the overlap of your data objects with CDM. Defer to the implementation phase (during/after import of the Blueprint into Infinity) whether the data objects identified in the Blueprint should become entities managed by CDM. CDM entities are actually work classes, so once your data objects are identified as entities to use with CDM, follow the CDM implementation guide on extending CDM to include new entities.

Is there anything coming for this in the Theme, @Sam Alexander ?

CC: @Hongte

@BraamSmithCLSA For what it’s worth: automatically refreshing a table often presents UX challenges. For example, suppose you’re reading a row on a table, but suddenly you lose your place because the table was automatically updated, so the row you were reading is now somewhere else.

By design, we render the “new records have been added” so the user doesn’t lose their place and can optionally decide to refresh.

From given information, I don’t recommend auto-refreshing the table.

Copying my colleague @Chiranit Prateepasen in case she has more to add.