Exposing an embedded property
I am using Pega 7.1.8. I am reading the help on how to expose property and it mentions that the optimizing for reporting tool can only expose property on the top level. And any embedded property, it can only be done manually by the following steps:
Copy approach — Copy the value to a new top-level property each time the embedded property changes (or each time the instance containing the property is saved). For example, if a list view report needs to select rows based on property pyWorkPage.pxFlow("LoanDisburse").Sheet.Detail(4), you can:
- Create a new top-level Single Value property to hold a copy of this value.
- Create a one-step activity to copy the value to the new top-level property, with Activity Typeset to Trigger.
- Create a Declare Trigger rule that calls the activity each time the work item is saved.
- Expose the top-level property.
- Reference the top-level property in the list view rule.
Declare Index approach — If not one but many or all values of a Value List or Value Group are needed as exposed columns, a Declare Index rule is a better approach.
- Create a concrete class derived from the Index- base class.
- Create Single Value properties in the new class to hold values of the embedded values.
- Create a Declare Index rule with the appropriate embedded Page Context value that copies the embedded values into a new Index- instance.
- Save the Declare Index rule. It executes immediately, adding and deleting instances of the new class.
- Expose database columns corresponding to the Index- class.
- Reference the Index- properties in the list view rule.
However when I right click on the property, I can see the optimizing property option, does it mean I can use to wizard to optimize the property without going through the above steps? Or the wizard will complete the above tasks automatically?
Which way is the better way to do this?