PCF/Dynamic UI
Name some expensive expressions - ANS-- Array expansion (array*.stuff)
- collection methods: allMatch(), hasMatch(), countWhere(), first(), firstWhere(), last(),
lastWhere()
- dot notation object.array.object.blah.blah
Problem: a PCF Performance problems due to same expensive method or expression being
caled over and over again - ANS-Solution: Evaluate the expression in a PCF Level variable so it
is only evaluated once.
Problem: Examining role privileges directly, testing the current user to determine if they have a
specific role. - ANS-Solution: Perm.System.edituserDetails_ext
Array-Backed List Views - ANS-- best for short lists
- full set of data is loaded when the LV is rendered
- full set of data is reloaded when sorting/filtering the LC or when navigating between pages.
- Paging. sorting, and filtering are supported while editing the data.
Query-Backed List Views - ANS-- Best for long lists
- Only the data on the first page is fetched and loaded when the LV is initially rendered
- The query is re-run when navigating between pages, and data is loaded only for the viewable
page.
- The query is re-run when sorting or filtering the LV
- Paging, sorting, and filtering are disabled when editing the LV
Problem: Retrieving items outside the view entity** - ANS-Solution: extend the view entity with a
new field to retrieve just the desired information
In the example given in the lesson, a cell for 'Check Number' was added to ClaimCenter's
Search Checks screen, and the cell value was set to 'checkSearchView.Check.CheckNumber'.
▪ Although 'Check' is part of the search view, Check Number is not, so this configuration
retrieves the entire check entity when only a text string with the Check Number is needed.
▪ This will impact loading the search results, especially when multiple rows are returned.
Problem: Retriving entire entity when only its display name is needed - ANS-Solution: if the field
is not editable, just pull/use the DisplayName
Toolbar filter options (2)** - ANS-1) Create filters using the Gosu Standard Query Filters (LV
must be query-backed)
2) The Toolbar Filter widget includes a Filter Options Tab supporting two types of filters:
- ToolBarFilterOption: an expressionthat resolves to a single filter object
Name some expensive expressions - ANS-- Array expansion (array*.stuff)
- collection methods: allMatch(), hasMatch(), countWhere(), first(), firstWhere(), last(),
lastWhere()
- dot notation object.array.object.blah.blah
Problem: a PCF Performance problems due to same expensive method or expression being
caled over and over again - ANS-Solution: Evaluate the expression in a PCF Level variable so it
is only evaluated once.
Problem: Examining role privileges directly, testing the current user to determine if they have a
specific role. - ANS-Solution: Perm.System.edituserDetails_ext
Array-Backed List Views - ANS-- best for short lists
- full set of data is loaded when the LV is rendered
- full set of data is reloaded when sorting/filtering the LC or when navigating between pages.
- Paging. sorting, and filtering are supported while editing the data.
Query-Backed List Views - ANS-- Best for long lists
- Only the data on the first page is fetched and loaded when the LV is initially rendered
- The query is re-run when navigating between pages, and data is loaded only for the viewable
page.
- The query is re-run when sorting or filtering the LV
- Paging, sorting, and filtering are disabled when editing the LV
Problem: Retrieving items outside the view entity** - ANS-Solution: extend the view entity with a
new field to retrieve just the desired information
In the example given in the lesson, a cell for 'Check Number' was added to ClaimCenter's
Search Checks screen, and the cell value was set to 'checkSearchView.Check.CheckNumber'.
▪ Although 'Check' is part of the search view, Check Number is not, so this configuration
retrieves the entire check entity when only a text string with the Check Number is needed.
▪ This will impact loading the search results, especially when multiple rows are returned.
Problem: Retriving entire entity when only its display name is needed - ANS-Solution: if the field
is not editable, just pull/use the DisplayName
Toolbar filter options (2)** - ANS-1) Create filters using the Gosu Standard Query Filters (LV
must be query-backed)
2) The Toolbar Filter widget includes a Filter Options Tab supporting two types of filters:
- ToolBarFilterOption: an expressionthat resolves to a single filter object