Delegating Rules in Constellation

Hi Team,

We are implementing business-user configuration in a Constellation application and currently have two separate approaches.

  1. Data Type maintenance

For Data Types, we implemented a native Constellation maintenance page using:

Constellation View
→ List Data Page
→ Savable Data Page
→ Data Type records

The List Data Page retrieves the existing records for display. Users can add or modify records through the Constellation View, and the selected record is loaded into a Savable Data Page for persistence.

The Savable Data Page uses the configured save plan to create or update the underlying Data Type record. The maintenance page is exposed through the Constellation portal only to the relevant business users.

This implementation is working as expected.

  1. Non-Data-Type rule delegation

For rules such as Decision Tables and other rule types supported by traditional delegation, we implemented:

Constellation navigation
→ pyPopulateAdditionalNavPages
→ /configuration URL mapping in pyDefault
→ Work-.OpenHarness
→ pxOpenWorkItemNewTab
→ Data-Portal.DelegatedRulesPage

The URL mapping passes:

tabName = Configuration
className = Data-Portal
ruleName = DelegatedRulesPage

OpenHarness sets the required portal, thread, and action parameters, then calls pxOpenWorkItemNewTab.

The launch flow works. However, DelegatedRulesPage resolves from Theme Cosmos, and its UI does not render correctly in our Constellation application context.

Questions

  1. Is the Constellation View, List Data Page, and Savable Data Page approach recommended for business maintenance of Data Type records?
  2. Is there a native Constellation alternative to DelegatedRulesPage for Decision Tables and other delegated rules?
  3. If not, is the URL Mapping and OpenHarness bridge described above still the recommended approach?
  4. Does this require a separate traditional/Theme Cosmos application context to render DelegatedRulesPage correctly?
  5. Is there a better overall architecture for supporting both Data Type maintenance and non-Data-Type rule delegation in a Constellation application

We would prefer an OOTB supported approach and want to avoid maintaining custom configuration screens or a separate traditional application unless required.

Thanks.

I would recommend to delegate the Data types through Landing Pages. For other rules, please use the below approach to delegate the rules.

@RhettA32

Questions

  1. Is the Constellation View, List Data Page, and Savable Data Page approach recommended for business maintenance of Data Type records?
    1. Yes, AND its a far better experience than the old delegated data landing page. See Moving Beyond Delegated Data – Meet the Records Manager Landing Page
  2. Is there a native Constellation alternative to DelegatedRulesPage for Decision Tables and other delegated rules?
    1. Check out Configuration Sets Creating a Configuration Set
  3. If not, is the URL Mapping and OpenHarness bridge described above still the recommended approach?
    1. “Recommended” is a strong word, using modern features like CRUD on data and Configuration Sets is. However, it is documented on how to bring it back, if you need to go down that approach. So I would say “acceptable”, rather than “recommended” Delegating a Rule or Data Type in Constellation
  4. Does this require a separate traditional/Theme Cosmos application context to render DelegatedRulesPage correctly?
    1. Technically it shouldn’t, all of the assets (sections) are there OOTB, so I don’t understand why would need it.
  5. Is there a better overall architecture for supporting both Data Type maintenance and non-Data-Type rule delegation in a Constellation application
    1. As above. CRUD actions on data, Configuration Sets.

@MarcCheong -Regarding option 2, does the business user have the ability to change the decision table without App Studio access? If yes, how do they access this decision table from the end user portal?