WITH 100% CORRECT ANSWERS ) (2025/ 2026)
(Verified by Experts)
Guidewire Bundle Management - A New bundle is created in code and is -
ANSWER -Writeable
Code determines the contents
Guidewire Bundle Management - Bundle commits are - ANSWER -Transactional
- all entities are committed, or the entire bundle is rolled back
Automatic when processed by the application in rules, workflows, and some
plugins (depends on the underlying code)
Manual bundle processing (managed by your code) required for:
Web services and batch processes that make database changes
Modification to entities returned by queries
Certain plugins
User interface changes when the UI is in read-only mode
Guidewire Bundle Management - Gosu syntax for bundles: Using getCurrent() or
newBundle() for - ANSWER -Entities require an explicit commit
New entities must be created with the syntax var myEntity = new
MyEntity(bundle)
Guidewire Bundle Management - Gosu syntax for bundles: Using
runWithNewBundle ( \ bundle -> {}) with a code block for - ANSWER -Entities
are automatically committed
New entities are automatically added to the bundle
Options to create with or without a specified user
Guidewire Bundle Management - Gosu syntax for bundles: Adding entities to a
bundle uses - ANSWER -myEntity = myBundle.add(myEntity)
Guidewire Bundle Management - Gosu syntax for bundles: Entities referenced by
accessors on entities already in a writable bundle - ANSWER -are also writable
, Guidewire Bundle Management - Gosu syntax for bundles: Determine
changes/original values in a bundle by using - ANSWER -myEntity.Changed
myEntity.isFieldChanged(Entity#FieldName)
myEntity.getOriginalValue(Entity#FieldName)
Guidewire Bundle Management - Gosu syntax for bundles: Mass updates -
ANSWER -Use paging with regular commits for mass updates (for example, in
batch processing)
Setting the page size: resultObject.setPageSize(1000)
Bundle or chunk size:
"for (entities in com.google.common.collect.Iterables.partition(resultObject, 250))
{}
Use ScriptParameters to determine the optimal Page/Chunk size
UI Performance Best Practices
3 examples of expensive expressions are - ANSWER -Multi-step dot paths -
exposure.Claim.Catastrophe.ClaimsHistory
Array expansion - User.MemberGroups*.DisplayName
Collection methods - allMatch(cond)
UI Performance Best Practices
3 examples of problematic expression usage in the UI are - ANSWER -Called on
multiple properties of a single widget
Called on multiple widgets in the same PCF
Solution - create a PCF-level variable that evaluated the expensive expression once
UI Performance Best Practices
Test for visibility or editability of a widget based on permissions by - ANSWER -
Examining role privileges directly to determine the user's role uses a collection
method in the background and performs poorly
Using application permission keys (perm.System.editobfuscatedusercontact)
performs well
Extending the SystemPermissionType typelist with new permissions is a best
practice
ListView Performance Best Practices
Using View Entities can - ANSWER -Improve performance for viewing data in a
list view
Include data from related entities via a path from the primary entity to a related
entity
, Be subtyped
ListView Performance Best Practices
Array-backed list view features: - ANSWER -Full set of data reloaded when list
view rendered and when paging, sorting, and filtering
Paging, sorting, and filtering are enabled when editing
Example - an array field
ListView Performance Best Practices
Query-backed list view features: - ANSWER -Only the first page of data is loaded
when the list view is rendered
Query is rerun and the first page of data is loaded when paging, sorting, and
filtering
Paging, sorting, and filtering are disabled when editing
Examples - a query processor field, a finder method, a query builder result
ListView Performance Best Practices
Add columns to list views backed by view entities by - ANSWER -extending the
view entity
ListView Performance Best Practices
Reference the display name of an entity in list views to display the object's name -
ANSWER -Referencing the object retrieves the entire object
Example - Claim.AssignedUser.DisplayName instead of Claim.AssignedUser
Follow this best practice when the list view is not editable
Post On Change and Client Reflection Best Practices
PostOnChange - ANSWER -Define on triggering widget from PostOnChange tab
Assign value with onChange variableo Avoid using with ListViews
Post On Change and Client Reflection Best Practices
Reflection - ANSWER -Involves both a listening and a triggering widget (there can
be more than one of each)
Define on listening widget from Reflection tab
Reflect changes on triggering widget(s)
Can set these properties on listening widget: Available, Custom, InputMask, and
ValueRange
Editable and Visible CANNOT be changed
Use with ListViews