Skip to main content

Designing the subcase hierarchy

3 Tasks

1 hr

Visible to: All users
Advanced Pega Platform '23 English

Scenario

Metro Delivery Company (MDC) is a B2B company that specializes in delivering same-day intracity shipments from registered business partners to their destinations. Truck vendors register with MDC to provide pickup and delivery of the packages to facilitate this service.

Analyze the following key requirements for this application:

  • Processes
    After the approval of vendor registration, the respective truck service and truck for each city must undergo review by the individual city managers. The city managers provide their feedback in parallel and give the necessary approval.
  • Extensibility
    MDC's processes should be flexible enough to support new cities as the company expands its presence beyond its current location.

The following table provides the credentials you need to log in to the Delivery Service application. However, this challenge is mainly meant for evaluating the design options, and there are no specific implementation tasks. 

Role User name Password
Admin admin@deliveryservice rules

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 Identify design options

There are two possible approaches to this requirement. Note that locking contention must be carefully considered in both design options to avoid any issues. 

Create a top-level Case and use a Split for Each shape

For each Truck Service of a given city, use an advanced Split for Each shape (Create assignment), and then assign it to the respective city manager. If an Assignment is created for each city manager and assigned with the Split for Each shape, optimistic locking can solve the problem. However, this approach may result in data loss if parallel assignment submissions occur, leading to a poor user experience. Additionally, while this approach can handle data security, RBAC/ABAC cannot help managing it.

Create a child Case

For each truck service in a given city, create a child Case and assign the Case to the respective city manager for approval. If you select the "Allow one user" locking option on the parent case type and "Allow other users to access parent case when the child case is opened" locking option on the child case type, city managers can access the child cases and provide review and approval in parallel. In this option, the ProcessFlowDependencies agent handles Case dependency. Appropriate RBAC/ABAC conditions can also help manage the security of the data between Cases related to different cities.

2 Evaluate design options

Review the pros and cons for each design option in the following table:

Design Pros Cons
Create a top-level Case and use a Split for Each shape
  • Single Case for each registration with multiple Assignments.
  • Optimistic lock to support parallel handling of the city manager approval.  
  • Data privacy and security requirements are not achievable.
Create a child Case
  • Case dependency is achievable.
  • Locking contention can be handled.
  • Security of the Case and data achieved.
  • The number of Cases increases as the cities list increases in the future.

3 Recommend the best design option

A child Case for approving truck service during the registration of the truck vendor best suits the requirement for the following reasons:

  • Application locking requirements are fully satisfied. 
  • UI requirements are easier to satisfy. 
  • A child Case for the truck service design has greater specialization potential. 

Confirm your work

      



Available in the following mission:

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