Posted: 22 Jul 2019 17:28 EDT Last activity: 30 Jun 2020 9:02 EDT
Unable to optimize a property embedded in data- class page that is embedded in a work- class
I am attempting to optimize a property in a data- class page that is embedded within a work- class. I am trying to have that property optimized within the work- class, not the data- class. The only way that I can do this so far that I can tell is to select the property from within the embedded data page(inside the work- class) in the app explorer and select optimize property there – the issue is that some of these data-classes are so large that I cannot see the property in the left side panel bar and am forced to click “new window”. However, when I select the property here and try to optimize it there, it forces me to only optimize the property in the data- class, instead of the work- class where we need it to be optimized in order to get rid of the guardrail warnings. We used to be able to use pzBulkOptimization in the past in order to do this, but in Pega 8.1.3, we cannot search this activity and run it. Was it deleted? Also - I traced what does happen during a optimization using the wizard, and found two other activities, pzAlterTable and pzOptimizeAProperty, but i cannot search these either - is this expected behavior? If so, what is the workaround for optimizing the data- property in the work- class?
Thank you - anything that you can do to help would be much appreciated. Please see the attached document for repro steps.
***Moderator Edit-Vidyaranjan: Updated SR details***
Hello, we are currently planning on introducing a property optimization wizard to the developer studio that will, among other things, allow you to specify the class and property. If you just want to expose an embedded page property, this can be accomplished manually via the Class Definition External Mapping tab. If it's an embedded page list property, create a Rule-Declare-Index that applies to your Work- class, and set the property path in the 'page context' and the set the Data- class in the 'page context class'
I don't want to expose the embedded page itself, but rather just the property within it. Is there no actual solution for this besides mapping the table ourselves? Is that really a 1:1 solution for optimizing a property? Is there a way we can get access back to pzBulkOptimization or have some kind of step-by-step on how to workaround this issue?
Yes, you'll need to manually create the column "myColumn" on the table. Then you'll update the External Mapping tab on the Class Definition for the parent class. The property path should be set to "myEmbeddedPageProperty.myScalarPropertyToOptimize" and it can be mapped to the newly created "myColumn" column.