High CPU time consumed by GetFlowDataDefaults OOTB rule in Pegasurvey - Purpose / Solution / Workaround
Based on client's requirement we created many survey screenflows using questions and subflows. We are using TabbedScreenFlow and TabbedScreenFlow7 across our application screenflows. When we had 1-4 level of subflows it was working fine, not much CPU time consumption. When we have added many more flows for the additional surveys with growing business requirement, we are seeing flows nested deep to a level of 8 or 10. The problem is now with the GetFlowDataDefaults - it is OOTB pega survey activity called from GetFlowData which finally gets called when calling Perform activity. It is taking >40 secs to iterate over the entire shapes in the PRIMARY and all the NESTED subflows.
For e.g. below shows 5 level of nested screenflows
1. The GetFlowData activity is OOTB activity which takes care of flowing the flow navigation path of the screenflows by building a page pyFlowData on the clipboard. Using pyFlowData all the breadcrumb building HTML's like TabbedNavigation and TabbedNavigation7 would be building the breadcrumbs accordingly.
2. Coming to GetFlowDataDefaults, this is an extension activity used to customize the pyFlowData. PegaSurvey framework overrides this to set the step labels required for the Survey specific breadcrumb and screenflow functionality to set the required data for the screenflow to run. Hence this would be needed when we are running a survey through a surveydriver with "Run as screenflow" configuration.
3. As you are trying to use only question shapes in your flow, you may override this activity in your custom rule set. But the problem would be that they will not be able to use the SurveyDriver with Run-as-screenflow.
4. There shouldn't be any problem having both harnesses. But I prefer having new TabbedNavigation7 harness.
Please can you elaborate on #2, where you said it is customized for PegaSurvey framework to setup step labels and screenflow functionality. We know step label is very basic and it is not jsut for PegaSurvey. Can you explain what exactly is customized in Pega Survey.
on your #3, you mentioned if we create a stub for this activity then it will create problems for SurveyDriver with Run-as-screenflow. We are not using SurveyDriver flow but are using our own screenflows and adding questions shapes, utility, and subflows, and decision shapes... Will this be affected? I dont even if this activity changes anything on UI or the navigation funtioanlity.