Config Guide
Config Guide
Configuration Guide
Release 9.0.6
©2018 Guidewire Software, Inc.
For information about Guidewire trademarks, visit http://guidewire.com/legal-notices.
Guidewire Proprietary & Confidential — DO NOT DISTRIBUTE
Contents
Part 1
PolicyCenter configuration basics
1 Overview of PolicyCenter configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
What you can configure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35
Guidewire internal methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
How you configure PolicyCenter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
Types of application environments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .36
The development environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
The production environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
Deploying configuration files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
Deploying changes in a development environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .37
Deploying changes to the production server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
Regenerating the data and security dictionaries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .38
Generating the data and security dictionaries in HTML format. . . . . . . . . . . . . . . . . . . . . . . . . . .39
Generating the data and security dictionaries in XML format . . . . . . . . . . . . . . . . . . . . . . . . . . . .39
Generating the security dictionary from PolicyCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Generating the dictionaries as you generate a .war or .ear file. . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Aspects of regenerating the Security Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
Managing configuration changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .40
BusinessDayEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
BusinessDayStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
BusinessWeekEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
HolidayList (obsolete). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .46
IsFridayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
IsMondayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
IsSaturdayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
IsSundayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
IsThursdayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
IsTuesdayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
IsWednesdayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
MaxAllowedDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .47
MinAllowedDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
Business rules parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
BizRulesCacheStaleTimeMinutes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
BizRulesDeploymentEnabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
BizRulesDeploymentId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .48
BizRulesImportBootstrapRules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
BizRulesLeafSearchNumOfHops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
BulkLoadRuleHeadByIdCacheEnabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .49
PreloadBizRulesBeansCacheEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
Cache parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
ExchangeRatesCacheRefreshIntervalSecs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
GlobalCacheActiveTimeMinutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .50
GlobalCacheDetailedStats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
GlobalCacheReapingTimeMinutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
GlobalCacheSizeMegabytes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
GlobalCacheSizePercent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
GlobalCacheStaleTimeMinutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
GlobalCacheStatsRetentionPeriodDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
GlobalCacheStatsWindowMinutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
GroupCacheRefreshIntervalSecs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
ScriptParametersRefreshIntervalSecs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
TreeViewRefresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
ZoneCacheRefreshIntervalSecs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
Clustering parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .52
ClusteringEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
ClusterMemberPurgeDaysOld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
ClusteringProductModelUpdateMaxRetries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .53
ClusteringProductModelUpdateRetryTimeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
ClusteringProductModelUpdateSleepTimeCeiling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .54
ConfigVerificationEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
PDFMergeHandlerLicenseKey. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
SerializationWhitelistEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
Database parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
DisableHashJoinPolicySearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .55
DisableIndexFastFullScanForPolicySearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
DisableSequenceUtil. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
DisableSortMergeJoinPolicySearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
DiscardQueryPlansDuringStatsUpdateBatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
IdentifyQueryBuilderViaComments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
IdentifyORMLayerViaComments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .56
MigrateToLargeIDsAndDatetime2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
UseOracleHintsOnMessageQueries . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Data destruction parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
4
Guidewire PolicyCenter 9.0.6 Configuration Guide
5
Guidewire PolicyCenter 9.0.6 Configuration Guide
BillingSystemArchivePolicyPeriodDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
BillingSystemURL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
ClaimSystemURL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .68
DefaultXmlExportIEncryptionId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
KeepCompletedMessagesForDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
LockDuringDistributedMessageRequestHandling. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
LockPrimaryEntityDuringMessageHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
PaymentSystemURL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
PluginStartupTimeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .69
Job expiration parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
JobExpirationCheckAudit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .70
JobExpirationCheckCancellation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
JobExpirationCreateDateThreshold. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
JobExpirationEffDateThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
JobExpireCheckIssuance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
JobExpireCheckPolicyChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
JobExpireCheckReinstatement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
JobExpireCheckRenewal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .71
JobExpireCheckRewrite . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
JobExpireCheckSubmission. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
JobExpireCheckTestJob . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
Lookup table parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
AvailabilityContextCacheEntryExpirationTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
AvailabilityContextCacheSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
UsePolicyPeriodReferenceDateForOfferingAvailability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
Miscellaneous job-related parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
AllowedDaysBeforeOrAfterPolicyStartDate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .72
MaximumPolicyCreationYearDelta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
MaxRecentAccounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
MaxRecentPoliciesAndJobs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
MaxSubmissionsToCreate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
MinimumPolicyCreationYear. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
PatternCacheMaxDuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
PolicyChangeMaxQuotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
PurgeTemporaryPolicyPeriodsAfterDays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
PurgeTemporaryPolicyPeriodsEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .73
RenewalMaxQuotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
RenewalProcessLeadTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
SubmissionMaxQuotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
Miscellaneous parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
ConsistencyCheckerThreads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
DefaultDiffDateFormat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
DisableDomainGraphSupport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .74
IgnoreLeapDayForEffDatedCalc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
InitialSampleDataSet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
PreloadSystemTableToCacheForFasterSynchronization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .75
ProfilerDataPurgeDaysOld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
TransactionIdPurgeDaysOld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
Policy exception parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
BoundPolicyThresholdDays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
ClosedPolicyThresholdDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
OpenPolicyThresholdDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
PDF print settings parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
DefaultContentDispositionMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .76
PrintFontFamilyName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
6
Guidewire PolicyCenter 9.0.6 Configuration Guide
PrintFontSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
PrintFOPUserConfigFile . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
PrintHeaderFontSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
PrintLineHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
PrintListViewBlockSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
PrintListViewFontSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .77
PrintMarginBottom. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
PrintMarginLeft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
PrintMarginRight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
PrintMarginTop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
PrintMaxPDFInputFileSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
PrintPageHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
PrintPageWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
PrintPdfDefaultBaseFileExtension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
PrintPdfMimeType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .78
Print settings parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
PrintCsvDefaultBaseFileExtension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
PrintCsvMimeType. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
PrintDefaultBaseFileName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
Product model parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
ExternalProductModelDirectory. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
ProductModelClassCacheConcurrencyLevel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .79
Quote purging configuration parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
PruneAndPurgeJobsEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
PruneVersionsDefaultRecheckDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
PruneVersionsPolicyTermDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
PruneVersionsPolicyTermDaysCheckDisabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
PruneVersionsRecentJobCompletionDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
PurgeJobsDefaultRecheckDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .80
PurgeJobsPolicyTermDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
PurgeJobsPolicyTermDaysCheckDisabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
PurgeJobsRecentJobCompletionDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
PurgeOrphanedPolicyPeriodsEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
Rating management parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
PurgeRateBookExportResultEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
PurgeWorksheetsEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .81
RateBookExportResultAgeForPurging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
RateRoutineIndexingThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
RateTableManagementNormalizationRowLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
RateTableManagementNormalizationRowThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
RatingWorksheetContainerAgeForPurging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
SmallRateTableRowLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .82
RateBookPreloadEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
Risk assessment parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
MultipleLocationRiskAssessmentEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
PurgeRiskAssessmentTempStoreDays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
RiskAssessmentIntegrationEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
RiskAssessmentThumbnailMapEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
SingleLocationRiskAssessmentEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .83
SpotlightInteractiveServiceURL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
SpotlightLoginURL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
SpotlightRiskAssessmentServiceURL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
SpotlightThumbnailMapURL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
Scheduler and workflow parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
SchedulerEnabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
7
Guidewire PolicyCenter 9.0.6 Configuration Guide
WorkflowLogDebug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
WorkflowLogPurgeDaysOld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .84
WorkflowPurgeDaysOld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
WorkflowStatsIntervalMins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
Search parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
FreeTextSearchEnabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
MaxContactSearchResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
PolicySearchMaxResult . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
Security parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .85
EnableDownlinePermissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
ExternalUserAccess . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
FailedAttemptsBeforeLockout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
LockoutPeriod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
LoginRetryDelay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
MaxPasswordLength. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .86
MinPasswordLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
RestrictContactPotentialMatchToPermittedItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
RestrictSearchesToPermittedItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
SessionTimeoutSecs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
Side-by-side quoting parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
RenewalMaxSideBySideQuotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
SideBySide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .87
SubmissionMaxSideBySideQuotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
PolicyChangeMaxSideBySideQuotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
User interface parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
ActionsShortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
AutoCompleteLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
InputMaskPlaceholderCharacter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
ListViewPageSizeDefault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
MaxBrowserHistoryItems (obsolete). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
QuickJumpShortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .88
UISkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
WebUIAJAXTimeout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
Work queue parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
InstrumentedWorkerInfoPurgeDaysOld. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
WorkItemCreationBatchSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
WorkItemPriorityMultiplierSecs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .89
WorkItemRetryLimit. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
WorkQueueHistoryMaxDownload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
WorkQueueThreadPoolMaxSize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
WorkQueueThreadPoolMinSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
WorkQueueThreadsKeepAliveTime . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .90
Part 2
The Guidewire development environment
3 Getting started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
What Is Guidewire Studio? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
The Studio development environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .93
Working with the QuickStart development server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
Connecting the development server to a database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .94
Deploying your configuration changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .95
PolicyCenter configuration files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .96
Key directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .97
8
Guidewire PolicyCenter 9.0.6 Configuration Guide
Part 3
Guidewire Studio editors
7 Using the Studio editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Editing in Guidewire Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Working in the Gosu editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Using Product Designer to edit the product model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
10
Guidewire PolicyCenter 9.0.6 Configuration Guide
Part 4
Data model configuration
14 Working with the Data Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
What is the Data Dictionary? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
What can you view in the Data Dictionary? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Using the Data Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Property colors. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
Object attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Property attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 160
Property tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Entity subtypes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Data field types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Virtual properties on data entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
<tag> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
<typekey> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
Part 5
User interface configuration
14
Guidewire PolicyCenter 9.0.6 Configuration Guide
27 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Navigation overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Tab bars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375
Configure the default tab bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Specify which tab bar to display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Define a tab bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Define a tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Define a drop-down menu on a tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Part 6
Workflow, activity patterns, and email configuration
16
Guidewire PolicyCenter 9.0.6 Configuration Guide
17
Guidewire PolicyCenter 9.0.6 Configuration Guide
Part 7
Testing Gosu code
34 Testing and debugging your configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Testing PolicyCenter with Guidewire Studio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Running PolicyCenter without debugging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Debugging PolicyCenter within Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Debugging a PolicyCenter server that is running outside of Studio . . . . . . . . . . . . . . . . . . . . . . . 486
The Studio debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Setting breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
Set a breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488
View a breakpoint. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Remove a breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Stepping through code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
Viewing current values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Viewing variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Defining a watch list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Resuming execution. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490
Using the Gosu scratchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Run the Gosu scratchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Executing code in the Gosu scratchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Accessing application data in the Gosu scratchpad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Run scratchpad code in the application server debug process . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Understanding internally generated code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Manually generate code for configuration resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Enable or disable code generation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Change code generation for XML classes to generate source code . . . . . . . . . . . . . . . . . . . . . . . 492
18
Guidewire PolicyCenter 9.0.6 Configuration Guide
Part 8
Guidewire PolicyCenter configuration
36 PolicyCenter configuration guidelines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
Guidelines for modularizing line-of-business code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
19
Guidewire PolicyCenter 9.0.6 Configuration Guide
Batch processes to run prior to running the purge batch process . . . . . . . . . . . . . . . . . . . . . . . . . 541
Purge batch process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Purge Orphaned Policy Periods batch process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544
Using events to notify external system of purged of pruned entities . . . . . . . . . . . . . . . . . . . . . . . . 545
Purging test tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Flushing other work queues with the purging test tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Purge or prune a job with the purging test tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545
Prune policy periods with the purging test tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546
Run the Purge batch process from the purging test tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547
20
Guidewire PolicyCenter 9.0.6 Configuration Guide
21
Guidewire PolicyCenter 9.0.6 Configuration Guide
Part 9
Guidewire PolicyCenter job configuration
55 Configuring jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
Common ways to configure jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
Wizards for jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 713
Gosu classes for jobs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
Job rule sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 714
Job workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
System configuration parameters for jobs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
Changing jobs to expired status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
Configuring the job expire batch process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715
Configuring job history events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716
History events in the default configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717
Configuring history search criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
Multiple revision jobs and the job selected branch property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
Selecting the underwriting company through segmentation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718
Segmentation classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
PolicyPeriodBaseEnhancement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719
25
Guidewire PolicyCenter 9.0.6 Configuration Guide
26
Guidewire PolicyCenter 9.0.6 Configuration Guide
27
Guidewire PolicyCenter 9.0.6 Configuration Guide
28
Guidewire PolicyCenter 9.0.6 Configuration Guide
Document Purpose
InsuranceSuite Guide If you are new to Guidewire InsuranceSuite applications, read the InsuranceSuite Guide for informa‐
tion on the architecture of Guidewire InsuranceSuite and application integrations. The intended read‐
ers are everyone who works with Guidewire applications.
Application Guide If you are new to PolicyCenter or want to understand a feature, read the Application Guide. This guide
describes features from a business perspective and provides links to other books as needed. The in‐
tended readers are everyone who works with PolicyCenter.
Database Upgrade Guide Describes the overall PolicyCenter upgrade process, and describes how to upgrade your PolicyCenter
database from a previous major version. The intended readers are system administrators and imple‐
mentation engineers who must merge base application changes into existing PolicyCenter application
extensions and integrations.
Configuration Upgrade Guide Describes the overall PolicyCenter upgrade process, and describes how to upgrade your PolicyCenter
configuration from a previous major version. The intended readers are system administrators and im‐
plementation engineers who must merge base application changes into existing PolicyCenter applica‐
tion extensions and integrations. The Configuration Upgrade Guide is published with the Upgrade
Tools and is available from the Guidewire Community.
New and Changed Guide Describes new features and changes from prior PolicyCenter versions. Intended readers are business
users and system administrators who want an overview of new features and changes to features. Con‐
sult the “Release Notes Archive” part of this document for changes in prior maintenance releases.
Installation Guide Describes how to install PolicyCenter. The intended readers are everyone who installs the application
for development or for production.
System Administration Guide Describes how to manage a PolicyCenter system. The intended readers are system administrators re‐
sponsible for managing security, backups, logging, importing user data, or application monitoring.
Configuration Guide The primary reference for configuring initial implementation, data model extensions, and user inter‐
face (PCF) files for PolicyCenter. The intended readers are all IT staff and configuration engineers.
PCF Reference Guide Describes PolicyCenter PCF widgets and attributes. The intended readers are configuration engineers.
Data Dictionary Describes the PolicyCenter data model, including configuration extensions. The dictionary can be gen‐
erated at any time to reflect the current PolicyCenter configuration. The intended readers are configu‐
ration engineers.
Security Dictionary Describes all security permissions, roles, and the relationships among them. The dictionary can be
generated at any time to reflect the current PolicyCenter configuration. The intended readers are con‐
figuration engineers.
Globalization Guide Describes how to configure PolicyCenter for a global environment. Covers globalization topics such as
global regions, languages, date and number formats, names, currencies, addresses, and phone num‐
bers. The intended readers are configuration engineers who localize PolicyCenter.
Rules Guide Describes business rule methodology and the rule sets in Guidewire Studio for PolicyCenter. The in‐
tended readers are business analysts who define business processes, as well as programmers who
write business rules in Gosu.
Contact Management Guide Describes how to configure Guidewire InsuranceSuite applications to integrate with ContactManager
and how to manage client and vendor contacts in a single system of record. The intended readers are
PolicyCenter implementation engineers and ContactManager administrators.
Document Purpose
Best Practices Guide A reference of recommended design patterns for data model extensions, user interface, business
rules, and Gosu programming. The intended readers are configuration engineers.
Integration Guide Describes the integration architecture, concepts, and procedures for integrating PolicyCenter with ex‐
ternal systems and extending application behavior with custom programming code. The intended
readers are system architects and the integration programmers who write web services code or plu‐
gin code in Gosu or Java.
Java API Reference Javadoc‐style reference of PolicyCenter Java plugin interfaces, entity fields, and other utility classes.
The intended readers are system architects and integration programmers.
Gosu Reference Guide Describes the Gosu programming language. The intended readers are anyone who uses the Gosu lan‐
guage, including for rules and PCF configuration.
Gosu API Reference Javadoc‐style reference of PolicyCenter Gosu classes and properties. The reference can be generated
at any time to reflect the current PolicyCenter configuration. The intended readers are configuration
engineers, system architects, and integration programmers.
Glossary Defines industry terminology and technical terms in Guidewire documentation. The intended readers
are everyone who works with Guidewire applications.
Product Model Guide Describes the PolicyCenter product model. The intended readers are business analysts and implemen‐
tation engineers who use PolicyCenter or Product Designer. To customize the product model, see the
Product Designer Guide.
Product Designer Guide Describes how to use Product Designer to configure lines of business. The intended readers are busi‐
ness analysts and implementation engineers who customize the product model and design new lines
of business.
narrow bold The name of a user interface element, such Click Submit.
as a button name, a menu item name, or a
tab name.
monospace Code examples, computer output, class and The getName method of the IDoStuff API returns the name of the
method names, URLs, parameter names, object.
string literals, and other objects that might
appear in programming code.
monospace italic Variable placeholder text within code Run the startServer server_name command.
examples, command examples, file paths, Navigate to http://server_name/index.html.
and URLs.
Support
For assistance, visit the Guidewire Community.
30 About PolicyCenter documentation
Guidewire PolicyCenter 9.0.6 Configuration Guide
Guidewire customers
https://community.guidewire.com
Guidewire partners
https://partner.guidewire.com
Overview of PolicyCenter
configuration
This topic provides some basic information, particularly about the Guidewire PolicyCenter data model and system
environment. Guidewire recommends that before you undertake any configuration changes, that you thoroughly
understand this information.
Define workflows
You can create new workflows, create new workflow types, and attach entities to workflows as context entities. You
can also set new instances of a workflow to start within Gosu business rules.
See also
• “Using the Studio editors” on page 127
Procedure
1. After making configuration changes in your development environment, run one of the build commands from
your development PolicyCenter directory.
For example:
gwb warTomcatDbcp
PolicyCenter/webapps/pc
Also, delete the existing .war (or .ear) file on the production server. In any case, moving a new copy to the
production server overwrites the existing file.
4. Navigate to your development installation dist directory (for example, PolicyCenter/dist). The build
script places the new pc.war or pc.ear file in this directory.
5. Copy the newly created pc.war file to the production webapps folder (for Tomcat). If using WebSphere or
WebLogic, use the administrative console to deploy the pc.ear file.
6. Restart the production application server.
7. During a server start, if the application recognizes changes to the data model, then it mandates that a database
upgrade be run. The server runs the database upgrade automatically.
See also
• If working in a clustered server environment, see the System Administration Guide.
PolicyCenter Administration→Utilit- Security Dictionary “Generating the security dictionary from PolicyCenter” on page
ies→Export Data 40
Command prompt gwb Security Dictionary “Generating the data and security dictionaries in HTML format”
genDataDictionary Data Dictionary on page 39
38 chapter 1: Overview of PolicyCenter configuration
Guidewire PolicyCenter 9.0.6 Configuration Guide
See also
• To understand the Data Dictionary and the information it includes, see “Working with the Data Dictionary” on
page 157.
• To understand the Security Dictionary and the information it includes, see the Application Guide
To generate the PolicyCenter Data Dictionary and PolicyCenter Security Dictionary in HTML format, run the
following command from the PolicyCenter directory:
gwb genDataDictionary
This command generates HTML files for the dictionaries in the following locations:
PolicyCenter/build/dictionary/data
PolicyCenter/build/dictionary/security
To view a dictionary, open its index.html file from the listed locations.
You can generate the Data Dictionary and Security Dictionary in XML format, with associated XSD files. Use the
generated XML and XSD files to import the Data Dictionary and Security Dictionary into third-party database
design tools.
To generate the Data Dictionary and Security Dictionary in XML format, run the following command from the
PolicyCenter directory:
This command generates the following XML and XSD files for the dictionaries:
PolicyCenter/build/dictionary/data/entityModel.xml
PolicyCenter/build/dictionary/data/entityModel.xsd
PolicyCenter/build/dictionary/security/securityDictionary.xml
PolicyCenter/build/dictionary/security/securityDictionary.xsd
The parameter that specifies the output format has two allowed values.
-DoutputFormat={html|xml}
If you specify -DoutputFormat=html or you omit the -DoutputFormat parameter, the genDataDictionary
command generates HTML versions of the Data Dictionary and the Security Dictionary.
See also
• Installation Guide
PolicyCenter/modules/configuration/config/import/gen/roleprivileges.csv
IMPORTANT It is possible for the Security Dictionary to become out of synchronization with the
actual roles in your database. Guidewire PolicyCenter bases the Security Dictionary on the file
roleprivileges.csv only.
This topic covers the PolicyCenter configuration parameters, which are static values that you use to control various
aspects of system operation. For example, you can control business calendar settings, cache management, and user
interface behavior through the use of configuration parameters, along with much more.
Each entry sets the parameter named param_name to the value specified by param_value.
The config.xml file in the base configuration contains all available parameters. To set a parameter, edit the file,
locate the parameter, and change its value. PolicyCenter configuration parameters are case-insensitive. If a
parameter does not appear in the file, Guidewire PolicyCenter uses the default value, if the parameter has one.
Required
Guidewire designates certain configuration parameters as required, which means that you must supply a value for
that parameter.
Configuration parameters that are required have Required: Yes in their parameter descriptions.
WARN Illegal parameter specified in a local config file (will be ignored): XXXXXXX
Note: For information on server environments in Guidewire PolicyCenter, see the System
Administration Guide.
Dynamic
Guidewire designates certain configuration parameters as dynamic. This indicates that Guidewire permits you to
change this value on a running application server through management integration. The discussion of configuration
parameters indicates this by adding Dynamic: Yes to the parameter description.
See the Integration Guide.
Permanent
Guidewire specifies several configuration parameter values as permanent. After you set the value of a permanent
parameter and start the production application server, you cannot change the parameter’s value. An example is the
DefaultApplicationLocale configuration parameter. If you set the value of this parameter on a production server and
then start the server, you are unable to change the value thereafter.
Guidewire stores these values in the database and checks the value at server start up. If an application server value
does not match a database value, PolicyCenter throws an error.
42 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
Semi‐permanent
Guidewire specifies a limited number of configuration parameter values as semi-permanent. After you set the value
of a semi-permanent parameter and start the production application server, you can change the value of the
parameter only once to a specified value.
Nullable
The parameter value is allowed to be null.
Procedure
1. Open the Server Tools page of the PolicyCenter server.
2. In the sidebar, click Info Pages→Configuration.
Result
See the Integration Guide.
gw.api.system.PCConfigParameters
gw.api.system.PLConfigParameters
Example
For example:
Procedure
1. If necessary, add the MIME type to the configuration of the application server. This step is dependent on the
configuration requirements of the application server.
For example, Tomcat stores MIME type information in the web.xml configuration file in a series of <mime-
mapping> tags. Verify that the needed MIME type exists in the appropriate file. If necessary, add it.
Application configuration parameters 43
Guidewire PolicyCenter 9.0.6 Configuration Guide
2. Add the new MIME type to the PolicyCenter config.xml file in the <mimetypemapping> section.
• For the name attribute, specify the name of the MIME type, such as text/plain.
• For the extensions attribute, specify the file extensions used by the MIME type. If the MIME type is used
by more than one file extension, separate each extension with a “|” character. PolicyCenter uses this
information to associate MIME types and file extensions. If retrieving a file extension from a MIME type,
PolicyCenter uses the first extension in the list. If retrieving a MIME type from a file extension,
PolicyCenter uses the first <mimetype> entry associated with the extension.
• For the icon attribute, specify the image to use for documents of the MIME type. For example, Tomcat
assumes the images are stored in the tomcat/webapps/pc/resources/images directory.
3. Create a description for the MIME type. The description is stored in the displaykey files. The definition has a
prefix of Mimetype. (notice the prefix-terminating period) followed by the MIME type name attribute
specified in the type’s definition in the config.xml <mimetypemapping> section. Any non-alphanumeric
character in the name must be replaced with an underscore character. For example, the text/plain MIME
type would have a displaykey description of Mimetype.text_plain.
Account parameters
Guidewire provides the following configuration parameters in the config.xml file related to approval activities.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
AccountsWithdrawnAfterMonths
This parameter is one of the factors that Account Withdraw Evaluation batch processing uses to evaluate whether to
change an account's status to withdrawn. If the creation time or origination date of the account is greater than this
value in months, then the account can be withdrawn.
Default: 37 months
Archive parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to archiving.
IMPORTANT Guidewire strongly recommends that you contact Customer Support before you
implement archiving.
See also
• “Working with configuration parameters” on page 41
• “Policy Term archiving” on page 681
• Application Guide
ArchiveDaysRetrievedBeforeArchive
Minimum number of days that must pass after PolicyCenter restores a policy term before it is possible to archive the
term again.
Default: 90
ArchiveDefaultRecheckDays
Minimum number of days that must pass before PolicyCenter reconsiders a policy term for archiving after a
previous check did not identify the policy term as an archiving candidate.
Default: 30
44 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
ArchiveEnabled
A boolean string that specifies whether archiving is enabled or disabled. If set to true, an archive storage area must
be implemented. An archive storage area can be implemented as a database, a regular file on a storage system, or
some other desired method of storage. The PolicyCenter base configuration does not provide an archive storage
area.
This parameter also controls the creation of indexes on the ArchivePartition column. If you set the value of this
parameter to true, PolicyCenter creates a non-unique index on the ArchivePartition column for Extractable
entities.
In PolicyCenter, ArchiveEnabled controls whether or not the domain graph is started. If this parameter and
DisableDomainGraphSupport are both true, the server will not start.
The value of ArchiveEnabled is semi-permanent, meaning that after you start the production server, you can change
the value of this parameter from false to true, but not the converse.
WARNING After you set ArchiveEnabled to true and start the server, you cannot change the
value again. If you reset the value to false, the server will not start.
Default: false
Required: Yes
Permanent: Semi-permanent
ArchivePolicyTermDays
Minimum number of days that must pass before the policy periods associated with a given policy term can be
archived.
Default: 366
ArchiveRecentJobCompletionDays
Minimum number of days that must pass after a job is closed before archiving the associated policy term. Jobs are
associated with policy periods.
Default: 90
DomainGraphKnownUnreachableTables
Use to define a comma-separated list of relative names of entity types that are linked to the graph through a nullable
foreign key. This can be problematic because the entity can become unreachable from the graph if the foreign key is
null. Naming the type in this configuration parameter suppresses the warning that would otherwise be generated for
the type by the domain graph validator
Default: None
Assignment parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to assignment.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
AssignmentQueuesEnabled
Whether to display the PolicyCenter interface portions of the assignment queue mechanism. If you turn this on, you
cannot turn it off again while working with the same database.
Default: false
Application configuration parameters 45
Guidewire PolicyCenter 9.0.6 Configuration Guide
BatchProcessHistoryPurgeDaysOld
Number of days to retain batch process history before PolicyCenter deletes it.
Default: 45
CleanupETLPurgeRoot
Minimum number of days that must pass after a purge event has occurred for the request to be eligible for delete by
the Cleanup ETLPurgeRoot process.
Default: 180
BusinessDayDemarcation
The time at which a business day begins.
Default: 12:00 AM
Set For Environment: Yes
BusinessDayEnd
Indicates the time at which the business day ends.
Default: 5:00 PM
Set For Environment: Yes
BusinessDayStart
Indicates the time at which the business day starts.
Default: 8:00 AM
Set For Environment: Yes
BusinessWeekEnd
The day of the week considered to be the end of the business week.
Default: Friday
Set For Environment: Yes
HolidayList (obsolete)
This parameter is obsolete. Do not use it. Previously, you would use this to generate a comma-delimited list of
dates to consider as holidays. Instead, use the Administration screen within Guidewire PolicyCenter to manage the
46 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
official designation of holidays. Guidewire retains this configuration parameter to facilitate upgrade from older
versions of PolicyCenter.
IsFridayBusinessDay
Indicates whether Friday is a business day.
Default: true
Set for Environment: Yes
IsMondayBusinessDay
Indicates whether Monday is a business day.
Default: true
Set for Environment: Yes
IsSaturdayBusinessDay
Indicates whether Saturday is a business day.
Default: false
Set for Environment: Yes
IsSundayBusinessDay
Indicates whether Sunday is a business day.
Default: false
Set for Environment: Yes
IsThursdayBusinessDay
Indicates whether Thursday is a business day.
Default: true
Set for Environment: Yes
IsTuesdayBusinessDay
Indicates whether Tuesday is a business day.
Default: true
Set for Environment: Yes
IsWednesdayBusinessDay
Indicates whether Wednesday is a business day.
Default: true
Set for Environment: Yes
MaxAllowedDate
The latest date allowed to be used.
Default: 2200-12-31
Set For Environment: Yes
Application configuration parameters 47
Guidewire PolicyCenter 9.0.6 Configuration Guide
MinAllowedDate
The earliest date allowed to be used.
Default: 1800-01-01
Set For Environment: Yes
See also
• Application Guide
BizRulesCacheStaleTimeMinutes
Time (in minutes) that PolicyCenter retains rule data in the RuleVersion cache before it considers cached items to
be stale and thus eligible for reaping.
PolicyCenter initializes the RuleVersion cache once, at server start up. It then rebuilds the cache every time the
following entities change:
• RuleHead
• RuleVersion
• Rule
Default: 60
Minimum: 1
Maximum: 120
Set for Environment: Yes
BizRulesDeploymentEnabled
Determines whether it is necessary to explicitly deploy a business rule before PolicyCenter can evaluate the rule. If
you set the value of this parameter to true, you must also provide a value for configuration parameter
BizRulesDeploymentId.
It is possible to disable the requirement for rule deployment in a test or development environment, by setting
BizrulesDeploymentEnabled to false. In a non-production environment, if you do not enable business rule
deployment, PolicyCenter evaluates all enabled and valid rules at runtime, including rules in the draft state.
Default: false
BizRulesDeploymentId
Unique string identifier of the server to which you intend to deploy the business rules. There is no default value for
this parameter. If the value of BizRulesDeploymentEnabled is true, then you must supply a value for this
parameter. Otherwise, the server generates an error during server start and refuses to start. PolicyCenter ignores this
configuration parameter if the value of BizRulesDeploymentEnabled is false.
It is possible to change the value of this parameter through a server restart. However, if you change the value of
BizRulesDeploymentId, PolicyCenter does not update already deployed rule versions.
48 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
Guidewire recommends, in a production environment, that you have a single BizRulesDeploymentId value for the
entire production cluster. This action guarantees that all nodes in the cluster use the same BizRulesDeploymentId
parameter value. Using the same value on all cluster nodes ensures that rule deployment works consistently across
all nodes in the cluster. You can choose any name for this value if you use only a single PolicyCenter production
cluster. For example, if all nodes in a cluster point to a single database, you can use the database ID as the
BizRulesDeploymentId value.
However, if you use multiple production clusters, each separate cluster must have its own unique value for this
configuration parameter. PolicyCenter expressly does not permit you to import business rules from another cluster
instance that has the same BizRulesDeploymentId value as the cluster instance into which you are importing the
rules.
PolicyCenter associates the BizRulesDeploymentId value (name) with a rule during its deployment. Thus, if you
deploy the rule in one production cluster, the name appears along with the rule version number in other production
clusters to identify that the rule was deployed in a particular production cluster. For example, if the value of
BizRulesDeploymentId is GW100-A, the rule version appears as 1.GW100-A in all other production clusters.
Default: None
See also
• System Administration Guide
BizRulesImportBootstrapRules
Whether PolicyCenter imports the business rules located in folder config/import/bizrules on starting the
application server with an empty database. Set the value of this parameter to true to import the files located in the
bizrules folder.
IMPORTANT Guidewire recommends that you set the value of this configuration parameter to true in
a non-production test environment only.
Default: false
See also
• System Administration Guide
BizRulesLeafSearchNumOfHops
Maximum number of hops for a leaf search to search through in suggesting matching results. This parameter refers
to the autocomplete feature of the Rule Condition editor on the Business Rules detail screens.
In the following expression, A is the root, B is a single hop, and c is a leaf.
A.B.c
The following example illustrates a two hop expression, with the root being office and PhoneNumber the leaf.
office.ConferenceRooms[0].Table.PhoneNumber
Default: 3
BulkLoadRuleHeadByIdCacheEnabled
The Rule Head cache stores the RuleHead IDs for all business rules used in the application. If not configured to do
otherwise, PolicyCenter populates this cache using multiple database queries. The use of multiple queries can
greatly impact the performance of the business rules. However, if you set this configuration parameter to true,
PolicyCenter uses a single database query to bulk load the cache, thereby significantly improving the performance of
the business rules.
Application configuration parameters 49
Guidewire PolicyCenter 9.0.6 Configuration Guide
PreloadBizRulesBeansCacheEnabled
The Rule Entities cache stores the entities that comprise the entire rule graph for all rule versions that can possibly
execute in the application. If not configured to do otherwise, PolicyCenter populates this cache using multiple
database queries. The use of multiple queries can greatly impact the performance of the business rules. However, if
you set this configuration parameter to true, PolicyCenter uses a single database query to bulk load the cache,
thereby significantly improving the performance of the business rules.
This parameter can take the following values:
• true - PolicyCenter uses a single query to preload the Rule Entities cache with business rule entities from the
database.
• false - PolicyCenter uses multiple queries during rule execution to fetch the necessary business rule entities.
Note: For information on how to bulk load the Rule Entities cache at server start, see the System
Administration Guide.
Default: true
Cache parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to the application
cache.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
See also
• System Administration Guide
ExchangeRatesCacheRefreshIntervalSecs
The time between refreshes of the ExchangeRateSet cache, in seconds. This integer value must be 0 or greater. See
the System Administration Guide for more information.
Default: 600
GlobalCacheActiveTimeMinutes
Time period (in minutes) in which PolicyCenter considers cached items as active, meaning that Guidewire
recommends that the cache give higher priority to preserve these items. You can think of this as the period during
which PolicyCenter is using one or more items very heavily. For example, this can be the length of time that a user
stays on a page. The maximum value for this parameter is the smaller of 15 and the value of
GlobalCacheStaleTimeMinutes.
See the System Administration Guide for more information.
Default: 5
Minimum: 1
Maximum: 15
Set for Environment: Yes
50 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
GlobalCacheDetailedStats
Configuration parameter GlobalCacheDetailedStats determines whether to collect detailed statistics for the global
cache. Detailed statistics are data that PolicyCenter collects to explain why items are evicted from the cache.
PolicyCenter collects basic statistics, such as the miss ratio, regardless of the value of this parameter.
In the base configuration, Guidewire sets the value of the GlobalCacheDetailedStats parameter to false. Set the
parameter to true to help tune your cache.
At runtime, use the PolicyCenter Management Beans page to enable the collection of detailed statistics for the global
cache. If you disable the GlobalCacheDetailedStats parameter, PolicyCenter does not display the Evict Information
and Type of Cache Misses graphs.
Default: false
Dynamic: Yes
Required: Yes
GlobalCacheReapingTimeMinutes
Time (in minutes) since the last use before PolicyCenter considers cached items to be eligible for reaping. You can
think of this as the period during which PolicyCenter is most likely to reuse and entity. See the System
Administration Guide for more information.
Default: 15
Minimum: 1
Maximum: 15
Set for Environment: Yes
GlobalCacheSizeMegabytes
The amount of space to allocate to the global cache. If you specify this value, it takes precedence over
GlobalCacheSizePercent. See the System Administration Guide for more information.
Nullable: Yes
Set for Environment: Yes
GlobalCacheSizePercent
The percentage of the heap to allocate to the global cache. See the System Administration Guide for more
information.
Default: 15
Set for Environment: Yes
GlobalCacheStaleTimeMinutes
Time (in minutes) since the last write before PolicyCenter considers cached items to be stale and thus eligible for
reaping. See the System Administration Guide for more information.
Default: 60
Minimum: 1
Maximum: 120
Set for Environment: Yes
Dynamic: Yes
GlobalCacheStatsRetentionPeriodDays
Time period (in days), in addition to today, for how long PolicyCenter preserves statistics for historical comparison.
See the System Administration Guide for more information.
Application configuration parameters 51
Guidewire PolicyCenter 9.0.6 Configuration Guide
Default: 7
Minimum: 2
Maximum: 365
Set for Environment: Yes
GlobalCacheStatsWindowMinutes
Time period (in minutes). PolicyCenter uses this parameter for the following purposes:
• To define the period of time to preserve the reason for which PolicyCenter evicts an item from the cache, after
the event occurred. If a cache miss occurs, PolicyCenter looks up the reason and reports the reason in the Cache
Info page.
• To define the period of time to display statistics on the chart on the Cache Info page.
See the System Administration Guide for more information.
Default: 30
Minimum: 2
Maximum: 120
Set for Environment: Yes
GroupCacheRefreshIntervalSecs
The time in seconds between refreshes of the group cache. This integer value must be 0 or greater. See the System
Administration Guide for more information.
Default: 600
ScriptParametersRefreshIntervalSecs
The time between refreshes of the script parameter cache, in seconds. This integer value must be 0 or greater. See
the System Administration Guide for more information.
Default: 600
TreeViewRefresh
The time in seconds that Guidewire PolicyCenter caches a tree view state.
Default: 120
ZoneCacheRefreshIntervalSecs
The time between refreshes of the zone cache, in seconds. See the System Administration Guide for more
information.
Default: 86400
Clustering parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to the application
clusters.
To improve performance and reliability, you can install multiple PolicyCenter servers in a configuration known as a
cluster. A cluster distributes client connections among multiple PolicyCenter servers, reducing the load on any one
server. If one server fails, the other servers transparently handle its traffic.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
52 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
See also
• System Administration Guide
ClusteringEnabled
Whether to enable clustering on this application server.
See also
• “ResourcesMutable” on page 62
ClusterMemberPurgeDaysOld
The number of days to keep cluster member records before they can be deleted.
Default: 30
Minimum value: 1
Required: true
ClusteringProductModelUpdateMaxRetries
Note: This configuration parameter has no meaning unless configuration parameter
ClusteringEnabled is set to true.
Sets the maximum number of retries for each cluster node to perform synchronized product model update
operations. In a multi-node PolicyCenter cluster, you install product model changes on one server, then start that
server to force the upgrade changes. After the first server completes the upgrade process, you can then start the other
nodes in the server cluster simultaneously. Due to the number of concurrent server starts, it is possible for there to be
contention for the shared update lock while updating the PolicyCenter product model on each node. This
configuration parameter sets the maximum number of times that a server node attempts to acquire the update lock
before failing.
This parameter works in conjunction with ClusteringProductModelUpdateRetryTimeout and
ClusteringProductModelUpdateSleepTimeCeiling. See ClusteringProductModelUpdateSleepTimeCeiling
for an explanation of how these parameters interact.
Default: 25 (retries)
Application configuration parameters 53
Guidewire PolicyCenter 9.0.6 Configuration Guide
ClusteringProductModelUpdateRetryTimeout
Note: This configuration parameter has no meaning unless configuration parameter
ClusteringEnabled is set to true.
Sets the time between successive attempts (retries) by a server node to perform synchronized product model update
operations. In a multi-node PolicyCenter cluster, you install product model changes on one server, then start that
server to force the upgrade changes. After the first server completes the upgrade process, you can then start the other
nodes in the server cluster simultaneously. Due to the number of concurrent server starts, it is possible for there to be
contention for the shared update lock while updating the PolicyCenter product model on each node. This
configuration parameter sets the time to wait between successive attempts to acquire the update lock.
Each node in the server cluster uses the following algorithm to calculate the timeout before the next retry attempt. In
this equation, TIMEOUT is the value of ClusteringProductModelUpdateRetryTimeout and n is the value of
ClusteringProductModelUpdateMaxRetries.
(TIMEOUT) + (2 * TIMEOUT) + ... + ((n-1) * TIMEOUT) + (n * TIMEOUT)
This parameter works in conjunction with ClusteringProductModelUpdateMaxRetries and
ClusteringProductModelUpdateSleepTimeCeiling. See ClusteringProductModelUpdateSleepTimeCeiling
for an explanation of how these parameters interact.
Default: 5000 (milliseconds)
ClusteringProductModelUpdateSleepTimeCeiling
Note: This configuration parameter has no meaning unless configuration parameter
ClusteringEnabled is set to true.
Sets the maximum time between successive attempts (retries) by a server node to perform synchronized product
model update operations. In a multi-node PolicyCenter cluster, you install product model changes on one server,
then start that server to force the upgrade changes. After the first server completes the upgrade process, you can then
start the other nodes in the server cluster simultaneously. Due to the number of concurrent server starts, it is possible
for there to be contention for the shared update lock while updating the PolicyCenter product model on each node.
Each cluster server uses a retry/back-off approach in which each retry causes an increasing sleep time delay on that
node. This configuration parameter sets the maximum allowable sleep time between successive attempts to acquire
the update lock. PolicyCenter uses the minimum of the calculated sleep time and this parameter value to calculate
the sleep time for each cluster node for each retry.
This parameter works in conjunction with ClusteringProductModelUpdateMaxRetries and
ClusteringProductModelUpdateRetryTimeout. The following table illustrates the connections between these
three configuration parameters.
ConfigVerificationEnabled
Whether to check the configuration of this server against the other servers in the cluster. You must also set
configuration parameter ClusteringEnabled to true for ConfigVerificationEnabled to be meaningful.
WARNING Guidewire does not support disabling the ConfigVerificationEnabled parameter in
a production environment. Do not set this parameter to false unless specifically instructed to do
so by Guidewire Support.
Default: true
Set for Environment: Yes
PDFMergeHandlerLicenseKey
Provides the BFO (Big Faceless Organization) license key needed for server-side PDF generation. If you do not
provide a license key for a server, each generated PDF from that server contains a a large DEMO watermark on its
face. The lack of a license key does not, however, prevent document creation entirely.
It is possible to set this value differently for each server node in the cluster.
Default: None
SerializationWhitelistEnabled
Whether PolicyCenter permits only those Java classes placed on a serialization whitelist to be deserialized. In some
situations, it is possible for deserialized Java objects from untrusted sources to be used to perform remote code
invocation attacks against a Guidewire application server.
For this configuration parameter:
• If disabled, PolicyCenter permits any Java class sent over a cluster channel to be deserialized, except for those
classes specifically placed on a black (forbidden) list.
• If enabled, PolicyCenter permits only those Java classes placed on a white list to be deserialized if sent over a
cluster channel. If enabled, it is not possible to place any class on the black list on the white list as well.
You define the permitted (whitelist) and forbidden (blacklist) Java classes in the following configuration files:
• serialization-whitelist.lst
• serialization-blacklist.lst
The Server Tools Serialization Info screen (under Info Pages) provides a means of monitoring the deserialization of Java
classes.
Default: false
See also
• System Administration Guide
Database parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to the application
database.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
DisableHashJoinPolicySearch
On an Oracle database, you can improve the performance of a policy search—if the search criteria include a first
name, last name or a company name—by disabling a Hash Join.
Application configuration parameters 55
Guidewire PolicyCenter 9.0.6 Configuration Guide
Default: true
DisableIndexFastFullScanForPolicySearch
On Oracle, you can improve the performance of a policy search—if the search criteria include a first name, last
name or a company name—by disabling an Index Fast Full Scan. This parameter has no effect on databases other
than Oracle.
Default: true
DisableSequenceUtil
Disables the sequence utility class gw.api.system.database.SequenceUtil. Use this to ensure that any sequences
in your code use some alternative mechanism for sequenced identifiers.
Default: false
DisableSortMergeJoinPolicySearch
On Oracle, you can improve the performance of a policy search—if the search criteria include a first name, last
name or a company name—by disabling a Sort Merge Join. This parameter has no effect on databases other than
Oracle.
Default: true
DiscardQueryPlansDuringStatsUpdateBatch
Whether to instruct the database to discard existing query plans during a database statistics batch process.
Default: false
IdentifyQueryBuilderViaComments
(SQL Server only.) Whether to provide comments with contextual information in certain SQL Select statements
sent to the relational database. The comments are generated by instrumentation in higher level database objects
created by using the query builder APIs.
The SQL comments are in the following format:
/* applicationName:ProfilerEntryPoint */
See also
• Gosu Reference Guide
IdentifyORMLayerViaComments
(SQL Server only.) Whether to provide comments with contextual information in certain SQL Select statements
sent to the relational database. The comments are generated by instrumentation in lower level objects, such as beans,
typelists, and other database building blocks.
The SQL comments are in the following format:
/* applicationName:ProfilerEntryPoint */
The ProfilerEntryPoint component of the comment is the name of an entry point known to the Guidewire
profiler for that application. For example, ProfilerEntryPoint might have the value WebReq:ClaimSearch.
Default: false
See also
• Gosu Reference Guide
MigrateToLargeIDsAndDatetime2
(SQL Server only.) Use to control whether to migrate to large 64-bit IDs in the database while upgrading. Migrating
to 64-bit IDs is an expensive operation. Also updates timestamps to use the data type Datetime2.
Default: true
UseOracleHintsOnMessageQueries
An Oracle database can experience improved performance if Oracle hints are used on queries for Message objects.
This parameter effects Oracle databases only.
Default: true
See also
• “Data destruction configuration parameters” on page 687
• “Working with configuration parameters” on page 41.
ArchiveReferenceTrackingEnabled Parameter
When archiving is enabled, you must set this parameter to true to enable tracking of archived objects for personal
data destruction. This parameter must also be set to true before you run the ArchiveReferenceTrackingSync
batch process to build the table of objects that you have already archived.
In the base configuration, this parameter is false.
ContactDestructionRequestAgeForPurgingResults parameter
Used by the RemoveOldContactDestructionRequest work queue to determine the age of
PersonalDataDestructionRequest objects that have a status of Finished. In the base configuration, this parameter
is set to 10 days.
See also
PersonalDataDestructionEnabled parameter
Set this parameter to true to enable destruction of personal data. In the base configuration, this parameter is false.
The server will not start if both PersonalDataDestructionEnabled and DisableDomainGraphSupport parameters
are true.
Application configuration parameters 57
Guidewire PolicyCenter 9.0.6 Configuration Guide
ActivityStatisticsWindowSize
Time window to capture activity statistics.
Default: 0
OtherWorkOrdersStatisticsWindowSize
Time window that the Team tab uses to calculate statistics for work orders other than renewals and submissions.
Possible values are:
0 Use this week as the window, defined as the start of the current business week until now.
‐1 Use this month as the window, defined as the start of the current month until now.
Any positive integer N The window is the last N days of activity, including the current day.
Default: 0
See also
• “Setting the window size for team statistics” on page 614
• Application Guide
RenewalsStatisticsWindowSize
Time window that the Team tab uses to calculate renewal statistics. Possible values are:
0 Use this week as the window, defined as the start of the current business week until now.
‐1 Use this month as the window, defined as the start of the current month until now.
Any positive integer N The window is the last N days of activity, including the current day.
Default: 0
See also
• “Setting the window size for team statistics” on page 614
• Application Guide
SearchActivityThresholdDays
This parameter controls the threshold within which an activity must have been modified to qualify a job as being
assigned to a user. The UpdateTime field on an activity contains a timestamp of when the activity was last modified.
The activity must have been modified within SearchActivityThresholdDays days before the current date.
Default: 366
See also
• “Configuring the Team tab” on page 613
58 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
• Application Guide
SubmissionsStatisticsWindowSize
Time window that the Team tab uses to calculate submission statistics. Possible values are:
0 Use this week as the window, defined as the start of the current business week until now.
‐1 Use this month as the window, defined as the start of the current month until now.
Any positive integer N The window is the last N days of activity, including the current day.
Default: 0
See also
• “Setting the window size for team statistics” on page 614
• Application Guide
TeamScreenTabVisibilityRowCountCutoff
This parameter sets the maximum number of rows on the Team tab screens. Increasing this parameter potentially
increases the amount of time that PolicyCenter takes to render the Team screens. If the results exceed the value of
this parameter, then PolicyCenter displays a message on that screen and does not display the results.
If you select an individual user, PolicyCenter always displays the filtered results even if the number of results
exceeds the cutoff parameter.
Default: 200
• “Setting the maximum number of rows on the Team screens” on page 616
• Application Guide
See also
• “Working with configuration parameters” on page 41
• Application Guide
DisplayDocumentEditUploadButtons
Whether the Documents list displays Edit and Upload buttons. Set this parameter to false if the
IDocumentContentSource integration mechanism does not support it.
Default: true
DocumentContentDispositionMode
The Content-Disposition header setting to use when PolicyCenter returns document content directly to the
browser. Supported settings are inline and attachment.
Default: inline
DocumentTemplateDescriptorXSDLocation
The path to the XSD file that PolicyCenter uses to validate document template descriptor XML files. Specify this
location relative to the following directory:
Application configuration parameters 59
Guidewire PolicyCenter 9.0.6 Configuration Guide
modules/configuration/config/resources/doctemplates
FinalDocumentsNotEditable
Indicates whether documents with Final status can be transferred by using the Asynchronous implementation of the
IDocumentContentSource plugin. A value of false indicates that documents with Final status can be transferred. A
value of true indicates that documents with Final status cannot be transferred.
Default: false
MaximumFileUploadCount
The maximum number of document content files that can be listed and uploaded at once. The number of files listed
for upload can affect the performance of the upload screen.
Default: 200
MaximumFileUploadSize
The maximum allowable size in megabytes for a document file that you can upload to the server. Attempting to
upload a file larger than this size results in failure. Because the uploaded document must be handled on the server,
this parameter protects the server from possible memory consumption problems.
Default: 150 MB
MaximumTotalUploadSize
The maximum allowable total size in megabytes per session for documents uploads that are pending commitment to
the document management system. Because multiple documents can be uploaded at once, this value also provides
control of the overall size of an upload and protects the server from possible memory consumption problems.
Default: 150 MB
Environment parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to the application
environment.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
AddressVerificationFailureAsError
Set to true to have address verification failures shown as errors instead of warnings. This parameter has no effect if
EnableAddressVerification is set to false.
Default: false
See also
• “EnableAddressVerification” on page 61
AlwaysShowPhoneWidgetRegionCode
Whether the phone number widget in the application user interface always displays a selector for phone region
codes.
Default: false
Set for Environment: Yes
60 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
CurrentEncryptionPlugin
Set this value to the name of the plugin that you intend to use to manage encryption. Typically, a Guidewire
installation has only a single implementation of an encryption plugin interface. However, you can, for example,
decide to implement a different encryption algorithm using a different implementation of the encryption interface as
part of an upgrade process. In this case, you must retain your old encryption plugin implementation in order to
support the upgrade.
To support multiple implementations of encryption plugins, PolicyCenter provides the CurrentEncryptionPlugin
configuration parameter. Set this configuration parameter to the EncryptionID of the encryption plugin currently in
use—if you have implemented multiple versions IEncryption plugin interface.
• If you do not provide a value for this configuration parameter, then data is unencrypted.
• If you create multiple implementations of a plugin interface, then you must name each plugin implementation
individually and uniquely.
IMPORTANT PolicyCenter does not provide an encryption algorithm. You must determine the best
method to encrypt your data and implement it.
Default: None
See also
• For information on using the Plugins Registry editor, see “Using the plugins registry editor” on page 129.
• Integration Guide
DeprecatedEventGeneration
Whether to use the now-deprecated event logic that had previously been available.
Default: false
EnableAddressVerification
Set this value to true to enable address verification warnings. Address verification checks that all the fields match
each other based on the zone data.
This parameter works in concert with the AddressVerificationFailureAsError parameter to show either a
warning or an error, as follows:
• If EnableAddressVerification is true and AddressVerificationFailureAsError is false, PolicyCenter
shows a warning message if verification against zone data fails.
• If EnableAddressVerification is true and AddressVerificationFailureAsError is true, PolicyCenter
shows an error message if verification against zone data fails.
• If EnableAddressVerification is false, PolicyCenter does not verify the address based on zone data.
Default: false
See also
• “AddressVerificationFailureAsError” on page 60
EnableInternalDebugTools
Make internal debug tools available to developers.
Default: false
Set for Environment: Yes
KeyGeneratorRangeSize
The number of key identifiers (as a block) that the server obtains from the database with each request. This integer
value must be 0 or greater.
Application configuration parameters 61
Guidewire PolicyCenter 9.0.6 Configuration Guide
As you create a new PolicyCenter object such as a Policy, PolicyCenter assigns it a key, or unique public identifier.
To ensure that keys are unique, the server requests an available key from the PolicyCenter database. If every server
in a cluster queried the database each time it needed a single key, performance would degrade.
Instead, use this configuration parameter to obtain a block of keys with a single request. For example, a server can
reserve a block of 100 keys, and then assign each key without needing to query the database again. The server
continues to assign the keys from a block until it uses all keys in that block.
The default value of 100 is large enough to prevent frequent database queries for more keys. It is also small enough
to not waste too many keys that the server reserves but never uses. The server discards allocated but unused keys as
it shuts down. Keys are 64-bit integers, so wasting a few keys is not an issue. The default value of 100 is reasonable
in most situations.
Default: 100
MemoryUsageMonitorIntervalMins
How often the PolicyCenter server logs memory usage information, in minutes. This is often useful for identifying
memory problems.
To disable the memory monitor, do one of the following:
• Set this parameter to 0.
• Remove this parameter from config.xml.
Default: 0
PublicIDPrefix
The prefix to use for public IDs generated by the application. Generated public IDs are of the form prefix:id.
This id is the actual entity ID. Guidewire strongly recommends that you set this parameter to different values in
production and test environments to allow for the clean import and export of data between applications.
This PublicIDPrefix must not exceed 9 characters in length. Use only letters and numbers. Do not use space
characters, colon characters, or any other characters that other applications might process or escape specially. Do not
specify a two-character value. Guidewire reserves for itself all public IDs that start with a two-character ID and then
a colon
IMPORTANT Guidewire reserves two-character public ID prefixes for its own current or future use.
Required: Yes
Default: None
ResourcesMutable
Indicates whether resource are mutable (modifiable) on this server. If you connect Studio to a remote server (on
which this parameter set to true), then Studio pushes resource changes to the remote server as you save local
changes. Guidewire strongly recommends that you set this value to false on a production server to prevent changes
to the configuration resources directory.
See also “RetainDebugInfo” on page 63.
WARNING Guidewire recommends that you always set this configuration parameter to false in a
production environment. Setting this parameter to true has the potential to modify resources on a
production server in unexpected and possibly damaging ways.
See also
• “ClusteringEnabled” on page 53
RetainDebugInfo
Whether the production server retains debugging information. This parameter facilitates debugging from Studio
without a type system refresh.
• If set to true, PolicyCenter does not clear debug information after compilation.
• If set to false, the server does not retain sufficient debugging information to enable debugging. As a production
server does not recompile types, it is not possible to regenerate any debugging information.
Default: false
See also
• “ResourcesMutable” on page 62
StrictDataTypes
Controls whether PolicyCenter uses the pre-PolicyCenter 4.0 behavior for configuring data types, through the use of
the fieldvalidators.xml file.
• Set this value to false to preserve the existing behavior. This is useful for existing installations that are
upgrading but want to preserve the existing functionality.
• Set this value to true to implement the new behavior. This is use for new PolicyCenter installations that want to
implement the new behavior.
StrictDataTypes = true
StrictDataTypes = false
If you set the StrictDataTypes value to false, then PolicyCenter:
• Auto-rounds decimal values to the appropriate scale, using the RoundHalfUp method. For example, setting the
value 5.045 on a field with a scale of 2 sets the value to 5.05.
• Validates field validator formats in the interface but not at the setter level. For example, PolicyCenter does not
permit a field with a validator format of [0-9]{3}-[0-9]{2}-[0-9]{4} to have the value 123-45-A123 in the
interface. It is possible, however, to set a field to that value in Gosu code, for example. This enables you to
bypass the validation set in the interface.
• Validates numeric range constraints in the interface, but not at the setter level. For example, Guidewire does not
allow a field with a maximum value of 100 to have the value 200 in the interface. However, you can set the field
to this value in Gosu rules, for example. This enables you to bypass the validation set in the interface.
Default: true
TwoDigitYearThreshold
The threshold year value for determining whether to resolve a two-digit year to the earlier or later century.
Default: 50
UnreachableCodeDetection
Determines whether the Gosu compiler generates errors if it detects unreachable code or missing return statements.
Default: true
UnrestrictedUserName
By default, PolicyCenter uses the su user as the user with unrestricted permissions to do anything in PolicyCenter.
To set the unrestricted user to a different user, set the value of the UnrestrictedUserName parameter to that user’s
login name.
Default: su
UseOldStylePreUpdate
Deprecated. This parameter has no effect in PolicyCenter.
Default: false
WarnOnImplicitCoercion
A value of true indicates that the Gosu compiler generates warnings if it determines that an implicit coercion is
occurring in a program.
Default: true
WebResourcesDir
Specifies the location of the Web resources directory under the root of the Tomcat configuration directory.
Default: resources
Financial parameters
Guidewire provides the following parameters in the config.xml file to help configure how PolicyCenter works with
monetary amounts.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
64 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
See also
• Globalization Guide
Geocoding parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to geocoding.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
UseGeocodingInPrimaryApp
If true, PolicyCenter enables searching for nearby locations in the Reinsurance Management user interface.
ContactManager does not respond to this parameter.
Default: false
ProximitySearchOrdinalMaxDistance
A distance that provides an approximate bound to improve performance of an ordinal (nearest n items) proximity
search. This distance is in miles, unless you set UseMetricDistancesByDefault to true. This parameter has no
effect on radius (within n miles or kilometers) proximity searches or walking-the-group-tree-based proximity
assignment.
Default: 300
ProximityRadiusSearchDefaultMaxResultCount
The maximum number of results to return if performing a radius (within n miles or kilometers) proximity search.
This parameter has no effect on ordinal (nearest n items) proximity searches.
Default: 1000
UseMetricDistancesByDefault
If true, PolicyCenter uses kilometers and metric distances instead of miles and United States distances for location
searches. Set this parameter identically in both PolicyCenter and ContactManager.
Default: false
Globalization parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to globalization.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
IMPORTANT If you integrate the core applications in Guidewire InsuranceSuite, you must set the
values of DefaultApplicationCurrency and MulticurrencyDisplayMode to be the same in each
application.
DefaultApplicationLanguage
Default display language for the application as a whole.
IMPORTANT This parameter setting is permanent. Once you set the parameter and then start the
server, you cannot change the value.
Default: en_US
Application configuration parameters 65
Guidewire PolicyCenter 9.0.6 Configuration Guide
Permanent: Yes
See also
• Globalization Guide
DefaultApplicationLocale
Default locale for regional formats in the application. You must set configuration parameter
DefaultApplicationLocale to a typecode contained in the LocaleType typelist.
IMPORTANT This parameter setting is permanent. Once you set the parameter and then start the
server, you cannot change the value.
Default: en_US
Permanent: Yes
See also
• Globalization Guide
DefaultApplicationCurrency
Default currency for the application. You must set configuration parameter DefaultApplicationCurrency to a
typecode contained in the Currency typelist, even if you configure PolicyCenter with a single currency. Guidewire
applications which share currency values must have the same DefaultApplicationCurrency setting in their
respective config.xml files. The default currency is sometimes known as the preferred currency.
IMPORTANT This parameter setting is permanent. Once you set the parameter and then start the
server, you cannot change the value.
Default: usd
Permanent: Yes
See also
• Globalization Guide
DefaultRoundingMode
Sets the default rounding mode for monetary amount calculations.
The available choices are a subset of those supported by java.math.RoundingMode, namely:
• UP
• DOWN
• CEILING
• FLOOR
• HALF_UP
• HALF_DOWN
• HALF_EVEN
Guidewire strongly recommends that you use one of the following:
• HALF_UP
• HALF_EVEN
You can access this value in Gosu code by using the following method:
gw.api.util.CurrencyUtil.getRoundingMode()
IMPORTANT This parameter setting is permanent. Once you set the parameter and then start the
server, you cannot change the value.
Default: HALF_UP
Permanent: Yes
See also
• Globalization Guide
MulticurrencyDisplayMode
Determines whether PolicyCenter displays currency selectors for monetary values. The following are the allowed
values for MulticurrencyDisplayMode:
• SINGLE
• MULTIPLE
In the base configuration of PolicyCenter, the value is set to SINGLE. You can change the value to MULTIPLE once
only. After you change the value to MULTIPLE, you cannot later change it back to SINGLE. If you change the value
back to SINGLE, subsequent attempts to start the server fail.
Default: SINGLE
Permanent: Semi-permanent
See also
• Globalization Guide
DefaultCountryCode
The default ISO country code that PolicyCenter uses if the country for an address is not set explicitly. PolicyCenter
also uses the value of this parameter as the default country code for new addresses that it creates. The country code
must be a valid ISO country code that exists as a typecode in the Country typelist.
See the following page to search a list of ISO country codes:
https://www.iso.org/obp/ui
DefaultPhoneCountryCode
The default ISO country code used for phone data.
Default: None
DefaultNANPACountryCode
The default country code for region 1 phone numbers. If the area code is not in the nanpa.properties map file,
then it defaults to the value configured with this parameter.
Default: US
AlwaysShowPhoneWidgetRegionCode
Whether the phone number widget in the application user interface always displays a selector for phone region
codes.
Default: false
Application configuration parameters 67
Guidewire PolicyCenter 9.0.6 Configuration Guide
Integration parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to how multiple
Guidewire applications integrate with each other.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
BillingSystemArchiveEnabled
Whether or not the archiving is enabled in the billing system. This parameter needs to match billing system settings
for archiving.
Default: false
BillingSystemArchivePolicyPeriodDays
The minimum number of days after the term end date before the billing policy period is archived. This value must be
less than the setting in the billing system. This value must be less than or equal to the setting in the billing system.
Guidewire recommends setting the value to be equal and keeping the value of
BillingSystemArchivePolicyPeriodDays synchronized with the value of ArchivePolicyPeriodDays in
BillingCenter.
This parameter is used to decide whether to check the billing system for the archiving flag. A negative value
disables this check, and PolicyCenter ignores the archiving flag when determining whether to call the billing system
API. This parameter is applicable only if the BillingSystemArchiveEnabled parameter is true.
Default: -1
BillingSystemURL
URL to use in ExitPoint PCF pages that view items in the billing system.
• If integrating Guidewire PolicyCenter with Guidewire BillingCenter, then set this parameter to the BillingCenter
base URL (for example, http://server/bc). In this case, the exit points add the appropriate BillingCenter entry
point.
• If integrating with a non-Guidewire billing system, then you need to modify the ExitPoint PCF to set up the
parameters required by that system.
• If you omit this parameter or if you set it to an empty string, then PolicyCenter hides the buttons in the interface
that take you to the exit points.
Default: Empty string
See also
• Integration Guide
ClaimSystemURL
URL to use in ExitPoint PCF pages that view items in the claims system.
• If integrating Guidewire PolicyCenter with Guidewire ClaimCenter, then set this parameter to the ClaimCenter
base URL (for example, http://server/cc). In this case, the exit points add the appropriate ClaimCenter entry
point.
• If integrating with a non-Guidewire claim system, then you need to modify the ExitPoint PCF to set up the
parameters required by that system.
• If you omit this parameter or if you set it to an empty string, then PolicyCenter hides the buttons in the interface
that take you to the exit points.
Default: Empty string
68 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
See also
• Integration Guide
DefaultXmlExportIEncryptionId
The unique encryption ID of an encryption plugin. If archiving is enabled, PolicyCenter uses the encryption plugin
to encrypt any encrypted fields during XML serialization.
Default: null (no encryption)
KeepCompletedMessagesForDays
Number of days after which PolicyCenter purges old messages in the message history table.
Default: 90
LockDuringDistributedMessageRequestHandling
When processing a distributed message transaction, the parameter determines whether to lock the transaction's
message object. The parameter has no effect on non-distributed message transactions.
Default: false
LockPrimaryEntityDuringMessageHandling
When processing a message transaction, the parameter determines whether to lock the primary entity instance
associated with the message. If the message has no primary entity associated with it, the parameter has no effect.
Default: true
Regardless of the parameter's setting, the primary entity instance is locked only if the transaction's message object is
also locked. For example, a distributed message transaction that does not lock its message object will not lock the
primary entity either, even if locking of the entity is enabled by this parameter. Whether a distributed message
transaction locks its message object is determined by the LockDuringDistributedMessageRequestHandling
configuration parameter.
PaymentSystemURL
URL to use in ExitPoint PCF pages that view items in a payment system.
• If integrating Guidewire PolicyCenter with Guidewire BillingCenter, then set this parameter to the BillingCenter
base URL (for example, http://server/bc). In this case, the exit points add the appropriate BillingCenter entry
point.
• If integrating with a non-Guidewire billing system, then you need to modify the ExitPoint PCF to set up the
parameters required by that system.
• If you omit this parameter or if you set it to an empty string, then PolicyCenter hides the buttons in the interface
that take you to the exit points.
Note: Guidewire configures this parameter in the base configuration to work with a demonstration
payment system. For more details, see the Integration Guide.
Default: pc
See also
• Integration Guide
PluginStartupTimeout
OSGi plugins startup timeout (in seconds). The PluginConfig component waits for at most this time for all required
OSGi plugins to start. The PluginConfig component reports an error for each OSGi plugin that does not start after
this timeout has expired.
Application configuration parameters 69
Guidewire PolicyCenter 9.0.6 Configuration Guide
Default: 60
JobExpirationCheck<JobType>
Job types – For this configuration parameter, <JobType> can be any of the following:
• Audit
• Cancellation
• Issuance
• PolicyChange
• Reinstatement
• Renewal
• Rewrite
• Submission
• TestJob
To enable the expiration of a particular job type, set JobExpirationCheck<JobType> to true for that particular job
type.
See also
• “Changing jobs to expired status” on page 715
• System Administration Guide
JobExpirationCheckAudit
Set to true to enable PolicyCenter to expire this job type. For audit jobs, you must override the canExpireJob
method in the gw.job.AuditProcces class and modify it to return true. You can find this class in the Classes folder
in Studio.
Default: false
70 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
JobExpirationCheckCancellation
Set to true to enable PolicyCenter to expire this job type.
Default: false
JobExpirationCreateDateThreshold
Number of days past the job creation date before batch process JobExpire expires a job. Batch process JobExpire
first examines all jobs meeting the date criteria set by this parameter. In addition to this threshold, the job must also
meet the JobExpirationEffDateThreshold threshold. The batch process then expires those jobs for which
job.canExpireJob is true.
The job creation date is specified in Job.CreateTime.
A value of -1 disables this parameter.
IMPORTANT Setting the create date threshold to a negative number effectively disables create date
checking, as it is not possible to create a job with a future create date. Disabling
JobExpirationCreateDateThreshold does not disable JobExpirationEffDateThreshold.
Default: -1
JobExpirationEffDateThreshold
Number of days past the job effective date before batch process JobExpire expires a job. Batch process JobExpire
first examines all jobs meeting the date criteria set by this parameter. In addition to this threshold, the job must also
meet the JobExpirationCreateDateThreshold threshold. The batch process then expires those jobs for which
job.canExpireJob is true.
The job effective date is the EditEffectiveDate of a PolicyPeriod on the Job. If the job has more than one policy
period, then each active policy period on the job must meet the threshold. You access the active policy periods on
the job through the Job.ActivePeriods array.
A negative value means that the batch process expires unbound jobs by that number of days before their effective
date is reached. For example, a value of -5 for this parameter indicates that jobs expire five days before their
effective date.
Default: 7
JobExpireCheckIssuance
Set to true to enable PolicyCenter to expire this job type.
Default: false
JobExpireCheckPolicyChange
Set to true to enable PolicyCenter to expire this job type.
Default: false
JobExpireCheckReinstatement
Set to true to enable PolicyCenter to expire this job type.
Default: false
JobExpireCheckRenewal
Set to true to enable PolicyCenter to expire this job type.
Default: false
Application configuration parameters 71
Guidewire PolicyCenter 9.0.6 Configuration Guide
JobExpireCheckRewrite
Set to true to enable PolicyCenter to expire this job type.
Default: false
JobExpireCheckSubmission
Set to true to enable PolicyCenter to expire this job type.
Default: true
JobExpireCheckTestJob
Set to true to enable PolicyCenter to expire this job type.
Default: false
AvailabilityContextCacheEntryExpirationTime
Lookup Table Manager uses a cache to improve performance of Product Model availability lookups. Cache entries
expire after a period of inactivity defined by this configuration parameter. Specify the expiration time in minutes.
Consider the performance impact before reducing the expiration time. Cache misses may result if entries have been
flushed.
Default: 1440 minutes (1 hour)
Required: No
AvailabilityContextCacheSize
The maximum size of the cache holding AvailabilityContexts after a lookup.
Default: 1000
Required: Yes
UsePolicyPeriodReferenceDateForOfferingAvailability
Whether to use written date or effective date for offerings availability. If true, use effective date. If false, use
written date.
Default: false
Required: No
AllowedDaysBeforeOrAfterPolicyStartDate
Number of days, before or after a given policy period StartDate, to search for a non-cancelled bound
PolicyPeriod on which to base the renewal.
72 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
For example, if you need to rewrite a cancelled policy with an earlier start date, the most recent bound period is the
cancelled period. To renew such a policy, it must be possible to identify the rewrite. This parameter establishes the
windows in which to search for a rewritten policy.
• If the policy term is 6 months or longer, then the default of 90 days is acceptable.
• If the policy term is shorter, then use a smaller number for this parameter.
Default: 90
MaximumPolicyCreationYearDelta
Value, which added to the current year, represents the maximum year to use during policy creation. This integer
value must be 0 or greater.
Default: 1
MaxRecentAccounts
Maximum number of recent accounts that PolicyCenter shows in the Account tab.
Default: 5
MaxRecentPoliciesAndJobs
Maximum number of recent policies and jobs that PolicyCenter shows in the Policy tab.
Default: 8
MaxSubmissionsToCreate
Maximum number of submissions that PolicyCenter can create at one time in the New Submission page.
Default: 20
MinimumPolicyCreationYear
Minimum (earliest) year to use during policy creation. This integer value must be 1000 or greater.
Default: 1000
PatternCacheMaxDuration
Upper bound on how long PolicyCenter allows caches of pattern entities to exist without refresh, measured in
seconds.
Default: 86400
PolicyChangeMaxQuotes
Maximum number of allowable quotes for a policy change.
Default: 3
PurgeTemporaryPolicyPeriodsAfterDays
Minimum number of days that must pass before a temporary policy period can be purged.
Default: 14
PurgeTemporaryPolicyPeriodsEnabled
Enables Purge Temporary Policy Periods batch processing. If false, the work queue will not remove any temporary
policy periods.
Application configuration parameters 73
Guidewire PolicyCenter 9.0.6 Configuration Guide
Default: false
RenewalMaxQuotes
Maximum number of allowable quotes for a renewal.
Default: 3
RenewalProcessLeadTime
Lead time (in number of days) before the state non-renewal notification deadline to start renewals.
Default: 165
SubmissionMaxQuotes
Maximum number of allowable quotes for a submission.
Default: 3
Miscellaneous parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to various
miscellaneous application features.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
ConsistencyCheckerThreads
Number of threads to use when running the consistency checker.
Default: 1
DefaultDiffDateFormat
Sets the default format for dates in the difference tree user interface. Valid formats mirror the Java default date
formats:
• short
• medium
• long
• full
Default: short
DisableDomainGraphSupport
All PolicyCenter environments are expected to have valid data models. However, in rare situations, you might want
to upgrade a PolicyCenter environment that does not yet have a valid data model. If there are compelling business
reasons not to correct the data model during the upgrade, you can disable domain graph support by setting the
DisableDomainGraphSupport parameter to true.
Guidewire strongly recommends that you resolve domain graph issues at the earliest opportunity to minimize the
upgrade cost of the changes required to achieve a valid data model.
You cannot disable domain graph support if you are using archiving, quote purging, quote cloning, and personal data
destruction. These features require domain graph support. Therefore, PolicyCenter will not start if
DisableDomainGraphSupport is true and ArchiveEnabled or PersonalDataDestructionEnabled is true.
Default: false
74 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
IgnoreLeapDayForEffDatedCalc
In the default configuration, the IgnoreLeapDayForEffDatedCalc parameter determines whether PolicyCenter
ignores a leap day in the following calculations:
• Calculating scalable properties
• Prorating premiums for policies that are less than a full term
The following table describes the values for the IgnoreLeapDayForEffDatedCalc parameter:
Value Description
true PolicyCenter does not include the leap day while calculating the values for scalable properties or prorated premiums.
false PolicyCenter includes the leap day while calculating the scalable property amount or prorated premium.
In the default configuration, some scalable properties are OverrideAmount on the Cost entity and
ScalableBasisAmount on the GLExposure entity.
Default: true
InitialSampleDataSet
Optional set of sample data to load at server start up. This value must be a typecode from the SampleDataSet
typelist, or null. In the base application configuration, valid typecodes are:
Typecode Description
Tiny Just a few users like aapplegate, good for test purposes.
Small A small community model and a few sample Accounts and Policies, useful for local development.
Large A large, full data set useful for application demonstrations and manual Quality Assurance.
Set value to Tiny, Small, or Large, corresponding to the data set that you want to load:
• If there is no sample data loaded as the server starts, PolicyCenter loads the sample data set that you specify.
• If there is sample data, PolicyCenter does nothing.
Default: None
Set for Environment: Yes
PreloadSystemTableToCacheForFasterSynchronization
Enables or disables the pre-load of system tables at server start. To enable pre-loading, set this parameter to true.
Pre-loading the system tables at server start allows for faster synchronization and faster server startup times.
However, be aware that the use of system table pre-loading can require PolicyCenter to allocate additional heap
space.
Default: true
Required: Yes
Application configuration parameters 75
Guidewire PolicyCenter 9.0.6 Configuration Guide
ProfilerDataPurgeDaysOld
Number of days to keep profiler data before PolicyCenter deletes it.
Default: 30
TransactionIdPurgeDaysOld
Number of days to keep external transaction ID records before they can be deleted.
Default: 30
See also
• Rules Guide
BoundPolicyThresholdDays
The minimum number of days that must pass before the Policy Exception Rules run again on a bound
PolicyPeriod entity. This integer value must be 0 or greater.
Default: 14
Dynamic: Yes
ClosedPolicyThresholdDays
The minimum number of days that must pass before the Policy Exception Rules run again on a closed
PolicyPeriod entity. This integer value must be 0 or greater.
Default: 14
Dynamic: Yes
OpenPolicyThresholdDays
The minimum number of days that must pass before the Policy Exception Rules run again on an open
PolicyPeriod entity. This integer value must be 0 or greater.
Default: 1
Dynamic: Yes
DefaultContentDispositionMode
The Content-Disposition header setting to use when PolicyCenter returns file content directly to the browser.
This parameter applies to printed and exported content. It does not apply to documents. For documents, use the
DocumentContentDispositionMode parameter. Supported settings are inline and attachment.
76 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
Default: attachment
PrintFontFamilyName
Use to configure FOP settings for printing non-U.S. character sets. (FOP refers to the Apache Formatting Objects
Processor.) Set this value to the name of the font family for custom fonts as defined in your FOP user configuration
file. For more information, refer to the following:
http://xmlgraphics.apache.org/fop/
Default: san-serif
PrintFontSize
Font size of standard print text.
Default: 10pt
PrintFOPUserConfigFile
Path to FOP user configuration file, which contains settings for printing non-U.S. character sets. (FOP refers to the
Apache Formatting Objects Processor.) Enter a fully qualified path to a valid FOP user configuration file. There is
no default. However, a typical value for this parameter is the following:
C:\fopconfig\fop.xconf
http://xmlgraphics.apache.org/fop/
Default: None
PrintHeaderFontSize
Font size of headers in print text.
Default: 16pt
PrintLineHeight
Total size of a line of print text.
Default: 14pt
PrintListViewBlockSize
Use to set the number of elements in a list view to print as a block. This parameter splits the list into blocks of this
size, with a title page introducing each block of elements. A large block size consumes more memory during
printing, which can cause performance issues. For example, attempting to print a block of several thousand elements
can potentially cause an out-of-memory error.
Default: 20
PrintListViewFontSize
Font size of text within a list view.
Default: 10pt
Application configuration parameters 77
Guidewire PolicyCenter 9.0.6 Configuration Guide
PrintMarginBottom
Bottom margin size of print page.
Default: 0.5in
PrintMarginLeft
Left margin size of print page.
Default: 1in
PrintMarginRight
Right margin size of print page.
Default: 1in
PrintMarginTop
Top margin size of print page.
Default: 0.5in
PrintMaxPDFInputFileSize
During PDF printing, PolicyCenter first creates an intermediate XML file as input to a PDF generator. If the input is
very large, the PDF generator can run out of memory.
Value Purpose
Negative A negative value indicates that there is no limit on the size of the XML input file to the PDF generator.
Non‐ A non‐negative value limits the size of the XML input file to the set value (in megabytes). If a user attempts to
negative print a PDF file that is larger in size than this value, PolicyCenter generates an error.
Default: -1
PrintPageHeight
Total print height of page.
Default: 8.5in
PrintPageWidth
Total print width of page.
Default: 11in
PrintPdfDefaultBaseFileExtension
Default base output file extension for PDF documents.
Default: 11in
PrintPdfMimeType
MIME type used for generated PDF output files.
Default: application/pdf
78 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
PrintCsvDefaultBaseFileExtension
Default base output file extension for CSV documents.
Default: csv
PrintCsvMimeType
MIME type used for generated CSV output files.
Default: application/excel
PrintDefaultBaseFileName
Default base output filename for output generation.
Default: Print
ExternalProductModelDirectory
Specifies the directory from which to load product model availability data. PolicyCenter loads the information in
this directory at server startup time or if requested through the Server Tools Product Model Info screen. For the load to
succeed, all of the following must true:
• The parameter specifies a directory accessible to the application server.
• The directory is not in the deployment directory.
• The directory contains a complete product model definition that only defines existing patterns.
• The directory contains at least one lookup XML file ending in -lookups.xml.
• The XML files in the directory are all valid.
If this parameter is blank, PolicyCenter loads availability data from the standard configuration module at server
startup time. Any attempt to reload the data through the Server Tools Product Model Info screen then fails with an error
message.
Default: None
Dynamic: No
See also
• Product Model Guide
• System Administration Guide
ProductModelClassCacheConcurrencyLevel
To fine tune performance, use this parameter to adjust the concurrency level of the product model class cache. This
cache is lazy-loaded when product model pattern objects, such as coverage patterns, are instantiated. See
Application configuration parameters 79
Guidewire PolicyCenter 9.0.6 Configuration Guide
See also
• “Configuring quote purging” on page 537
• Application Guide
PruneAndPurgeJobsEnabled
Specifies whether the Purge batch process is enabled.
Default: false
See also
• “Enable quote purging batch processes” on page 541
PruneVersionsDefaultRecheckDays
The minimum number of days that must pass after failing a purging check before reconsidering the unselected
policy periods on the job for pruning.
Default: 30
PruneVersionsPolicyTermDays
The minimum number of days that must pass after a job’s selected policy period has ended before the unselected
policy periods on the job are eligible for pruning. This parameter is ignored if
PruneVersionsPolicyTermDaysCheckDisabled is true.
Default: 30
PruneVersionsPolicyTermDaysCheckDisabled
If true, then disable the PruneVersionsPolicyTermDays parameter. Setting this parameter to true does not disable
pruning closed jobs.
Default: false
PruneVersionsRecentJobCompletionDays
The minimum number of days that must pass after a job is closed before the unselected policy periods on the job are
eligible for pruning.
Default: 210
PurgeJobsDefaultRecheckDays
The minimum number of days that must pass after failing a purging check before a job is reconsidered for purging.
80 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
Default: 30
PurgeJobsPolicyTermDays
The minimum number of days that must pass after the end of a job’s selected policy period before the job is eligible
for purging. This parameter is ignored if PurgeJobsPolicyTermDaysCheckDisabled is true.
Default: 30
PurgeJobsPolicyTermDaysCheckDisabled
If true, then disable the PurgeJobsPolicyTermDays parameter. Setting this parameter to true does not disable
purging closed jobs.
Default: false
PurgeJobsRecentJobCompletionDays
The minimum number of days that must pass after a job is closed before the job is eligible for purging.
Default: 210
PurgeOrphanedPolicyPeriodsEnabled
Specifies whether the Purge Orphaned Policy Periods batch process is enabled.
Default: false
See also
• “Enable quote purging batch processes” on page 541
PurgeRateBookExportResultEnabled
If true, enable Purge Rate Book Export Result batch processing.
Default: true
See also
• System Administration Guide
PurgeWorksheetsEnabled
Enable the Purge Rating Worksheets batch process.
Default: false
See also
• “Extract Rating Worksheets batch process” on page 641
Application configuration parameters 81
Guidewire PolicyCenter 9.0.6 Configuration Guide
RateBookExportResultAgeForPurging
Purge Rate Book Export Result batch processing removes from the PolicyCenter database RateBookExportResult
Excel and XML files that have been around for more days than this parameter.
Default: 60
See also
• System Administration Guide
RateRoutineIndexingThreshold
When editing a long rate routine, you can edit the rate routine by section. A long rate routine has more steps than the
value of the indexing threshold, theRateRoutineIndexingThreshold parameter.
Default: 150
See also
• Application Guide
RateTableManagementNormalizationRowLimit
PolicyCenter determines whether to normalize a rate table if the table contains this many rows or more.
If the number of rows in the normalized table would exceed this limit, the table is automatically marked as non-
normalizable. PolicyCenter stores the non-normalized version of the table.
Default: 10000
See also
• “Rate table normalization configuration parameters” on page 621
RateTableManagementNormalizationRowThreshold
If the number of rows in the normalized table would exceed this threshold, the user is given the option to store a
non-normalized version of the table.
Default: 1000
See also
• “Rate table normalization configuration parameters” on page 621
RatingWorksheetContainerAgeForPurging
The Purge Rating Worksheets batch process uses this parameter as one factor in determining if a worksheet
container can be purged. To be considered for purging, the worksheet container’s job must have been completed at
least RatingWorksheetContainerAgeForPurging days.
Default: 90
See also
• “Purge Rating Worksheet batch process” on page 641
SmallRateTableRowLimit
Before importing rate tables, PolicyCenter scans the import file. The scan does not examine rate tables with more
rows than specified in SmallRateTableRowLimit.
Default: 10000
82 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
RateBookPreloadEnabled
This parameter determines whether to load Rating Management components on system startup. If true,
PolicyCenter loads all rate books and their associated rate routines and rate tables on system startup.
Note: Unrelated to whether this parameter is true or false, PolicyCenter always preloads some parts
of rate books that load quickly. After this, PolicyCenter writes this message to the log file:
See also
• “Loading Rating Management components on system startup” on page 619
See also
• “Enabling Spotlight services” on page 566
• Application Guide
MultipleLocationRiskAssessmentEnabled
Specify whether multiple location risk assessment calls may be made to Spotlight.
Default: false
PurgeRiskAssessmentTempStoreDays
Minimum number of days that must pass after temporary risk assessment objects has been created before the objects
can be eligible for purging.
Default: 30
See also
• System Administration Guide
RiskAssessmentIntegrationEnabled
Enable or disable access to all Spotlight services from PolicyCenter.
Default: false
RiskAssessmentThumbnailMapEnabled
Enable or disable access to Spotlight thumbnail map service.
Default: false
SingleLocationRiskAssessmentEnabled
Specify whether single location risk assessment calls may be made to Spotlight.
Application configuration parameters 83
Guidewire PolicyCenter 9.0.6 Configuration Guide
Default: false
SpotlightInteractiveServiceURL
Specifies the URL to the Spotlight interactive service. This service provides interactive access to Spotlight.
Default: http://example.com
SpotlightLoginURL
Specifies the URL to the Spotlight login screen.
Default: http://example.com
SpotlightRiskAssessmentServiceURL
Specifies the URL to the Spotlight risk assessment service.
Default: http://example.com
SpotlightThumbnailMapURL
Specifies the URL to the Spotlight thumbnail map service.
Default: http://example.com
SchedulerEnabled
Whether to enable the internal batch process application scheduler. See the System Administration Guide for more
information on batch processes and the scheduler.
Default: true
Dynamic: Yes
WorkflowLogDebug
Configuration parameter WorkflowLogDebug takes a Boolean value:
• If set to true, PolicyCenter outputs the ordinary verbose system workflow log messages from the Guidewire
server to the workflow log.
• If set to false, PolicyCenter does not output any of the ordinary system messages.
The setting of this parameter does not have any effect on calls to log workflow messages made by customers.
Therefore, all customer log messages are output. If customers experience too many workflow messages being
written to the xx_workflowlog table, Guidewire recommends that you set this parameter to false.
Default: true
WorkflowLogPurgeDaysOld
Number of days to retain workflow log information before PurgeWorkflowLogs batch processing deletes it.
See the System Administration Guide for details.
Default: 30
84 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
WorkflowPurgeDaysOld
Number of days to retain workflow information before PurgeWorkflows batch processing deletes it.
See the System Administration Guide for details.
Default: 60
WorkflowStatsIntervalMins
Aggregation interval in minutes for workflow timing statistics. Statistics such as the mean, standard deviation, and
similar statistics used in reporting on the execution of workflow steps all use this time interval. A value of 0 disables
statistics reporting.
Default: 60
Search parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to searching.
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
FreeTextSearchEnabled
Whether to enable the free-text search feature. Setting the FreeTextSearchEnabled parameter to true enables the
free-text plugins for indexing and search. Setting the parameter to true also enables the display of the
Search Polices→Basic screen, which uses free-text search. The FreeTextSearchEnabled parameter has no effect on
the user interface unless you also set the EnableDisplayBasicSearchTab script parameter to true. Script
parameters are defined initially through Studio but administered on the Script Parameters page of the Administration tab.
Default: false
See also
• “Script parameters” on page 121
• “Free-text search configuration parameters and files” on page 395
MaxContactSearchResults
Maximum number of contacts that PolicyCenter returns in a search. If the number to return is greater than this value,
then PolicyCenter prompts the user to narrow the search parameters. This integer value must be 1 or greater.
Default: 100
PolicySearchMaxResult
Number of maximum results to return from a database policy search. This parameter has no effect on free-text
policy search.
Default: 300
See also
• “Search overview” on page 379
Security parameters
Guidewire provides the following configuration parameters in the config.xml file that relate to application security.
Application configuration parameters 85
Guidewire PolicyCenter 9.0.6 Configuration Guide
For information on editing config.xml and setting configuration parameters, see “Working with configuration
parameters” on page 41.
EnableDownlinePermissions
If UseACLPermissions is true, then setting this parameter to true means that supervisors inherit permissions on an
object that has been added for a supervised user or group.
Default: true
ExternalUserAccess
Indicate which groups and producer codes are available to external users. In order of increasing access, values are:
• FULLYRESTRICTED – External users can be assigned to groups only within their organization. Users inherit
producer codes from their groups. In addition, external users can be assigned producer codes from their
organization.
• PROTECTINTERNAL – External users can be assigned to any external groups. Users inherit producer codes from
their groups. In addition, external users can be assigned producer codes from any external organization.
• ALLOWINTERNAL – External users can be assigned to any groups, internal or external. Users inherit producer codes
from their groups. In addition, external users can be assigned producer codes from internal or external
organizations.
Default: FULLYRESTRICTED
See also
• Application Guide
FailedAttemptsBeforeLockout
Number of failed attempts that PolicyCenter permits before locking out a user. For example, setting this value to 3
means that the third unsuccessful try locks the account from further repeated attempts. This integer value must be 1
or greater. A value of -1 disables this feature.
Default: 3
Minimum: -1
LockoutPeriod
Time in seconds that PolicyCenter locks a user account. A value of -1 indicates that a system administrator must
manually unlock a locked account.
Default: -1
LoginRetryDelay
Time in milliseconds before a user can retry after an unsuccessful login attempt. This integer value must be 0 or
greater.
Default: 0
Minimum: 0
MaxPasswordLength
New passwords must be no more than this many characters long. This integer value must be 0 or greater.
Default: 16
86 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
MinPasswordLength
New passwords must be at least this many characters long. For security purposes, Guidewire recommends that you
set this value to 8 or greater. This integer value must be 0 or greater. If 0, then Guidewire PolicyCenter does not
require a password. (Guidewire does not recommend this.)
Default: 8
Minimum: 0
RestrictContactPotentialMatchToPermittedItems
Whether PolicyCenter restricts the match results from a contact search screen to those that the user has permission to
view.
Default: true
RestrictSearchesToPermittedItems
Whether PolicyCenter restricts the results of a search to those that the user has permission to view.
Default: true
SessionTimeoutSecs
Use to set the browser session expiration timeout, in seconds. By default, a session expires after three hours (60 * 60
* 3 = 10800 seconds).
• The minimum value to which you can set this parameter is five minutes (60 * 5 = 300 seconds).
• The maximum value to which you can set this parameter is one week (3600 * 24 * 7 = 604800 seconds)
This value sets the session expiration timeout globally for all PolicyCenter browser sessions. See the System
Administration Guide for information on how to set the session timeout at a more granular level.
Default: 10800
Minimum: 300
Maximum: 604800
RenewalMaxSideBySideQuotes
Sets an upper limit on the number of versions to show on a side-by-side quote page for a policy renewal.
Default: 4
SideBySide
Determines whether validation warnings block Quote All in side-by-side quoting.
In the default configuration, Quote All in the Side by Side Quoting screen does not produce quotes when there are
validation warnings. This is to prevent PolicyCenter from generating invalid quotes. Guidewire expects that the
default implementation is suitable for most implementations.
Default: true
Application configuration parameters 87
Guidewire PolicyCenter 9.0.6 Configuration Guide
See also
• For more information about setting this parameter, see “Configuring quote all to ignore validation warnings” on
page 774.
SubmissionMaxSideBySideQuotes
Sets an upper limit on the number of versions to show on a side-by-side quote page for a policy submission.
Default: 4
PolicyChangeMaxSideBySideQuotes
Sets an upper limit on the number of versions to show on a side-by-side quote page for a policy change.
Default: 4
ActionsShortcut
The keyboard shortcut to use for the Actions button.
Default: A
AutoCompleteLimit
The maximum number of autocomplete suggestions to show.
Default: 10
InputMaskPlaceholderCharacter
The character to use as a placeholder in masked input fields.
Default: . (period)
ListViewPageSizeDefault
The default number of entries that PolicyCenter displays in each page in a list view, if the page does not explicitly
specify this value. This integer value must be at least 1.
Default: 15
Minimum: 1
MaxBrowserHistoryItems (obsolete)
This parameter is obsolete. Do not use it.
QuickJumpShortcut
The keyboard shortcut to use to activate the QuickJump box.
Default: / (forward slash)
88 chapter 2: Application configuration parameters
Guidewire PolicyCenter 9.0.6 Configuration Guide
UISkin
Name of the PolicyCenter interface skin to use.
Default: theme-9
WebUIAJAXTimeout
Number of seconds that the PolicyCenter web client waits after issuing a call to the PolicyCenter server. If the server
does not respond within this time, the web client assumes that the server is offline, terminates all connections, and
displays an error. You may want to increase this value if you are performing data-intense operations that take a long
time to process.
Default: 600
InstrumentedWorkerInfoPurgeDaysOld
Number of days to retain instrumentation information for a worker instance before PolicyCenter deletes it.
Default: 45
WorkItemCreationBatchSize
The maximum number of work items for a work queue writer to create for each transaction.
Default: 100
WorkItemPriorityMultiplierSecs
Used to calculate the AvailableSince field for new work items. For new work items without a priority,
PolicyCenter sets AvailableSince to the current time. Later, PolicyCenter checks out work items from the work
queue in ascending order by AvailableSince, so work items without a priority are checked out in the order they
were created.
You can assign a priority to new work items by implementing the Work Item Priority plugin
(IWorkItemPriorityPlugin). For new work items with a priority, PolicyCenter sets AvailableSince according to
the following formula:
Work items with higher priorities have earlier AvailableSince values than work items with lower priorities.
Therefore, work items with higher priorities are checked out before ones with lower priorities because their
AvailableSince values are earlier.
Priority influences the calculation of AvailableSince only at the time work items are created. If a worker throws an
exception while processing a work item, PolicyCenter reverts the status of the work item from checkedout to
available. At the same time, PolicyCenter resets AvailableSince according to the following formula:
Work items are retried in the order they encounter exceptions, irrespective of priority.
Application configuration parameters 89
Guidewire PolicyCenter 9.0.6 Configuration Guide
IMPORTANT Prioritization affects only work items of type WorkflowWorkItem or its derivatives.
Default: 600
WorkItemRetryLimit
The maximum number of times that PolicyCenter retries an orphaned or failed work item.
Guidewire logs a ConcurrentDataChangeException generated by workers at different levels depending on context.
If the ConcurrentDataChangeException occurs on processing the work items, PolicyCenter logs the error only if
the number of attempts exceeds the configured value of the WorkItemRetryLimit. Otherwise, PolicyCenter logs the
debug message instead.
The value for WorkItemRetryLimit applies to all work queues unless overridden in work-queue.xmlby
retryLimit for specific work queues. For more information on tuning work queue performance by adjusting the
number of retries, see the System Administration Guide.
Default: 3
WorkQueueHistoryMaxDownload
The maximum number of ProcessHistory entries to consider when producing the Work Queue History download.
The valid range is from 1 to 525600. (The maximum of 525,600 is 60*24*365, which is one writer running every
minute for a year.)
Default: 10000
WorkQueueThreadPoolMaxSize
Maximum number of threads in the work queue thread pool. This must be greater than or equal to
“WorkQueueThreadPoolMinSize” on page 90. All threads that are not core threads are additional on-demand
threads. PolicyCenter terminates any idle on-demand threads after the period of time defined by configuration
parameter WorkQueueThreadsKeepAliveTime.
Default: 50
Set For Environment: Yes
WorkQueueThreadPoolMinSize
Minimum number of core threads in the work queue thread pool.
Default: 0
Set For Environment: Yes
WorkQueueThreadsKeepAliveTime
Keep alive timeout (in seconds) for additional on-demand threads in the work queue thread pool. An additional on-
demand thread is terminated if it is idle for more than the time specified by this parameter.
Default: 60
Set For Environment: Yes
Getting started
This topic describes Guidewire Studio, which is the PolicyCenter administration tool for creating and managing
PolicyCenter resources. (Studio resources include Gosu rules, classes, enhancements, the product model, script
parameters, and the PolicyCenter data model files.) Using Guidewire Studio, you can do the following:
• Create and edit individual rules, and manage these rules and their order of consideration within a rule set
• Create and manage PCF pages, workflows, entity names, and display keys
• Create and manage Gosu classes
• Access rule sets, Gosu classes, and other resources stored in a SCM (Software Configuration Management)
system
Guidewire recommends that you not run Studio on a machine with an encrypted hard drive. If you run Guidewire
Studio on a machine with hard drive encryption, Studio can take 15 or more seconds to refresh. This slow refresh
can happen when you switch focus from the Studio window to something else, such as the browser, and back again.
To assist with this development and testing process, Guidewire bundles the following with the PolicyCenter
application:
• A QuickStart development server
• A QuickStart database
• A QuickStart server used for testing that you cannot control
• A QuickStart database used for testing that is separate from the QuickStart development database
The following diagram illustrates the connections between Guidewire Studio, the bundled QuickStart applications,
the local file system, and the PolicyCenter application server. You use the QuickStart test server and test database for
testing only as PolicyCenter controls them internally. You can use either the bundled QuickStart development server
bundled with Guidewire PolicyCenter or use an external server such as Tomcat. In general, dotted lines indicate
actions on your part that you perform manually. For example, you must manually create a .war file and manually
move it to the production server. The system does not do this for you.
Guidewire
Studio
Debug
Development Debug
QuickStart
Server
Test
Server
PolicyCenter
QuickStart Database Application
and
Check Out/Submit
Configuration
Files
Database
Local
Configuration WAR / EAR
Files
SCM
System
PolicyCenter Database
use the bundled QuickStart database. Guidewire optimizes this database for fast development use. It can run in either
of the following modes:
Mode Description
file mode The database persists data to the hard drive (the local file system), which means that the data can live from one
server start to another. This is the Guidewire‐recommended default configuration.
memory The database does not persist data to the hard drive and it effectively drops the database each time you restart
mode the server. Guidewire does not recommend this configuration.
You set configuration parameters for the QuickStart database associated with the development server in database-
config.xml. For example:
jdbc-url="jdbc:h2:file:/tmp/guidewire/pc"
Editing and saving PCF files in the Page Configuration (PCF) editor does not automatically reload them in the
QuickStart server, even if there is a connection between it and Studio. You do not actually need to be connected to
the server from Studio to reload PCF files.
You can also reload display keys this way, as well.
Procedure
1. Navigate to the PolicyCenter web interface on the deployment server, and log in.
2. Reload the PCF configuration using either the Internal Tools page or the Alt+Shift+L shortcut.
Result
Hot-deploy Gosu files
Editing and saving Gosu files in Studio does not automatically reload them in the QuickStart server, even if there is
a connection between it and Studio. To reload the Gosu files, do one of the following:
• To recompile all files, click Build→Compile.
• To compile only files that were changed since the last compile, click Build→Make Project.
Directory Description
.gradle Configuration and settings for Gradle, the project build tool.
.idea Configuration and settings for IntelliJ IDEA, the foundation for Guidewire Studio.
admin Administrative tools. See the System Administration Guide for descriptions.
bin Deprecated. The gwpc batch file and shell script used to launch commands for building and deploying.
These commands are deprecated, and are provided only for backwards compatibility with previous releas‐
es. For the updated commands, see the Installation Guide.
build The output of build commands such as exploded .war files and the data and security dictionaries. This
directory is not present when you first install PolicyCenter. The directory is created when you run one of
the build commands.
dist Guidewire application .war, and .jar files are built in this directory. The directory is created when you run
one of the build commands to generate .war files.
doc HTML and PDFs of PolicyCenter documentation.
gradle Support files for Gradle, the project build tool.
java-api The Java API libraries created by running the gwb genJavaApi command. See the Integration Guide.
javadoc Reference documentation for the Java API libraries.
licenses License information for third‐party tools used by PolicyCenter.
logs Application log files.
modules Subdirectories including configuration resources for each application component.
productdesigner Application files for Product Designer.
solr Installation and support files for the Solr free text search platform. See “Free‐text search configuration” on
page 392.
studio Application files for Guidewire Studio.
ThemeApp Files defining the user interface styling for PolicyCenter.
webapps Necessary files for use by the application server.
Key directories
The installation process creates a configuration environment for PolicyCenter. In this environment, you can find all
of the files needed to configure PolicyCenter in two directories:
• The main directory of the configuration environment. In the default PolicyCenter installation, the location of this
directory is PolicyCenter/modules/configuration.
• PolicyCenter/modules/configuration/config contains the application server configuration files.
The installation process also installs a set of system administration tools in PolicyCenter/admin/bin.
PolicyCenter runs within a J2EE server container. To deploy PolicyCenter, you build an application file suitable for
your server and place the file in the server’s deployment directory. The type of application file and the deployment
directory location is specific to the application server type. For example, for PolicyCenter (deployed as the pc.war
application) running on a Tomcat J2EE server on Windows, the deployment directory might be C:\Tomcat\webapps
\pc.
Procedure
1. In your PolicyCenter installation directory, create a text file named studio.ultimate that contains the full
path of your IntelliJ IDEA Ultimate Edition installation directory. For example:
C:\Program Files (x86)\JetBrains\IntelliJ IDEA 15.0.6
Getting started 97
Guidewire PolicyCenter 9.0.6 Configuration Guide
Procedure
1. Edit the file PolicyCenter/modules/script/gw-build.gradle.
2. Locate the studio section:
studio {
...
}
3. Within this section, set any properties that are valid in the idea.properties file by adding a statement in the
following format:
ideaProperties["property_name"] = "property_value"
For example, to disable the IntelliJ IDEA cycle buffer, set the following:
ideaProperties["idea.cycle.buffer.size"] = "disabled"
DCEVM Limitations
If you reload Gosu classes using hotswap on the DCEVM, it is possible to add new static fields (again, only on the
DCEVM). However, Gosu does not execute any initializers for those static variables. For example, if you add the
following static field to a class:
Gosu adds the NAME field to the class dynamically. However, the value of the field is null until you restart the server
(or Studio, if you are running the code from the Studio Gosu Scratchpad). If you need to initialize a newly added
static field, you must write a static method that sets the variable and then executes that code.
For example, suppose that you added the following static method to class MyClass:
To initialize this field, write code to set the static variable to the value that you expect and then execute that code:
MyClass.x = 10
See also
• For details on how to select the proper JVM for your installation, see the Installation Guide.
gwb studio
Result
The first time that you start Guidewire Studio, it may take some extra time to load and index configuration data.
Subsequent starts, however, generally load much more quickly.
Procedure
1. Click File→Settings.
2. In the Settings dialog, in the navigation list, click Guidewire Studio.
3. In the Update section, select or clear the Check Automatically check box.
Procedure
1. Click File→Settings.
2. In the Settings dialog, in the navigation list, click Guidewire Studio.
3. In the Update section, set the Update Site URL text box to the following:
https://studio-release.guidewire.com/releases/
Procedure
1. Download the Studio update files. See “Download update files from the Guidewire Community” on page 101.
2. Place the Studio update files in the shared location in your update site. You must include both the latest
studio-*.zip file, and also the metadata.txt file
3. In Studio, click File→Settings.
4. In the Settings dialog, in the navigation list, click Guidewire Studio.
5. In the Update section, set the Update Site URL text box to the URL of your update site.
100 chapter 3: Getting started
Guidewire PolicyCenter 9.0.6 Configuration Guide
6. Repeat from step 3 for each instance of Studio that updates from your update site.
See also
• “Download update files from the Guidewire Community” on page 101
• “Copy update files from an updated Studio installation” on page 101
• “Manually install the Studio update files” on page 101
See also
• “Manually install the Studio update files” on page 101.
Procedure
1. In the updated Studio installation, go to the directory PolicyCenter/studio.
2. Copy the studio-*.zip file with the highest release number.
See also
• “Manually install the Studio update files” on page 101.
Procedure
1. In the Studio installation to update, go to the directory PolicyCenter/studio/plugins.
Getting started 101
Guidewire PolicyCenter 9.0.6 Configuration Guide
See also
• “Updating Studio manually” on page 101.
Dot comple‐ Opens a context‐sensitive pop‐up window that contains all the subobjects and methods that are valid for this
tion object, in this context. Dot completion works with both Gosu or Java packages.
SmartHelp Displays a list of valid fields and subobjects for the current object.
Keyboard commands provide code completion, code navigation, and code editing shortcuts. See “Using Studio
keyboard shortcuts” on page 104 for information on keyboard shortcuts.
Gosu API Reference Provides a searchable reference on the Gosu APIs, methods and properties. See the Gosu Reference
Guide.
PCF Reference Guide Provides a description of the PCF widgets and their attributes that you can use within the PCF editor.
This documentation is also known as the PCF Format Reference.
Gosu Reference Guide Provides information on the Gosu language.
https://www.jetbrains.com/idea/help/keyboard-shortcuts-by-category.html
Alt+Enter Intention actions Offers suggestions to correct the error nearest the caret.
Ctrl+N Find class or file by name Finds and opens the class or file in its editor.
Ctrl+Shift+N
Ctrl+Q Context help Shows documentation for the symbol at the caret.
Ctrl+Shift+G Show type information Shows the type of the symbol at the caret.
Command Description
File→Save All Writes any unsaved changes to your local fie or SCM system. You can also use the standard keyboard
shortcut Ctrl+S save your changes.
Toolbar Save icon Works the same way that Save All and Ctrl+S do.
gwb verifyResources
See also
• “Compiling configuration resources” on page 106
• “Verifying configuration resources” on page 105
• “Setting options for Gosu command prompt compilation” on page 106
The following table lists and describes the available configuration options for Gosu compilation.
Examples
Each example stands alone. Remove the line or lines that you added for one example before you try the next
example.
• Add the following line to the top of the build.gradle file.
tasks.compileGosu.gosuOptions.checkedArithmetic = true
At the command prompt run the gwb compile command. When you run a compiled class that causes a numeric
overflow, the class throws an arithmetic exception and terminates.
• Add the following line to the top of the build.gradle file.
tasks.compileGosu.gosuOptions.failOnError = false
At the command prompt run the gwb compile command. Even if there are multiple compilation errors, the task
ignores the maxErrs option and compiles all available Gosu classes. Output similar to the following lines
appears.
tasks.compileGosu.gosuOptions.failOnError = true
tasks.compileGosu.gosuOptions.maxErrs = 10
At the command prompt run the gwb compile command. If the number of compilation errors after completing
compilation of any Gosu file is greater than maxErrs, the compilation task terminates. Output similar to the
following lines appears.
:modules:configuration:compileGosu FAILED
tasks.compileGosu.options.warnings = true
tasks.compileGosu.gosuOptions.maxWarns = 100
At the command prompt run the gwb compile command. If the number of compilation warnings after
completing compilation of any Gosu file is greater than maxWarns, the compilation task terminates. Output
similar to the following lines appears.
:modules:configuration:compileGosu FAILED
tasks.compileGosu.gosuOptions.verbose = true
At the command prompt run the gwb compile command. Output similar to the following lines appears.
See also
• Gosu Reference Guide
You can use the @SuppressWarnings annotation in several kinds of declarations. Such declarations exclude
declarations of local variables. Instead, the @SuppressWarnings annotation can apply to declarations of the
following categories:
• Type
• Function
• Property
• Constructor
• Field
• Parameter
The @SuppressWarnings annotation requires one parameter. This parameter is a String value that indicates the
warnings you wish to suppress.
For example, suppose you pass in the argument "all" into the @SuppressWarnings annotation. The annotation
invocation in this case would be @SuppressWarnings("all"). The effect of the annotation would be to suppress all
warnings.
For another example, suppose instead that you pass in the argument "deprecation" into the @SuppressWarnings
annotation. Suppose further that you invoke the annotation on the line prior to a Gosu class declaration. The
invocation in this case would be @SuppressWarnings("deprecation"). The effect of this annotation is to suppress
all deprecation warnings for the Gosu class you have declared.
Procedure
1. Open the resource in the Studio editor.
2. At the bottom of the editor pane, click the Text tab. The XML definition is shown in the editor pane.
3. Modify the XML as desired.
4. To switch back to the visual editor, click the tab next to the Text tab that shows the type of the resource that
you are editing.
Next steps
Make sure that the XML remains valid, and that you do not introduce any syntax errors. If the XML contains errors,
the representation of the resource in the visual editor may not be accurate.
This topic describes Guidewire Studio and the Studio development environment.
Procedure
1. Edit the file PolicyCenter/modules/script/gw-build.gradle.
2. Locate the studio section:
studio {
...
}
ideaProperties["tasks.studio.maxHeapSize"] = "memory_value"
Set memory_value to the number of megabytes desired, followed by the letter m. For example, to assign Studio
6GB, set this property to 6000m. The default value is 4000m.
Note: To set the memory for IntelliJ IDEA with OSGi Editor, set the property
tasks.pluginStudio.maxHeapSize.
4. Restart Studio.
See also
• “Setting IntelliJ IDEA properties in Studio” on page 98
•
Working with Guidewire Studio 111
Guidewire PolicyCenter 9.0.6 Configuration Guide
You can set the amount of memory available to Guidewire Studio during project builds and compilation. This may
reduce the time required for these actions.
Procedure
Note: You can set anti-aliasing of fonts in the editor Appearance settings page at
File→Settings→Editor→Appearance. Additionally, you can set font size zooming with the Ctrl+Mouse
wheel in the main Editor settings page at File→Settings→Editor.
Procedure
1. Navigate to File→Settings→Editor→Colors & Fonts.
2. Use the Colors & Fonts menu selections to set Studio display of text in the editors.
For example, if you click Gosu, you can set the font type and size of Gosu code in the editor.
3. You can also set how Studio displays specific Gosu code items, such as keywords or operators.
Studio displays a code sample at the bottom of the dialog that reflects your settings.
This topic discusses how to work with Gosu code in PolicyCenter Studio.
Gosu packages
Guidewire PolicyCenter stores Gosu classes, enhancements, and templates in hierarchical structure known as
packages. To access a package, expand the Classes node in the Studio Resources tree.
Note: You can delete only an empty package.
Procedure
1. Select Classes in the Resources tree.
2. Right-click, select New, then Package from the menu.
3. Enter the name for this package.
4. Click OK to save your work and exit this dialog.
Gosu classes
Gosu classes correspond to Java classes. Gosu classes reside in a file-based package structure. You can extend
classes in the base configuration of PolicyCenter to add properties and methods, and you can write your own Gosu
classes. You define classes in Gosu, and you access the properties and call the methods of Gosu classes from Gosu
code within methods.
116 chapter 6: PolicyCenter Studio and Gosu
Guidewire PolicyCenter 9.0.6 Configuration Guide
You create and reference Gosu classes by name, just as in Java. For example, you define a class named MyClass in a
package named MyPackage. You define a method on your class named getName. After you define your class, you
can instantiate an instance of the class and call the method on that instance, as the following Gosu sample code
demonstrates.
Studio stores enhancement files in the gsrc folder in the resources tree. Gosu class files end in .gs.
See also
• “PolicyCenter base configuration classes” on page 117
• “Class visibility in Studio” on page 118
• “Preloading Gosu classes” on page 119
• Gosu Reference Guide
com.guidewire.pl.quickjump.BaseCommand
For a discussion of the QuickJump functionality, see “Implementing QuickJump commands” on page 135.
The gw package
In the base PolicyCenter configuration, the gw.* Gosu class libraries contain a number of Gosu classes, divided into
subpackages by functional area. To access these libraries, you merely need to type gw. (gw dot) in a Studio editor.
The following subpackages under the gw package play an important role in Studio:
• gw.api.*
• gw.plugin
PolicyCenter Studio and Gosu 117
Guidewire PolicyCenter 9.0.6 Configuration Guide
gw.api.*
There are actually two gw.api packages that you can access:
• One consists of a set of built-in library functions that you can access and use, but not modify.
• The other set of library functions is visible in the Studio gsrc folder in the configuration tree. You can not only
access these classes but also modify them to suit your business needs.
You access both the same way, by entering gw.api in the Gosu editor. You can then choose a package or class that
falls into one category or the other. For example, if you enter gw.api. in the Gosu editor, the Studio Complete Code
feature provides you with the following list:
• activity
• address
• admin
• ...
In this case, the activity and admin packages contain read-only classes. The address package is visible in Studio,
in the gsrc folder.
gw.plugin
If you create a new Gosu plugin, place your plugin class in the gw.plugin package.
See also
• For information on how to use Studio to work with plugins, see “Using the plugins registry editor” on page 129.
• For information on various types of plugins and how to implement plugins, see the Integration Guide.
See also
• “Using the web service editor” on page 133
• Integration Guide
PolicyCenter/modules/configuration/gsrc/gw/webservice/pc/pc900/ccintegration/ccentities
To access the class functionality, first create a new class in the following Studio Classes package:
gw.webservice.pc.ccintegration.v2.ccentities
package gw.webservice.pc.ccintegration.v2.ccentities
uses java.util.Date
uses gw.api.web.product.ProducerCodePickerUtil
uses gw.api.web.producer.ProducerUtil
construct() { }
Static meth‐ Static method invocations dictate some kind of action and have the following syntax:
od invoca‐ type#method
tions The referenced method must be a static, no‐argument method. However, the method can be on either a Java
or Gosu type.
In the base configuration, Guidewire includes some actions on the gw.api.startup.PreloadActions class. For
example, to cause all Gosu types to be loaded from disk, use the following:
gw.api.startup.PreloadActions#headerCompileAllGosuClasses
You can add additional lines that call static methods.
Type names Type names can be either Gosu or Java types. You must use the fully‐qualified name of the type. For any Java or
Gosu type that you list in this file:
• Java – PolicyCenter loads the associated Java class file.
• Gosu – PolicyCenter parses and compiles the type to Java byte code, as well as any Gosu blocks and inner
classes within that type.
Guidewire provides the logging category Server.Preload, which provides DEBUG level logging of all actions and
preloaded types.
Guidewire recommends that you first perform whatever actions you need to within PolicyCenter interface.
Procedure
Result
The next time that you start the application server, PolicyCenter compiles those types on startup.
Gosu enhancements
Gosu enhancements provide additional methods (functionality) on a Guidewire entity. For example, suppose that
you create an enhancement to the Activity entity. Within this enhancement, you add methods that support new
functionality. Then, if you type Activity. (Activity dot) within any Gosu code, Studio automatically uses code
completion on the Activity entity. It also automatically displays any methods that you have defined in your
Activity enhancement, along with the native Activity entity methods.
Studio stores enhancement files in the gsrc folder in the resources tree.
• Gosu class files end in .gs.
• Gosu enhancement files end in .gsx.
The Gosu language defines the following terms:
• Classes – Gosu classes encapsulate data and code for a specific purpose. You can subclass and extend existing
classes. You can store and access data and methods on an instance of the class or on the class itself. Gosu classes
can also implement Gosu interfaces.
• Enhancements – Gosu enhancements are a Gosu language feature that allows you to augment classes and other
types with additional concrete methods and properties. For example, use enhancements to define additional
utility methods on a Java class or interface that you cannot directly modify. Also, you can use an enhancement to
extend Gosu classes, Guidewire entities, or Java classes with additional behaviors.
Procedure
1. In Guidewire Studio, in the Project tool window, navigate to configuration→gsrc, and then to the package for
your new class.
2. Right-click the package, and then click New→Gosu Enhancement.
3. Type the name for the enhancement.
Guidewire strongly recommends that you end each enhancement name with the word Enhancement.
For example, if you create an enhancement for an Activity entity, name your enhancement
ActivityEnhancement.
4. Enter the entity type to enhance.
For example, if enhancing an Activity entity, enter Activity.
See also
• Gosu Reference Guide
Define a GX model
1. Navigate to the Classes package in which you want to create the GX model.
2. Right-click the package name, and then click New→GX Model.
See also
• Gosu Reference Guide
Script parameters
Script parameters are resources defined in Guidewire Studio™ that you can use as global variables in Gosu code.
System administrators change the values of script parameters on the Administration tab. Changes to values take effect
immediately in Gosu code.
IMPORTANT After you create a script parameter in Studio, PolicyCenter ignores subsequent changes
that you make to the parameter value. You must make all subsequent changes to parameter values in
the Script Parameters administration screen of the PolicyCenter user interface.
the value to ten (10). Instead, define a script parameter, set its value to five (5), and then use this parameter in the
rules. To change the activity exception behavior, you need change only the parameter, and the rules automatically
uses the new value.
More complex examples include:
• Setting the number of days before the policy end date to start the renewal process – It is possible that this
varies by policy type and Line of Business.
• Setting the maximum number of years for automatic policy renewal without an underwriting review –
After the set number of threshold years passes, the Rule engine generates an activity to manually review the
policy.
• Setting the date in which new policy terms come into effect – This effectively requires all policies created
after a given date to contain certain forms and amendment, for example.
Note: Script parameters are read-only within Gosu. You cannot set the value of a script parameter in a
Gosu statement or expression.
<script-parameters>
<ScriptParameterPack ParamName="ParameterName" ParamType="datatype">
<ParamValue>value</ParamValue>
</ScriptParameterPack>
</script-parameters>
To see the data types available for script parameters, examine the ScriptParameter entity definition. This entity
contains properties for each valid type. For example, ScriptParameter uses BitValue for bit, DatetimeValue for
datetime, IntegerValue for decimal, and VarcharValue for varchar script parameter values.
To make a new script parameter value available in Gosu, you must provide a getter method in the script parameters
enhancement file.
IMPORTANT After you create a script parameter in Studio, PolicyCenter ignores subsequent changes
that you make to the parameter value. You must make all subsequent changes to parameter values in
the Script Parameters administration screen of the PolicyCenter user interface.
Procedure
1. In Guidewire Studio, in the Project tool window, navigate to configuration→config→resources, and then open the
file ScriptParameters.xml.
2. Edit the XML and remove the element defining the parameter to delete.
You can, instead, create a script parameter named escalationTime, set its value to 5, and rewrite the line as
follows:
Note: Guidewire recommends that you use Gosu class variables instead of script parameters to
reference values in Gosu expressions. The exception would be if you needed the ability to reset the
value from the PolicyCenter interface.
See also
• “Configuration parameters and files for free-text search in PolicyCenter” on page 395
• “Enabling free-text search in PolicyCenter” on page 397
• “Enabling the free-text search user interface in PolicyCenter” on page 398
This topic discusses the various editors available to you in Guidewire Studio.
See also
• Gosu Reference Guide
See also
• Product Model Guide
• Application Guide
A PolicyCenter plugin is a mini-program that you can invoke to perform some task or calculate a result.
See also
• Integration Guide
The Plugins Registry fields work slightly differently depending on whether the interface supports multiple
implementations. Most plugin interfaces supports only a single plugin implementation. Other plugin interfaces, such
as messaging plugins and startable plugins, support multiple plugin implementations.
See also
• For the maximum number of supported implementations for each plugin interface, see the table the Integration
Guide.
Startable plugins
To register code that runs at server start up, you register startable plugin implementations. Startable plugins
implement the IStartablePlugin interface. Typically, startable plugins are implemented as daemons, such as
listeners to JMS queues. Unlike standard Guidewire plugins, you can stop and start startable plugins from the
administrative interface. Alternatively, you can use PolicyCenter multi-threaded inbound integration APIs, which
use startable plugins.
See also
• Integration Guide
Gosu Type the name of the Gosu class that implements this plugin interface. In the base configuration, Guidewire
Class places all Gosu plugin implementation classes in the following package under configuration→gsrc:
gw.plugin.package.impl
You must enter the fully‐qualified path to the Gosu implementation class. For example, use
gw.plugin.email.impl.EmailMessageTransportPlugin for the Gosu EmailMessageTransport plugin.
See the Integration Guide for more information.
Java Implementations
If you select Add Java Plugin, you see the following:
Java Class Type the fully qualified path to the Java class that implements this plugin. This is the dot separated package
path to the class. Place all custom (non‐Guidewire) Java plugin classes in the following directory:
PolicyCenter/modules/configuration/plugins/
Plugin Di- (Optional) Type the name of the base plugin directory for the Java class. This is a folder (directory) in the
rectory modules/configuration/plugins directory. If you do not specify a value, Studio assumes that the class
exists in the modules/configuration/plugins/shared directory.
See the Integration Guide.
OSGi Implementations
If you select Add OSGi Plugin, you see the following:
Service PID Type the fully‐qualified Java class name for your OSGi implementation class.
See the Integration Guide.
3. After creating the plugin, you can add parameters to it. To do so, click Add Parameter , and then enter the
parameter name and value.
If you have already set the environment or server property at the global level, then those values override any
that you set in this location. For any property that you set in this location to have an effect, that property must
be set to the Default (null) at the global level for this plugin. For more information on setting environment
or server properties, see “Set environment and server context for plugin implementations” on page 131.
See also
• Integration Guide
• System Administration Guide
Using the plugins registry editor 131
Guidewire PolicyCenter 9.0.6 Configuration Guide
gw.plugin.billing.bc1000.BCBillingSystemPlugin
For integrations with other Guidewire InsuranceSuite applications, choose the plugin implementation class that
matches the version of your applications. Choose the implementation with the proper version number of the other
application (not the current application) in its package name.
Guidewire uses the following abbreviation conventions for naming its applications:
Application Abbreviation
ClaimCenter cc
PolicyCenter pc
ContactManager ab
BillingCenter bc
PolicyCenter supports WS-I web services. WS-I web services use the SOAP protocol. This topic discusses how to
define and configure web services with Guidewire Studio.
Editor Description
area
Toolbar The toolbar is located directly above the Resources pane. The toolbar icons provide the following actions.
• Add New Resource – Create new URL resource to the web service WSDL file.
• Edit Resource ‐ Edit the URL resource to the web service WSDL file.
• Remove Resource – Remove the URL from the list of web service resources.
• Move Up ‐ Move the selected URL resource up one level in the list of resources.
• Move Down ‐ Move the selected URL resource down one level in the list of resources.
• Fetch – Retrieve WSDL and XSD files for a web service resource. The retrieved files are shown in the editor's
Fetched Resources tab.
• Setup Environment ‐ Show the Studio Settings window. In the window's Sidebar, select Guidewire Studio to show
the Web Services Environment setting.
Resources Contains the list of defined URL resources for the web service. Each URL points to a web service WSDL file. The
pane WSDL file can exist in any of the following locations.
• The local file system
• A local server
• A remote server
Editor Description
area
Settings tab Create and manage configuration entries for the web service. The following types of configuration entries are
supported.
• Configuration Provider – Specifies a class that implements the IWsiWebserviceConfigurationProvider
interface.
• Override URL – Specifies an override proxy URL for the web service.
See the Integration Guide.
Fetched Re- Shows the WSDL and XSD files for the web services.
sources tab
See also
• Integration Guide
This topic discusses how you can configure, or create new, QuickJump commands.
What Is QuickJump?
The QuickJump box is a text-entry box for entering navigation commands using keyboard shortcuts. Guidewire places
the box at the upper-right corner of each PolicyCenter screen. You set which commands are valid through the
QuickJump configuration editor. At least one command must exist (be defined) in order for the QuickJump box to appear
in PolicyCenter. (Therefore, to remove the QuickJump box from the PolicyCenter interface, remove all commands
from the QuickJump configuration editor.)
You set the keyboard shortcut that activates the QuickJump box in config.xml. The default key is “/” (a forward
slash). Therefore, the default action to access the box is Alt+/.
There are three basic types of navigation commands:
Subclass Section
StaticNavigationCommand “Implementing QuickJumpCommandRef commands” on page 136
ParameterizedNavigationCommand “Implementing QuickJumpCommandRef commands” on page 136
All QuickJumpCommand subclasses must define a constructor that takes a single parameter—the command name—as
a String.
number of extraneous classes needed. See “Implementing StaticNavigationCommandRef commands” on page 137
for details.
same manner as for a static navigation command. You must also specify the Command Target, and any necessary
Command Arguments. These parameters have the following meanings:
• Command Target specifies the ID of the target page.
• Command Arguments specify one or more parameters to use in the case in which the target page accepts one or
more string parameters. If there is more than one parameter, enter a comma-separated list.
See also
• “Implementing QuickJumpCommandRef commands” on page 136
Subclassing StaticNavigationCommand
Commands that implement this subclass check the canVisit permission by default to determine whether a user has
the necessary permission to see that QuickJump option in the QuickJump box. The permission hole in this case arises
if permissions were in place for all approaches to the destination but not on the destination itself.
For example, suppose that you create a new QuickJump navigation for NewNotePopup. Then suppose that previously
you had placed a permission check on all New Note buttons. In that case PolicyCenter would have checked the
Note.create permissions. However, enabling QuickJump navigation to NewNotePopup bypasses those previous
permissions checks. The best practice is to check permissions on the canVisit tag of the actual destination page, in
this case, on NewNotePopup.
Subclassing ContextualNavigationCommand
As with StaticNavigationCommand subclasses, add permission checks to the destination page's canVisit tag.
Subclassing ParameterizedNavigationCommand
Classes subclassing ParameterizedNavigationCommand have the (previously described) method called
isPermitted, which is possible for you to override. This method—isPermitted—controls whether the user can
see the navigation command in the QuickJump box. After a user invokes a command, PolicyCenter performs standard
permission checks (for example, checking the canVisit expression on the target page), and presents an error
message to unauthorized users.
It is possible for the canVisit expression on the destination page to return a different value depending on the actual
parameters passed into it. As a consequence, PolicyCenter cannot determine automatically whether to display the
command to the user in the QuickJump box before the user enters a value for the parameter. If it is possible to
138 chapter 10: Implementing QuickJump commands
Guidewire PolicyCenter 9.0.6 Configuration Guide
manually determine whether to display the command to the user, check for permission using the overridden
isPermitted method. (This might be, for example, from the destination's canVisit attribute.)
This topic describes entity names and entity name types and how to work with the entity names in the Entity Names
editor in Guidewire Studio™.
WARNING Do not reference in an entity name definition either a virtual property or an otherwise
non-queryable column, including an amount virtual property. Failing to follow this guidance will
compromise performance and lead to exceptions.
Variable table
You must declare any field that you reference in the entity definition (in the code definition pane) as a variable in the
variable table at the top of the page. This tells the Entity Name feature which fields to load from the database, and
puts each value in a variable for you to use.
For example, the Contact entity name defines the following variables:
Notice that this defines LastName as Person.LastName and Name as Company.Name, for example.
Use the variable table to manage variables that you can embed in the Gosu entity name definitions. You can add and
remove variables using the function buttons next to the table. The columns in the table have the following meanings:
String variable called claimant. PolicyCenter would then use this value in constructing the entity name for the
Exposure entity.
Note: If you set the Use Entity Name? field to true and then attempt to use a virtual field as an Entity
Path value, Studio resource verification generates an error.
Therefore, if PolicyCenter is in the process of determining how to order two contacts, it first compares the values in
the (Sort Path) LastNameDenorm fields (Sort Order = 1). If these values are equal, Studio then compares the values in
the FirstNameDenorm fields (Sort Order = 2), repeating this process for as long as there are fields to compare.
These columns specify the default sort order. Other aspects of Guidewire PolicyCenter can override this sort order,
for example, the sort order property of a list view cell widget.
To use the Contact entity name definition, you can embed the following in a PCF page, for example.
Do not use virtual entity methods to define display names. Doing so may result in slow performance. Also, if the
entity for which the display name is being generated is retired, calls to virtual methods may behave unpredictably.
To use the DisplayName value for a subentity, you must set the value of Use Entity Name to true on the variable
definition. For example, for Contacts, you must set the value to true through an explicit Denorm column, such as
Exposure.ClaimantDenorm.
To illustrate:
It is possible that you do not want to use the Entity Name as defined for the subentity's type. If so, then you need to
set up variables in the table to obtain the fields from the subentity that you need. To illustrate:
You can then use these variables in Gosu code (in the text editor) to include the Claimant and Incident information
in the entity name for Exposure.
Guidewire recommendations
Do not end an Entity Path value with an entity foreign key, without setting the Use Entity Name value to true.
Otherwise, PolicyCenter loads the entire entity being referenced into memory. In actuality, you probably only need a
couple fields from the entity to construct your entity name. Instead, you one of the approaches described in one of
the previous steps.
Denormalized columns
Within the PolicyCenter data model, it is possible for a column to end in Denorm for (at least) two different reasons:
• The column contains a direct foreign key to a particular Contact (for example, as in Claim.InsuredDenorm.)
• The original column is of type String and the column attribute supportsLinguisticSearch is set to true. In
this case, the denormalized column contains a normalized version of the string for searching, sorting, and
indexing. Thus, the Contact entity definition uses LastNameDenorm and FirstNameDenorm as the sort columns
in the definition for the Contact entity name. It then uses LastName and FirstName in the variables' entity paths
for eventual inclusion in the entity name string.
144 chapter 11: Using the entity names editor
Guidewire PolicyCenter 9.0.6 Configuration Guide
entity.DisplayName
Only internal application code (internal code that Guidewire uses to build the application) can access any of non-
default entity name types. For example, some of the entity names contain an additional type or definition of
ContactRoleMessage. PolicyCenter uses the ContactRoleMessage type to define the format of the entity name to
use in role validation error messages. In some cases, this definition is merely the same as the default definition.
Note: It is not possible for you to either add or delete an entity name type from the base application
configuration. You can, however, modify the definition—the Gosu code—for all defined types. You
can directly access only the default type from Gosu code.
This topic covers how you use the messaging editor in Guidewire Studio.
Messaging editor
You use the Messaging editor to set up and define one or more message environments, each of which includes one or
more message destinations. A message destination is an abstraction that represents an external system. Typically, a
destination represents a distinct remote system. However, you can also use destinations to represent different remote
APIs or different types of messages that must be sent from PolicyCenter business rules.
You use the Messaging editor to set up and define message destinations, including the destination ID, name, and the
transport plugin to use with this destination. In a similar fashion to the Plugins editor, you can also set the
deployment environment in which this message destination is active.
Each destination can specify a list of events that are of interest to it, along with some basic configuration
information.
See also
• Integration Guide
Procedure
1. In the Messaging Config drop-down list, click the messaging configuration to remove.
2. Click Remove Messaging .
PolicyCenter deletes the messaging environment without asking for confirmation.
IMPORTANT If you register a messaging plugin, you must register it in two places. First,
register it in the plugin registry in the plugin editor; see “Using the plugins registry editor” on
page 129. Remember the plugin name that you use. You need it to configure the messaging
destination in the Messaging editor in Studio for each destination. Use those plugin names in the
messaging editor.
5. After you click Add Destination in the Messaging editor, fill in the following fields.
ID The destination ID (as an integer value). The valid range for custom destination IDs is 0 through 63, inclusive.
Guidewire reserves all other destination IDs for built‐in destinations such as the email transport destination.
Studio marks these internal values with a gray background, indicating that they are not editable. Studio also
marks valid entries with a white background and invalid entries with a red background.
Name Required.The name to use for this messaging destination.
Trans- Required.The name of the MessageTransport plugin implementation that knows how to send messages for
port Plu- this messaging destination. A destination must define a message transport plugin that sends a Message object
gin over a physical or abstract transport. For example, the plugin might do one of the following.
• Submit the message to a message queue.
• Call a remote web service API and get an immediate response that the system handled the message.
• Implement a proprietary protocol that is specific to a remote system.
Each messaging destination must specify its own unique implementation of a MessageTransport plugin. A
particular MessageTransport plugin cannot be assigned to multiple destinations.
Next steps
If the Disabled checkbox is selected, the messaging destination is disabled.
See also
• Integration Guide
This topic discusses how to work with the display key editor that is available to you in Guidewire Studio.
Task Actions
View a display key Navigate to the display key that you want to view by scrolling through the display key proper‐
ties file. To search for a particular key or value, press Ctrl+F and then type your search term
in the search bar.
Modify the text of an existing Navigate to the display key that you want to modify, and then modify the string in the editor
display key as you want.
Create a new display key In the display key editor, type the desired name and value for your new display key.
Delete an existing display key Highlight the display key that you want to delete, and then press Delete.
Procedure
1. Place the cursor within the string, and then press Alt+Enter.
2. Click Convert string literal to display key. Studio opens the Create Display Key dialog.
3. In the Name text box, type the name of the display key. Studio fills in this text box with the string value, but
you can change it.
4. In the Values box, under the desired locale name, verify or change the string value.
5. Click OK. Studio creates the new display key in the display key properties file. Studio also inserts a reference
to that display key in place of the string literal in the Gosu code.
Example
For example, suppose that you enter the following in the Rules editor:
If you place the cursor within that string, then press Alt+Enter, and then click Convert string literal to display key,
Studio opens the Create Display Key dialog.
If you name the new display key SendFailed, then Studio creates the following new display key in the display key
properties file:
SendFailed=Failed to send
Studio also replaces the string literal in your Gosu code, and changes it to the following:
Thus, at run time, PolicyCenter replaces {0} with the appropriate value, in this case, the name of an activity.
Occasionally, there are display keys that contain multiple arguments. For example:
Java.Admin.User.InvalidGroupAdd = The group {0} cannot be added for the user {1}
as they do not belong to the same organization.
Method DisplayKey.get
Use the DisplayKey.get method to return the value of the display key. Use the following syntax:
DisplayKey.get(display_key_name)
For example:
DisplayKey.get("Java.Admin.User.DuplicateRoleError")
returns:
This also works with display keys that require a parameter or parameters. To retrieve the parameter value, use the
following syntax.
DisplayKey.get(display_key_name, arg1)
For example, the display key properties file defines the following display key with placeholder {0}:
Suppose that you have the following display key Gosu code:
DisplayKey.get("Java.UserDetail.Delete.IsSupervisorError", GroupName)
If the variable GroupName is defined as WesternRegion, this display key returns the following:
Cannot delete user because they are supervisor of the following groups: WesternRegion
Note: Make sure to include the following line in any Gosu code that calls the DisplayKey.get
method:
uses gw.api.locale.DisplayKey
Guidewire provides the Data Dictionary to help you understand the PolicyCenter data model. The Data Dictionary
is a detailed set of linked documentation in HTML format. These linked HTML pages contain information on all the
data entities and typelists that make up the current data model.
Related concepts
gwb genDataDictionary
PolicyCenter stores the current version of the Data Dictionary in the following directory:
PolicyCenter/build/dictionary/data/
PolicyCenter/build/dictionary/data/index.html
As an option, you can generate the Data Dictionary in XML format with associated XSD files. Use the generated
XML and XSD files to import the Data Dictionary into third-party database design tools.
Related concepts
“Regenerating the data and security dictionaries” on page 38
Related concepts
“Using the Data Dictionary” on page 159
158 chapter 14: Working with the Data Dictionary
Guidewire PolicyCenter 9.0.6 Configuration Guide
Related concepts
Property colors
An examination of the Data Dictionary shows properties in green, blue, and red. These colors have the following
meanings:
Color Meaning
Green The object property is part of the Guidewire base configuration. The object definition file exists in Studio in the follow‐
ing locations:
• config→configuration→Metadata
• config→configuration→Extensions
Blue The object property is defined in an extension file, either by Guidewire or as a user customization. The object defini‐
tion file exists in Studio in the following location:
• config→configuration→Extensions
It is possible for Guidewire to define a base object in the Metadata folder and then to extend the object using an exten‐
sion entity in the Extensions folder.
Red Occasionally, it is possible to see a message in red in the Data Dictionary that states:
This entity is overwritten by the application during staging.
This message indicates that Guidewire PolicyCenter auto‐populates a table or column's staging table equivalent. Do
not attempt to populate the table yourself as the loader import process overwrites the staging table during import.
See also the description of the overwrittenInStagingTable attribute in “<entity> elements and related data object
types” on page 177.
Object attributes
An object in the PolicyCenter data model can have a number of special attributes assigned to it. These attributes
describe the object (or entity) further. You use the Data Dictionary to see what these are. For example, the Policy
entity has the attributes Editable, Exportable, Extendable, Final, Keyed, Loadable, Sourceable, and Versionable.
The following list describes the possible attributes:
Attribute Description
Abstract The entity is a supertype. However, all instances of it must be one of its subtypes. That is, you cannot instantiate
the supertype entity itself. An abstract entity is appropriate if the supertype serves only to collect logic or common
fields. The abstract entity is appropriate because, in this case, it is not expedient for the supertype to exist on its
own.
Editable The related database table contains rows that you can edit. An Editable table manages additional fields that track
the immediate status of an entity in the table. For example, the table tracks who created the entity, the creation
time, who last modified the entity, and the modification time.
Exportable Unused.
Extendable It is possible to extend the entity with additional custom fields added to it.
Final It is not possible to subtype this entity. However, you can extend the entity by adding fields to it.
Keyed The entity has a related database table that has a primary key. Each row in a Keyed table has an integer primary
key named ID. PolicyCenter manages these IDs internally, and the application ensures that no two rows in a keyed
table have the same ID. You can also associate an external unique identifier with each row in a table.
Loadable It is possible to load the entity through the use of staging tables.
Sourceable The entity links to an external source. Each row in a table for a Sourceable entity has additional fields to identify
the external application and to store the ID of the Sourceable entity in the external application.
Supertype The entity has a single table that represents multiple types of entities called subtypes. Each subtype shares appli‐
cation logic and a majority of its fields. Each subtype can also define fields that are particular to it.
Temporary The entity is a temporary entity created as part of an upgrade or staging table loading. PolicyCenter deletes the
entity after the operation is complete.
Versionable The entity has a version number that increases every time the entity changes. The PolicyCenter cache uses the
version number to determine if updates have been made to an entity.
To view the definition of a particular attribute, click the small question mark (?) by the attribute name in the attribute
list in the Guidewire Data Dictionary.
Property attributes
A property in the PolicyCenter data model can have a number of special attributes assigned to it. These attributes
describe the property further. You use the Data Dictionary to see what these are. For example, the Policy entity has
a property named Account. The attributes of this property are exportable, non-null, and writable.
The following list describes the possible attributes:
Attribute Description
database column: [name] The corresponding database column for the property has a name of [name]. This attribute is
present if [name] is a name other than the name of the property.
default: [value] This attribute is often present for a property that is associated with a column or a typekey. When
the attribute is present, [value] represents the default value for the property.
exportable Unused.
export as id Unused.
Attribute Description
loadable The property is loadable by way of the staging tables.
localized The property contains a <localization> subelement. This subelement causes a localization
table to be created during the next database upgrade. A localization table stores localized values
for a column for every language other than the default application language. See Globalization
Guide.
non-null The property cannot contain null values.
overwritten on load The property contains an overwrittenInStagingTable attribute with a value of true.
PolicyCenter uses the property and a corresponding staging table during the load of staging table
data to operational tables. When the overwrittenInStagingTable attribute has a value of true,
the loader import process overwrites the staging table corresponding the property. See “Staging
tables” on page 172 for more information.
triggers validation The property contains a triggersValidation attribute with a value of true. When this scenario
exists and an array, a foreign key, or a one‐to‐one entity on the property changes, PolicyCenter
initiates validation on the property. See “<array>” on page 193, “<foreignkey>” on page 204,
and “<onetoone>” on page 209 for more information about the effects of the
triggersValidation attribute when arrays, foreign keys, and one‐to‐one entities change.
To view the definition of a particular attribute, click the small question mark (?) by the attribute name in the attribute
list in the Guidewire Data Dictionary.
Property tags
A property in the PolicyCenter data model can have a number of tags assigned to it. These tags further describe the
property.
You use the Data Dictionary to see what these tags are. For example, the Data Dictionary indicates whether the
PersonalData obfuscation tag is set on the various fields that use the tag as well as the tag value. One such value
for the PersonalData tag is ObfuscateDefault.
Entity subtypes
If you look at Contact in the Guidewire Data Dictionary, for example, you see that data dictionary lists a number of
subtypes. For certain PolicyCenter objects, you can think of the object in several different ways:
• As a generic object. That is, all contacts are similar in many ways.
• As a specific version or subtype of that object. For example, you would want to capture and display different
information about companies than about people.
PolicyCenter creates Contact object subtypes by having a base set of shared fields common to all contacts and then
extra fields that exist only for the subtype.
PolicyCenter also looks at the subtype as it decides which fields to show in the PolicyCenter interface. You can
check which subtype a contact is by looking at its subtype field (for example, in a Gosu rule or class).
Type Description
array Represents a one‐to‐many relationship. For example, consider the relationship between a contact and a set of
addresses. There is no actual column in the database table that maps to the array. PolicyCenter stores this infor‐
mation in the metadata.
column As the name specifies, it indicates a column in the database. Inside a column field, you can add tag subtypes to
point out additional information about the field. The Data Dictionary displays such tags and their values.
foreign key References a keyable entity. For example, Policy has a foreign key (AccountID) to the related account on the
policy, found in the Account entity.
typekey Represents a discrete value picked from a particular list, called a typelist.
virtual prop- Indicates a derived property. PolicyCenter does not store virtual properties in the PolicyCenter physical database.
erty
Note: Inside any field of the data model aside from virtual properties, you can add tags and optional
corresponding values to point out additional information about the field. The Data Dictionary displays
such tags and values.
Examples
The following examples illustrate some of the various ways that Guidewire applications determine a virtual
property. The following examples use Guidewire ClaimCenter for illustration.
The in PolicyCenter data model comprises the persistent data objects, called entities, that PolicyCenter manages in
the application database.
Related concepts
Related references
Entities An entity defines a set of fields for information. You can add the following kinds of fields to an entity:
• Column
• Type key
• Array
• Foreign key
• Edge foreign key
Typelists A typelist defines a set of code/value pairs, called typecodes, that you can specify as the allowable values for the
type key fields of entities. Several levels of restriction control what you can modify in typelists:
• Internal typelists – You cannot modify internal typelists because the application depends upon them for internal
application logic.
• Extendable typelists – You can modify this kind of typelist according to its schema definition.
• Custom typelists – You can also create custom typelists for use on new fields on existing entities or for use with
new entities.
Guidewire PolicyCenter loads the metadata of the data model on start-up. The loaded metadata instantiates the data
model as a collection of tables in the application database. Also, the loaded metadata injects Java and Gosu classes
in the application server to provide a programmatic interface to the entities and typelists in the database.
WARNING Do not attempt to modify any files other than those in the PolicyCenter/modules/
configuration directory. Any attempt to modify files outside of this directory can prevent the
PolicyCenter application from starting.
account.AccountNumber
However, suppose that you want to reference a field on an entity that relates to the account, such as a policy
expiration date. You must first describe the path from the account to the policy, then describe the path from the
policy to the policy expiration date:
account.Policy.ExpirationDate
Related concepts
“The PolicyCenter archive domain graph” on page 311
WARNING Do not modify any of the base data entity definition files (those in the PolicyCenter/
modules/configuration/config/metadata directory) by editing them directly. You can view
these files in read-only mode in Guidewire Studio™ in the configuration →config→Metadata folder.
To better understand the syntax of entity metadata, it is sometimes helpful to look at the PolicyCenter data model
and its metadata definition files. PolicyCenter uses separate metadata definition files for entity declarations and
extensions to them.
The base metadata files are available in Studio in the following location: configuration→config→Metadata
The extension metadata files are available in Studio in the following location: configuration→config→Extensions
The file extensions of metadata definition files distinguish their type, purpose, and contents.
.dti Data Type Info A single data type definition. “Data types” on page 269
.eti Entity Type In‐ A single Guidewire or custom entity declaration. The “XML root elements and related
formation name of the file corresponds to the name of the enti‐ base PolicyCenter data object
ty being declared. types” on page 173
.eix Entity Internal A single Guidewire entity extension. The name of the Internal defintion; see .etx
eXtension file corresponds to the name of the Guidewire entity
being extended.
.etx Entity Type eX‐ A single Guidewire or custom entity extension. The “<extension> elements and relat‐
tension name of the file corresponds to the name of the enti‐ ed data object types” on page 183
ty being extended. “<viewEntityExtension> elements
and related data object types” on
page 190
.tti Typelist Type In‐ A single Guidewire or custom typelist declaration. “Working with typelists” on page
fo The name of the file corresponds to the name of the 289
typelist being declared.
.tix Typelist Internal A single Guidewire typelist extension. The name of “Working with typelists” on page
eXtension the file corresponds to the name of the Guidewire 289
typelist being extended.
.ttx Typelist Type eX‐ A single Guidewire or custom typelist extension. The “Working with typelists” on page
tension name of the file corresponds to the name of the 289
typelist being extended.
The type of a metadata definition file determines what you can store and whether you can modify its contents.
At runtime, PolicyCenter merges the .eti and .eix versions of the Address definition file to create a complete
Address entity type.
To extend the PolicyCenter Activity entity, create the following extension file through Guidewire Studio.
WARNING Use only Guidewire Studio to create data model definition files. Use of Studio assures
that the files reside in the correct location.
WARNING In a production environment, Guidewire requires that you increment the version
number whenever you make changes to the data model before you restart the application server.
Otherwise, unpredictable results can occur. Use of the extensions.properties file in a
development environment is optional.
Note: Guidewire strongly recommends that you verify your entity definitions at the time that you
create them. To do so, right-click the entity in the Project window, and then click Validate. The
verification process highlights any issues with a data model definition, enabling you to correct any
issues.
Result
Studio opens the file in the appropriate editor.
Result
Studio displays the name of your new file in the Extensions→entity folder in Studio, and it stores the new file in the
file system at the following location.
configuration/config/extensions/entity
Procedure
1. In Guidewire Studio, in the Project tool window, navigate to configuration→config→Metadata, and then expand
Entity.
2. Right-click the entity that you want to extend, and then click New→Entity Extension.
The file that you want to extend must have the .eti extension.
3. In the Entity Extension dialog, Studio displays the name and location of the extension file it will create. Click
OK.
168 chapter 15: The PolicyCenter data model
Guidewire PolicyCenter 9.0.6 Configuration Guide
Result
Studio displays the name of your new file in the Extensions→Entity folder and stores the new file at the following
location:
configuration/config/extensions/entity
<?xml version="1.0"?>
<entity xmlns="http://guidewire.com/datamodel"
desc="An activity is a instance of work assigned to a user and belonging to a claim."
entity="Activity"
exportable="true"
extendable="true"
platform="true"
table="activity"
type="retireable">
...
</entity>
At application server start up, PolicyCenter loads the XML definitions of the data entities into the application
database.
<entity xmlns="http://guidewire.com/datamodel"
entity="Activity"
...
type="retireable">
...
</entity>
Notice that for the base configuration Activity object, PolicyCenter sets the type attribute to retireable. The
type attribute that determines how PolicyCenter manages the data entity in the PolicyCenter database. For example:
• If a data entity has a type value of versionable, PolicyCenter stores instances of the entity in the database with
a specific ID and version number.
• If a data entity has a type value of retireable, PolicyCenter stores instances of the entity in the database
forever. However, you can retire, or hide, specific instances so that PolicyCenter does not display them in the
interface.
The PolicyCenter data model 169
Guidewire PolicyCenter 9.0.6 Configuration Guide
IMPORTANT For each data entity in the PolicyCenter data model and for each entity type that you
declare, PolicyCenter automatically generates a field named ID that is of data type key. An ID field is
the internally managed primary key for the object. Do not attempt to create entity fields of type key.
The key type is for Guidewire internal use only. Guidewire also reserves the exclusive use of the
following additional data types: foreignkey, typekey, and typelistkey.
The following table lists the possible values for the entity type attribute. Use only those type attributes marked for
general use to create or extend an data entity. Do not attempt to create or extend an entity with a type attribute
marked for internal-use.
pc_ Entity table – one for each entity in the base configuration
pcx_ Extension table – one for each custom extension added to the extensions folder in Studio
Note: It is possible to create non-persistent entities. These are entities or objects that you cannot save
to the database. Guidewire discourages the use of non-persistent entities in favor of Plain Old Gosu
Objects (POGOs), instead. See “<nonPersistentEntity> elements and related data object types” on
page 184 for more information.
Besides entity tables, PolicyCenter creates the following types of tables in the database:
Shadow tables
A shadow table stores a copy of data from a main table for testing purposes. Every entity table potentially has a
corresponding shadow table. Shadow tables in the database have one of the following prefixes:
Shadow tables provide a way to quickly save and restore test data. All GUnit tests, including those that you write
yourself, use shadow tables automatically. You cannot prevent GUnit tests from using shadow tables. GUnit tests use
shadow tables according to the following process:
1. GUnit copies data from the main application tables to the shadow tables to create a backup of your test data.
2. GUnit runs your tests.
3. GUnit copies data backed up data in shadow tables to the main tables to restore a fresh copy of your test data
for subsequent tests.
To start a test server, set its server.running.tests system property to true either explicitly or programmatically.
In addition, set the server environment to one that uses your test database. Upon server startup, if shadow tables do
not already exist, PolicyCenter drops the database, recreates it, and then creates the shadow tables. PolicyCenter
creates shadow tables only in an empty database.
Staging tables
PolicyCenter generates a staging table for any entity that is marked with an attribute of loadable="true". The
loadable attribute is true by default in the base configuration. A staging table largely parallels the main entity table
except that:
• PolicyCenter replaces foreign keys by PublicID objects of type String.
• PolicyCenter replaces typecode fields by typekey objects of type String.
After you load data into these staging tables, you run the command line tool table_import to bulk load the staging
table data into the main application database tables. See the System Administration Guide for information on how to
use this command.
IMPORTANT Some data types, for example, Entity, contain an overwrittenInStagingTable
attribute. If this attribute is set to true, then do not attempt to populate the associated staging table
yourself because the loader import process overwrites this table.
In the application database, you can you identify a staging table by the following prefix pcst_.
Type Description
all Exposed in Gosu, wherever Gosu is valid, for example, in rules and PCF files
doesNotExist Not exposed in Gosu
If you do not specify a scriptability annotation, then PolicyCenter defaults to a scriptability of all.
IMPORTANT There are subtle differences in how PolicyCenter treats entities and fields marked as
doesNotExist and hidden. However, these differences relate to internal PolicyCenter code. For your
purpose, these two annotations behave in an identical manner, meaning any entity or field that uses
one of these annotations does not show in Gosu code. In general, there is no need for you to use either
one of these annotations.
in Gosu. Within the PolicyCenter data model, you can set the following scriptability annotation on <entity>
objects:
XML root elements and related base PolicyCenter data object types
The base PolicyCenter configuration recognizes a set of XML root elements. These elements match by name a set of
base data object types. All PolicyCenter objects exist as instances of one of the base data object types or as instances
of a subtype of a base object type. The following table lists the XML root elements for the base PolicyCenter data
object types:
<entity> .eti metadata, “<entity> elements and related data object types” on page 177
extensions
<extension> .etx extensions “<extension> elements and related data object types” on page 183
<nonPersistentEntity> .eti metadata, “<nonPersistentEntity> elements and related data object types” on
extensions page 184
<subtype> .eti metadata, “<subtype> elements and related data object types” on page 186
extensions
<viewEntity> .eti metadata “<viewEntity> elements and related data object types” on page 188
<viewEntityExtension> .etx extensions “<viewEntityExtension> elements and related data object types” on
page 190
IMPORTANT There are additional data objects that Guidewire uses for internal purposes. Do not
attempt to create or extend a data entity that is not listed in the previous table.
Related concepts
“<delegate> elements and related data object types” on page 174
Related references
“<entity> elements and related data object types” on page 177
“<extension> elements and related data object types” on page 183
“<nonPersistentEntity> elements and related data object types” on page 184
“<subtype> elements and related data object types” on page 186
“<viewEntity> elements and related data object types” on page 188
“<viewEntityExtension> elements and related data object types” on page 190
Attributes of <delegate>
The <delegate> element contains the following attributes.
Subelements of <delegate>
The <delegate> element contains the following subelements.
174 chapter 15: The PolicyCenter data model
Guidewire PolicyCenter 9.0.6 Configuration Guide
<implementsEntity name="SomeDelegate"/>
For example, in the base configuration, the Group entity implements the Validatable delegate by using the
following:
It is possible for an entity to implement multiple delegates, just as a Gosu or Java class can implement multiple
interfaces.
See also
• “<implementsEntity>” on page 206
• “Creating a new delegate object” on page 234.
• For a discussion of working with delegates in Gosu classes, see the Gosu Reference Guide.
For example, in the base configuration, the Group entity also implements the Retireable delegate by setting the
entity type attribute to retireable.
Also, it is not possible to explicitly implement the EventAware delegate. PolicyCenter automatically adds this
delegate to any entity that contains an <events> element.
<delegate
however, push all methods and behaviors that can possibly be polymorphic into an interface, rather than the Java
superclass. You can then require that all implementers of the delegate implement that interface (the
<implementsEntity>) through the use of the delegate requires attribute. This delegate usage permits the use of
polymorphism and enables delegate implementations to share common implementations on a common superclass.
Attributes of <entity>
The <entity> element contains the following attributes.
final If true, you cannot subtype the entity. If false, you can de‐ true
fine subtypes using this entity as the supertype.
IMPORTANT If you define this incorrectly, PolicyCenter gener‐
ates an error message upon resource verification and the ap‐
plication server refuses to start. PolicyCenter generates this
verification error:
• If you attempt to subtype an entity that is marked as
final that exists in the metadata folder in Guidewire
Studio™.
• If you attempt to subtype an entity that is marked as
final that exists in the extensions folder in Studio.
loadable If true, you can load the entity through staging tables. true
readOnly Optional. The typical use of read‐only entities is for tables of None
reference data that you import as administrative data and
then never touch again.
You can add a read‐only entity only to a bundle that has the
allowReadOnlyBeanChanges() flag set on its commit options.
That means that inserting, modifying or deleting a read‐only
entity requires one of these special bundles.
You cannot set bundle commit options from Gosu. Therefore,
you cannot modify these entities from Gosu, unless some
Gosu‐accessible interface gives you a special bundle. The ad‐
ministrative XML import tools use such a special bundle. How‐
ever, Guidewire uses these tools internally only in the
PolicyCenter product model.
setterScriptability See “Data objects and scriptability” on page 172. None
subpackage Subpackage to which the class corresponding to this entity be‐ None
longs.
table Required. The name of the database table in which None
PolicyCenter stores the data for this entity. PolicyCenter auto‐
matically prefixes table names with pc_ for base entities and
pcx_ for extension entities.
Guidewire recommends the following table naming conven‐
tions:
• Do not begin the table name with any product‐specific
extension.
• Use only unaccented, lowercase Roman letters and the
underscore character.
• Prefix the table name with test_ if you use the table
solely for testing.
• Because PolicyCenter automatically prefixes extension
table names with pcx_, if you run into limits on the length
of the table name, you can consider removing the _Ext
suffix from the table name.
Guidewire enforces the following restrictions on the maxi‐
mum allowable length of the table name:
• loadable="true" — maximum of 25 characters
• loadable="false" — maximum of 26 characters
temporary Internal. If true, then this table is a temporary table that false
PolicyCenter uses only during installation or upgrade.
PolicyCenter deletes all temporary tables after it completes
the installation or the upgrade.
type Required. See “Overview of data entities” on page 165 for a None
discussion of data entity types.
typelistTableName If you create a non‐final entity, then PolicyCenter automatical‐ None
ly creates a typelist to keep track of the subtypes of that enti‐
ty. That typelist has an associated database table. If you do
not specify a value for this attribute, then PolicyCenter uses
the name of the entity as the table name for the subtype
typelist.
IMPORTANT Do not modify internal entity attributes. This instruction applies even in the case of
custom entities.
Subelements of <entity>
The <entity> element contains the following subelements.
monetaryamount Handles monetary amounts. The <monetaryamount> subelement is a compound data type that
stores its values in two separate database columns: a <money> column type, and a typekey to
the Currency typelist.
onetoone See “<onetoone>” on page 209.
remove-index See “<remove‐index>” on page 211.
searchColumn See “<entity> elements and related data object types” on page 177
searchTypekey Defines a search denormalization typekey in the database. The denormalization copies the val‐
ue of a column on another table into a typekey field on the denormalizing table. You must link
the tables through a foreign key. The purpose of this denormalization is to avoid costly joins in
performance critical searches.
tableAugmenter Internal.
typekey See “<typekey>” on page 212.
IMPORTANT Do not modify internal entity subelements even in the case of custom entities.
The <searchColumn> subelement on <entity> defines a search denormalization column in the database. The
denormalization copies the value of a column on another table into a column on the denormalizing table. You must
link the tables through a foreign key. The purpose of this denormalization is to avoid costly joins in performance-
critical searches.
The use of search denormalization columns adds overhead to updates, as does any denormalization. Guidewire
recommends that you only use these columns if there is an identifiable performance problem with a search that is
directly related to the join between the two tables
Note: It is possible to have a <searchColumn> sublement on the <extension> and <subtype>
elements as well.
The <searchColumn> element contains the following attributes.
sourceSubtype Optional name of the particular subtype on which the source column is None
defined. If not specified, then PolicyCenter assumes that the source
column to exist on the entity referred to by the source object. However,
you must specify this value if the sourceColumn is on a subtype of the
entity referred to by sourceForeignKey.
For example, suppose that you set the following attribute definitions:
• searchColumn – MyDenormColumn
• sourceForeignKey – Source
• sourceColumn – SourceField
This declaration says:
Copy the value of SourceField on the object pointed to by the foreign key named Source into the field named
MyDenormColumn. PolicyCenter automatically populates the column as part of bundle commit, staging table load,
and database upgrade.
If you need to denormalize a field on a subtype of the entity referred to by the foreign key, then you can specify the
optional sourceSubtype attribute.
As with linguistic denormalization columns, you cannot access the value of these search denormalization columns in
memory. The value is only available in the database. Thus, you can only access the value through a database query.
It is possible to make a query against a search denormalization column that is a denormalization of a linguistic
denormalization column. In that case, the query generator knows not to wrap the column values in the linguistic
denormalization function. This preserves the optimization that linguistic denormalization columns provide.
It is important to understand that search denormalization columns specify one column only — the column that you
specify with the sourceColumn attribute. So, if you want to denormalize both a column and its linguistic
denormalization, then you need two separate search denormalization columns. However, in this case, you typically
would just want to denormalize the linguistic denormalization column. You would only want to denormalize the
source column if you wanted to support case-sensitive searches on it.
Search denormalization columns can only specify <column> or <typekey> fields.
See also
• For information on how to extend the base data objects, see “Modifying the base data model” on page 225.
Attributes of <extension>
The <extension> element contains the following attributes.
Subelements of <extension>
The <extension> element contains the following subelements.
A major issue with non-persistent entities is that they do not interact well with data bundles. For example, passing a
non-persistent entity instance to a PCF page is generally a bad idea because it generally does not work in the manner
that you expect.
A non-persistent entity instance has to live in a bundle and can only live in one bundle. Therefore, passing it to one
context removes it from the other context. Even worse, it is possible that in passing the non-persistent entity instance
from one context to another, the object loses any nested arrays or links associated with it. Thus, it is possible to lose
parts of the entity graph as the non-persistent entity instance moves around.
In situations where you want the behavior of a non-persistent entity, use a Gosu class instead. For example:
• If you want the behavior of a non-persistent entity in web services, create a Gosu class. Then, expose the class as
a web service. Do not rely on non-persistent entities and entity serialization.
• If you want a field that behaves as a column, specify a data type through the use of annotations. For example, you
could use this technique for nonnegativeinteger column behavior. After specifying the data type, add the
wanted data type behavior to properties on Gosu classes. For information on how to associate data types with
object properties using the annotation syntax, see “Defining a data type for a property” on page 271.
Attributes of <nonPersistentEntity>
final If true, you cannot subtype the entity. If false, you can define subtypes using this true
entity as the supertype.
platform Internal. Do not use. The only real effect is to change the location in which the table false
appears in a data distribution report.
priority The priority of the corresponding subtype key. This value is meaningful only for enti‐ -1
ties participating in a subtype hierarchy, which can be either the <subtype> entities
or the root <entity>.
typelistTableName If you create a non‐final entity, then PolicyCenter automatically creates a typelist to None
keep track of the subtypes of that entity. That typelist has an associated database ta‐
ble. If you do not specify a value for this attribute, then PolicyCenter uses the name
of the entity as the table name for the subtype typelist.
However, PolicyCenter places a restriction of 25 characters on the length of the data‐
base table name. You use this attribute to specify the database table name for the
typelist if an entity name is too long to become a valid typelist table name.
It is not valid to use this attribute with entity types marked as final.
Subelements of <nonPersistentEntity>
The <nonPersistentEntity> element contains the following subelements.
Attributes of <subtype>
The <subtype> element contains the following attributes:
entity Required.
readOnly Optional. The typical use of read‐only entities is for tables of reference data that you import None
as administrative data and then never touch again.
You can add a read‐only entity only to a bundle that has the allowReadOnlyBeanChanges()
flag set on its commit options. That means that inserting, modifying or deleting a read‐only
entity requires one of these special bundles.
You cannot set bundle commit options from Gosu. Therefore, you cannot modify these en‐
tities from Gosu, unless some Gosu‐accessible interface gives you a special bundle. The ad‐
ministrative XML import tools use such a special bundle. However, Guidewire uses these
tools internally only in the PolicyCenter product model.
setterScriptability See “Data objects and scriptability” on page 172 for information. None
supertype Required.
Subelements of <subtype>
The <subtype> element contains the following subelements.
monetaryamount Handles monetary amounts. The <monetaryamount> subelement is a compound data type that
stores its values in two separate database columns: a <money> column type, and a typekey to
the Currency typelist.
onetoone See “<onetoone>” on page 209.
searchColumn See “<entity> elements and related data object types” on page 177.
<?xml version="1.0"?>
<subtype xmlns="http://guidewire.com/datamodel" desc="Professional inspector" displayName="Inspector"
entity="InspectorExt"
supertype="Person">
<column name="InspectorLicenseExt" type="varchar" desc="Inspector's business license number">
<columnParam name="size" value="30"/>
</column>
</subtype>
Notice that while InspectorExt is subtype of Person, Person, itself, is a subtype of Contact. PolicyCenter
automatically adds the new InspectorExt type to the Contact typelist. This is true, even though PolicyCenter
marks the Contact typelist as final.
To see this change:
• In the PolicyCenter Data Dictionary, you must restart the application server.
• In the Contact typelist in Studio, you must restart Studio.
See also
• “Defining a subtype” on page 240
For example, the My Activities page uses a view entity, the ActivityDesktopView, which is a subtype of the
ActivityView.
Because PolicyCenter can export view entity types, it generates SOAP interfaces for them.
Note: If you create or extend a view entity that references a column that is of
type="currencyamount", then you must handle the view entity extension in a particular manner.
Guidewire defines this object in the data model metadata files as the <viewEntity> XML root element.
Attributes of <viewEntity>
final If true, the entity definition is final and you cannot define any subtypes for it. If false, then true
you can define a subtype using this entity as the supertype.
platform Internal. Do not use. The only real effect is to change the location in which the table appears false
in a data distribution report.
primaryEntity Required. The primary entity type for this viewEntity object. The primary entity must be None
keyable. See “Data entities and the application database” on page 169 for information on
keyable entities.
priority For supertypes and subtypes, the priority of the corresponding subtype key. -1
Subelements of <viewEntity>
The Data Dictionary uses the fulldescription subelement. The following example illustrates how to use this
element:
<fulldescription>
<![CDATA[<p>Aggregates the information needed to display one activity row (base entity for all other
activity views).</p>]]>
</fulldescription>
The other subelements all require both a name and path attribute. The following code illustrates this:
Specify the path value relative to the primaryEntity on which you base the view.
The computedcolumn takes a required expression attribute and an additional, optional function attribute. The
following is an example of a computedcolumn:
The expression for this column can take multiple column values ${column_num} passed from the PolicyCenter
interface. For example, a valid expression is ${1} - ${2}, where ${1} represents the first column and ${2}
represents the second column. The function value must be an SQL function that you can apply to this expression.
The following are legal values:
• SUM
• AVG
• COUNT
• MIN
• MAX
Note: If the SQL function aggregates data, PolicyCenter applies an SQL group automatically.
Attributes of <viewEntityExtension>
The <viewEntityExtension> element contains the following attributes:
Subelements of <viewEntityExtension>
The <viewEntityExtension> element contains the following subelements:
Important caution
Guidewire strongly recommends that you not create a view entity extension—viewEntityExtension—that causes
traversals into revisioned (effdated) data. Doing so has the possibility of returning duplicate rows if any
revisioning in the traversal path splits an entity.
Instead, try one of the following:
• Denormalize the desired data onto a non-effdated entity.
• Add domain methods to the implementation of the View entity.
however, the DBA must alter the database with SQL statements run against the database to synchronize the database
with your revised data model.
Guidewire generally recommends against using the deprecated attribute and the two-phase removal process. If you
deprecate a field, Studio signals to the development team that the field is no longer used. The DBA does not receive
this information. Over time, with a number of deprecated fields, the DBA manages an ever larger amount of unused
information in the physical database. To avoid managing unused data, Guidewire strongly recommends that you
keep your physical database and the data model of your application synchronized by dropping unused fields instead
of deprecating them.
<array>
An array defines a set of additional entities of the same type to associate with the main entity. For example, a
Policy entity includes an array of Document entities.
Attributes of <array>
The <array> element contains the following attributes:
ignoreForEvents Determines whether PolicyCenter generates an event if a user modifies the <array> ele‐ false
ment in any way. Such modifications include adding an entity to, changing an entity in, and
removing an entity from the <array> element. If the ignoreForEvents attribute is set to
true, PolicyCenter will not generate an event.
For more information, see ignoreForEvents in “<entity> elements and related data object
types” on page 177.
name Required. The name of the property corresponding to this array. None
owner If true, then this entity owns the objects in the array. The owner attribute has the following false
behavior:
• If true (an owned array), then the method isFieldChanged returns true if a child
element of the array has changed. If false (a non-owned array), then the method
isFieldChanged returns false if a child element of the array has changed. In either
triggersValidation Whether changes to the entity pointed to by this array trigger validation. Changes to the false
array that trigger validation include:
• The addition of an object to the array
• The removal of an object from the array
• The modification of an object in the array
See the discussion on this attribute that follows this table.
If set to true, the triggersValidation attribute can trigger additional PolicyCenter processing. Exactly what
happens depends on several different factors:
• If the parent entity for the array is validatable, then any modification to the array triggers the execution of the
Preupdate and Validation rules on the parent entity. Validation occurs whenever PolicyCenter attempts to commit
a bundle that contains the parent entity. For an entity to be validatable, it must implement the Validatable
delegate.
• If the parent entity has preupdate rules, but no validation rules, then PolicyCenter executes the preupdate rules on
the commit bundle. This is the case only if configuration parameter UseOldStylePreUpdate is set to true,
which is the default. If UseOldStylePreUpdate is set to false, PolicyCenter invokes the IPreUpdateHandler
plugin on the commit bundle instead. Then, PolicyCenter executes the logic defined in the plugin on the commit
bundle.
• If the parent entity has validation rules, but no preupdate rules, then PolicyCenter executes the validation rules on
the commit bundle.
• If the parent entity has neither preupdate nor validation rules then the following occurs:
1. In the case of UseOldStylePreUpdate=true, PolicyCenter does nothing.
2. In the case of UseOldStylePreUpdate=false, PolicyCenter calls the IPreUpdateHandler plugin on the
commit bundle.
Subelements of <array>
The <array> element contains the following subelements:
<column>
The <column> element defines a single-value field in the entity.
Note: For a discussion of <column-override>, see “Working with attribute and element overrides” on
page 231 for details.
Attributes of <column>
The <column> element contains the following attributes:
autoincrement The name of a database sequence used as the source of values for the None
column. This attribute is applicable only for integer columns, and only
for implementations where PolicyCenter relies on the database for the
sequence. Do not use the same sequence in more than one
autoincrement column. There can be at most one autoincrement col‐
umn per table.
columnName Optional. If specified, PolicyCenter uses this value as the column name None
of the corresponding database column. If you do not specify a
columnName value, then PolicyCenter uses the value of the name attrib‐
ute for the database column name.
The columnName attribute must be no more than 30 characters in
length. It allows only unaccented Roman letters, numbers, and the un‐
derscore character. The first character of the columnName attribute
must be a letter. Although the underscore character is allowable here,
Guidewire discourages its use.
ignoreforevents If you change (or add, or remove) an entity X that does not generate false
events, then PolicyCenter searches for all event‐generating entity in‐
stances that specify X. If PolicyCenter finds any of these event‐
generating entity instances, it generates Changed events for those enti‐
ty instances.
To determine what entities reference a non‐event‐generating entity,
PolicyCenter examines the foreign keys and arrays that point to the en‐
tity. However, if you set ignoreForEvents to true on an entity that ref‐
erences the non‐event‐generating entity, then PolicyCenter ignores
that link as it determines what entities specify another entity.
• At the entity level, the ignoreForEvents attribute means changes
to (or addition or removal of) this entity do not cause Changed
events to fire for any other entity.
• At the column level, the ignoreForEvents attribute means changes
to this column do not cause the application to generate events.
loadable If true, you can load the field through staging tables. A staging table true
can contain a column mapping to the field.
loadedByCallback Internal. If true, then the loading code does not use a default value or false
report a warning if the column is nullable without a default.
name Required. The name of the column on the table and the field, or prop‐ None
erty, on the entity. PolicyCenter uses this value as the column name
unless you specify a columnName attribute. Use this name to access the
column in data views, rules, and other areas within PolicyCenter.
IMPORTANT All column names on a table must be unique within that
table. Otherwise, Studio displays an error if you verify the resource and
the application server fails to start.
nullok Whether the column can contain null values. true
soapnullok Unused.
supportsLinguisticSearch Applies only to columns of varchar‐based data types. false
• If true, case insensitive searches can be performed on the
denormalized version of the column.
• If false, searches are binary and cannot be performed on a
denormalized version of the column.
You cannot use this attribute with an encrypted column.
The setting of this attribute does not affect locale or language used in
searches.
See also
• “Including data from subentities” on page 144
• Globalization Guide
type Required. Data type of the column, or field. In the base configuration, None
Guidewire defines a number of data types and stores their metadata
definition files (*.dti) in under configuration→config→datatypes.
Each metadata definition file name is the name of a specific data type.
You use one of these data types as the type attribute on the <column>
element. Thus, the list of valid values for the type attribute is the same
as the set of .dti files in the application datatypes folders.
Each metadata definition also defines the value type for that data type.
The value type determines how PolicyCenter treats that value in mem‐
ory.
The name of the data type is not necessarily the same as the name of
its value type. For example, for the bit data type, the name of the data
type is bit and the corresponding value type is java.lang.Boolean.
Similarly, the data type varchar has a value type of java.lang.String.
The datetime data type is a special case. PolicyCenter persists this data
type in the application database using the database data type
TIMESTAMP. This corresponds to the value type java.util.Date. In
other words:
• PolicyCenter represents a column whose type is datetime in
memory as instances of java.util.Date.
• PolicyCenter stores this type of value in the database as TIMESTAMP.
Note: Guidewire does not support the unlimiteddecimal data type
in a persistent data model configuration.
See also
• “Data types” on page 269
• “Customizing base configuration data types” on page 273
• “Define a new data type” on page 277
Subelements of <column>
The <column> element contains the following subelements:
<columnParam> subelement
You use the <columnParam> element to set parameters that a column type requires. The type attribute of a column
determines which parameters you can set or modify by using the <columnParam> subelement. You can determine the
list of parameters that a column type supports by looking up the type definition in its .dti file.
For example, if you have a mediumtext column, you can determine the valid parameters for that column by
examining file mediumtext.dti. This file indicates that you can modify the following attributes of a mediumtext
column:
• encryption
• logicalSize
• trimwhitespace
• validator
Because you cannot modify the base configuration data type declaration files, you cannot see these files in
Guidewire Studio. To view these files, navigate to the directory modules/configuration/config/datatypes.
The following example, from Account.eti in PolicyCenter, illustrates how to use this subelement to define certain
column parameters.
<?xml version="1.0"?>
<entity xmlns="http://guidewire.com/datamodel"
desc="An account is ..."
entity="Account"
...
table="account"
type="retireable">
...
<column desc="Business and Operations Description."
name="BusOpsDesc"
type="varchar">
<columnParam name="size" value="240"/>
</column>
...
</extension>
Parameter Description
countryProperty Name of a property on the owning entity that returns the country to use for localizing the data
format for this column.
Parameter Description
createSpatialIndex Applies to columns with a spatial point data field. If the createSpatialIndex parameter has
the default value of true in a column of an extension or custom entity, PolicyCenter creates an
index for spatial point data. If the parameter has a value of false, PolicyCenter does not create
such an index. In this case, PolicyCenter avoids creating an index regardless of whether the pa‐
rameter is in a <columnParam> subelement of a <column> element or a <column-override>
element.
currencyProperty Name of a property on the owning entity that returns the currency for this column.
encryption Whether PolicyCenter stores this column in encrypted format. This only applies to text‐based
columns.
Guidewire allows indexes on encrypted columns, or fields. However, because Guidewire stores
encrypted fields as encrypted in the database, you must encrypt the input string and search for
an exact match to it.
exchangeRateProperty Name of a property on the owning entity that returns the exchange rate to use during currency
conversions.
extensionProperty The name of a property on the owning entity whose value contains the phone extension.
logicalSize The size of this field in the PolicyCenter interface. You can use this value for String columns
that do not have a maximum size in the database, such as CLOB objects. If you specify a value
for the size parameter, then the logicalSize value must be less than or equal to the value of
that parameter.
phonecountrycodeProperty The name of a property on the owning entity whose value contains the country with which to
validate and format values.
precision The precision of the field. Precision is the total number of digits in the number. The precision
parameter applies only if the data type of the field allows a precision attribute.
scale The scale of the field. Scale is the number of digits to the right of the decimal point. The scale
parameter applies only if the data type of the field allows a scale attribute.
secondaryAmountProperty Name of a property on the owning entity that returns the secondary amount related to this cur‐
rency amount column.
size Integer size value for columns of type TEXT and VARCHAR. This parameter specifies the maxi‐
mum number of characters, not bytes, that the column can hold.
WARNING The database upgrade utility automatically detects definitions that lengthen or short‐
en a column. For shortened columns, the utility assumes that you wrote a version check or oth‐
erwise verified that the change does not truncate existing column data. For both Oracle and
SQL Server, if shortening a column causes the truncation of data, the ALTER TABLE statement in
the database fails and the upgrade utility fails.
trimwhitespace Applies to text‐based data types. If true, then PolicyCenter automatically removes leading and
trailing white space from the data value.
validator The name of a ValidatorDef in fieldvalidators.xml. See “<ValidatorDef>” on page 285.
See also
• See “Overriding data type attributes” on page 232 for an example of using a nested <columnParam> subelement
within a <column-override> element to set the encryption attribute on a column.
<localization> subelement
For a discussion of the column <localization> element with examples on how to use it, see the Globalization
Guide.
Attributes of <localization>
The <localization> element contains the following attributes:
The PolicyCenter data model 199
Guidewire PolicyCenter 9.0.6 Configuration Guide
<edgeForeignKey>
You use the <edgeForeignKey> element to define a reference to another entity, in a manner similar to the
“<foreignkey>” on page 204 element. However, you use an edge foreign key in place of a standard foreign key to
break a cycle of foreign keys in the data model. Guidewire defines this element in the data model metadata files as
the <edgeForeignKey> XML subelement.
Every time you traverse, or dereference, the edge foreign key, PolicyCenter loads the join array.
• If the array is of size 0, then the value of the edgeForeignKey is null.
• If the array is of size 1, the PolicyCenter follows the ForeignEntityID on the row.
IMPORTANT When you change a foreign key to an edge foreign key, you must write an upgrade
trigger to populate the edge table for existing data. Otherwise, the associative edge table will remain
empty even upon a database upgrade. Moreover, when you reference the edge foreign key, you will
receive a null value.
See also
• “The PolicyCenter archive domain graph” on page 311
Attributes of <edgeForeignKey>
The <edgeForeignKey> element contains the following attributes.
fkentity Required. The entity to which this foreign key points. None
getterScriptability See “Data objects and scriptability” on page 172 for information. all
ignoreforevents If you change (or add, or remove) an entity X that does not generate events, false
then PolicyCenter searches for all event‐generating entity instances that speci‐
fy X. If PolicyCenter finds any of these event‐generating entity instances, it
generates Changed events for those entity instances.
To determine what entities reference a non‐event‐generating entity,
PolicyCenter examines the foreign keys and arrays that point to the entity.
However, if you set ignoreForEvents to true on an entity that references the
non‐event‐generating entity, then PolicyCenter ignores that link as it deter‐
mines what entities specify another entity.
• At the entity level, the ignoreForEvents attribute means changes to (or
addition or removal of) this entity do not cause Changed events to fire for
any other entity.
• At the column level, the ignoreForEvents attribute means changes to this
column do not cause the application to generate events.
importableagainstexistingobject If true and the entity is importable, or loadable, then the value in the staging true
table can be a reference to an existing object. This reference is the publicID
of a row in the source table for the referenced object.
loadable If true, then PolicyCenter creates a staging table for the edge table. false
loadedByCallback Internal. If true, then the loading code does not use a default value or report a false
warning if the column is nullable without a default.
name Required. Specifies the name of the property on the entity. None
nullok Whether the column can contain null values. This value is meaningless for true
edgeForeignKey objects.
soapnullok Unused.
Subelements of <edgeForeignKey>
<edgeForeignKey> subelement Attributes Description
fulldescription None See “<fulldescription>” on page 206.
tag None See “<tag>” on page 212.
<events>
If the <events> element appears within an entity, that entity and its descendant entities raise events. The names of
the standard events are XXAdded, XXChanged, and XXRemoved, where XX is the name of the entity declaring the
<events> element. A subtype or descendant of an event-aware entity can override the names of the standard events
by declaring its own <events> element. The descendant can also add additional events.
If the <events> element does not appear in an entity or any of its ancestors, that entity does not raise any events.
Note: This element is not valid for a nonPersistentEntity.
Guidewire defines this element in the data model metadata files as the <events> XML subelement. There can be at
most one <events> element in an entity. However, you can specify additional events through the use of <event>
subelements. For example:
<events>
<event>
...
</events>
Note: PolicyCenter automatically adds the EventAware delegate to any entity that contains the
<events> element. This addition makes such an entity aware of events that it raises and that other
entities raise.
Attributes of <events>
There are no attributes on the <events> element.
Subelements of <events>
The <events> element contains the following subelements.
<foreignkey>
The <foreignkey> element defines a foreign key reference to another entity.
Attributes of <foreignkey>
The <foreignkey> element contains the following attributes.
createbackingindex If true, the database automatically creates a backing index on the foreign key. true
If set to false, the database does not create a backing index.
createhistogram Whether to create a histogram on the column during an update to the data‐ false
base statistics.
Note: It is possible to override this attribute on an existing column in an ex‐
tension (*.etx) file using the <column-override> element. You can use the
override to turn off an existing histogram or to create one that did not previ‐
ously exist.
This change does not take effect during an upgrade. The change occurs only if
you regenerate statistics for the affected table by using the Guidewire
maintenance_tools command.
See also
• “Working with attribute and element overrides” on page 231
ignoreforevents If you change (or add, or remove) an entity X that does not generate events, false
then PolicyCenter searches for all event‐generating entity instances that speci‐
fy X. If PolicyCenter finds any of these event‐generating entity instances, it
generates Changed events for those entity instances.
To determine what entities reference a non‐event‐generating entity,
PolicyCenter examines the foreign keys and arrays that point to the entity.
However, if you set ignoreForEvents to true on an entity that references the
non‐event‐generating entity, then PolicyCenter ignores that link as it deter‐
mines what entities specify another entity.
• At the entity level, the ignoreForEvents attribute means changes to (or
addition or removal of) this entity do not cause Changed events to fire for
any other entity.
• At the column level, the ignoreForEvents attribute means changes to this
column do not cause the application to generate events.
importableagainstexistingobject If true and the entity is importable (loadable), then the value in the staging true
table can be a reference to an existing object. (This is the publicID of a row in
the source table for the referenced object.)
includeIdInIndex If true, then include the ID as the last column in the backing index for the for‐ false
eign key.
This is useful if the access pattern in one or more important queries is to join
to this table through the foreign key. You can then use the ID to probe into a
referencing table. The only columns that you need to access from the table
are this foreign key, and the retired and ID columns.
In that case, adding the ID column to the index creates a covering index and
eliminates the need to access the table.
loadable If true, you can load the field through staging tables. A staging table can con‐ true
tain a column for the public ID of the referenced entity.
loadedByCallback Internal. If true, then the loading code does not use a default value or report a false
warning if the column is nullable without a default.
name Required. Specifies the name of the property on the entity. None
nonEffDated Internal. This applies only to a foreign key that points to an effdated entity. If false
a foreign key points to an effdated entity and this attribute is true, then
PolicyCenter creates a real foreign key between the source and target entities.
overwrittenInStagingTable Internal. If true (and the table is loadable), it indicates that the loader process false
auto‐populates the staging table during import.
IMPORTANT If set to true, do not attempt to populate the table yourself be‐
cause the loader import process overwrites this table.
required Whether the foreign key is required to be non‐null upon initial construction of false
instances of the entity. See the Gosu Reference Guide.
setterScriptability See “Data objects and scriptability” on page 172 for information. all
soapnullok Unused.
triggersValidation Whether changes to the entity referred to by this foreign key trigger valida‐ false
tion.
Subelements of <foreignkey>
The <foreignkey> element contains the following subelements.
<fulldescription>
PolicyCenter uses the fulldescription subelement to populate the Data Dictionary. For example:
<fulldescription>
<![CDATA[<p>Aggregates the information needed to display one activity row
(base entity for all other activity views).</p>]]>
</fulldescription>
<implementsEntity>
The <implementsEntity> subelement specifies that an entity implements the specified delegate. Guidewire calls an
entity an implementor of a delegate if the entity specifies the delegate in a <implementsEntity> subelement.
IMPORTANT Do not change the delegate that a Guidewire base entity implements by creating an
extension entity that includes an “<implementsEntity>” on page 206 subelement. PolicyCenter
generates an error if you do.
If a delegate definition includes the optional requires attribute, then the implementor must provide an adapter
attribute on its <implementsEntity> subelement. The adapter attribute specifies the name of a Java or Gosu type
that implements the interface that the delegate definition specifies in its own requires attribute.
For example, the PolicyCenter base configuration defines a Cost delegate as follows:
<?xml version="1.0"?>
<delegate ... name="Cost" requires="gw.api.domain.financials.CostAdapter">
...
</delegate>
The base configuration defines a BACost entity that includes an <implementsEntity> subelement, which specifies
delegate with name="Cost". Therefore, the BACost entity is an implementor of the Cost delegate.
<?xml version="1.0"?>
<entity ... entity="BACost" ... >
...
<implementsEntity name="Cost" adapter="gw.lob.ba.financials.BACostAdapter" />
...
</entity>
The Cost delegate requires an implementation of the CostAdapter interface. So in its adapter attribute, the BACost
entity specifies a BACostAdapter class, which implements the CostAdapter interface that the Cost adapter specifies
in its requires attribute. The following diagram illustrates the relationship between the Cost delegate and the
BACostAdapter adapter class:
Cost CostAdapter
Delegate Interface
BACost BACostAdapter
Delegate Entity Interface
Implementor / Implementor
Indirect Interface
Implementor
Entities that are part of the archive domain graph must implement the Extractable delegate. For example, if you
create a custom subtype of Contact, then the custom subtype must implement the Extractable delegate.
If you add an edge foreign key to an entity that is part of the archive domain graph, set the extractable attribute on
the edge foreign key to true. The value true causes PolicyCenter to add the Extractable delegate to the
associative table generated for the edge foreign key.
Attributes of <implementsEntity>
Subelements of <implementsEntity>
<implementsInterface>
The <implementsInterface> subelement specifies that an entity implements the specified interface. This element
defines two attributes: an interface (iface) attribute and an implementation (impl) attribute.
For example, the PolicyCenter base configuration defines the BACost entity with the following
<implementsInterface> subelement:
The BACostMethods interface has getter methods that any class that implements this interface must provide. The
getter methods are coverage, state, and vehicle. By including the <implementsInterface> subelement, the BACost
entity lets you use getter methods on instances of the BACost entity in Gosu code.
Attributes of <implementsInterface>
iface Required. The name of the interface that this data object must implement.
impl The name of the class or subclass that implements the specified interface, if any. Valid
only when declared on abstract entities or delegates.
Subelements on <implementsInterface>
<index>
The <index> element defines an index on the database table used to store the data for an entity. Guidewire defines
this element in the data model metadata files as the <index> XML subelement. This element contains a required
subelement, which is <indexcol>.
The <index> element instructs PolicyCenter to create an index on the physical database table. This index is in
addition to those indexes that PolicyCenter creates automatically.
An index improves the performance of a query search within the database. It consists of one or more fields that you
can use together in a single search. You can define multiple <index> elements within an entity, with each one
defining a separate index. If a field is already part of one index, you do not need to define a separate index
containing only that field.
For example, PolicyCenter frequently searches non-retired accounts for one with a particular account number.
Therefore, the Account entity defines an index containing both the Retired and AccountNumber fields. However,
another common search uses just AccountNumber. Since that field is already part of another index, a separate index
containing only AccountNumber is unnecessary.
A column used in an index cannot have a length of more than 1000 characters.
IMPORTANT In general, the use of a database index has the possibility of reducing update
performance. Guidewire recommends that you add a database index with caution. In particular, do not
attempt to add an index on a column of type CLOB or BLOB. If you do so, PolicyCenter generates an
error message upon resource verification.
Attributes of <index>
The <index> element contains the following attributes.
unique Whether the values of the index are unique for each row. false
verifyInLoader If true, then PolicyCenter runs an integrity check for unique indexes before loading data true
from the staging tables.
Subelements of <index>
The <index> element contains the following subelements.
<onetoone>
The <onetoone> element defines a single-valued association to another entity that has a one-to-one cardinality.
Guidewire defines this element in the data model metadata files as the <onetoone> XML subelement. A one-to-one
The PolicyCenter data model 209
Guidewire PolicyCenter 9.0.6 Configuration Guide
element functions in a similar manner to a foreign key in that it makes a reference to another entity. However, its
purpose is to provide a reverse pointer to an entity or object that is pointing at the <onetoone> entity, through the
use of a foreign key.
For example, entity A has a foreign key to entity B. You can associate an instance of B with at most one instance of
A. Perhaps, there is a unique index on the foreign key column. This then defines a one-to-one relationship between
A and B. You can then declare the <onetoone> element on B, to provide simple access to the associated A. In
essence, using a one-to-one element creates an array-of-one, with, at most, one element. Zero elements are also
possible.
Note: PolicyCenter labels one-to-one elements in the Guidewire Data Dictionary as foreign keys. You
access these elements in Gosu code in the same manner as you access foreign keys.
Attributes of <onetoone>
The <onetoone> element contains the following attributes.
ignoreForEvents If the ignoreForEvents attribute is false, PolicyCenter regards the <onetoone> element false
as being present when generating events. In this case, the product does not generate
events for the entity to which the fkentity attribute points.
If the ignoreForEvents attribute is true, PolicyCenter ignores the presence of the
<onetoone> element when generating events. This behavior results in PolicyCenter gener‐
ating events for the entity to which the fkentity attribute points.
IMPORTANT Do not confuse the definition of the ignoreForEvents attribute for the
<onetoone> element with the definition of the attribute of the same namesake in
<entity> and <array> elements. Although they share the same name, the two
ignoreForEvents attributes are near opposites in effect.
linkField Optional. Specifies the foreign key field that points back to this object. None
name Required. Specifies the name property on the entity. None
nullok Whether the field can contain null values. true
owner If true, this entity owns the linked object (the object to which the <onetoone> element false
points):
• If you delete the owning object, then PolicyCenter deletes the linked object as well.
• If you update the object pointed to by the <onetoone> element, then PolicyCenter
considers the owning object updated as well.
setterScriptability See “Data objects and scriptability” on page 172 for information. all
triggersValidation Whether changes to the entity pointed to by this entity trigger validation. false
Subelements of <onetoone>
The <onetoone> element contains the following subelements.
210 chapter 15: The PolicyCenter data model
Guidewire PolicyCenter 9.0.6 Configuration Guide
<remove‐index>
The <remove-index> element defines the name of a database index that you want to remove from the data model. It
is valid for use with the following data model elements:
• <entity>
• <extension>
You can use this element to safely remove a non-primary key index if it is one of the following:
• non-unique
• unique and contains an ID column
Guidewire performs metadata validation to ensure that the <remove-index> element removes only those indexes
that fall into one of these categories.
Note: Adding, removing, or changing indexes results in changes to server performance. Before
making modifications to indexes, consult with your database administrator or Guidewire
representative. Include performance testing in your modification plan.
Note: The <remove-index> element does not remove spatial point indexes. To remove a spatial point
index for an extension entity, override a spatial point <column> element with a createSpatialIndex
parameter having a value of false.
See “Overriding data type attributes” on page 232 for an example of using a nested <columnParam>
subelement within a <column-override> element to set an attribute on a column. Use the same
pattern to set the createSpatialIndex parameter to false and to remove a spatial point index for an
extension entity. See also “<columnParam> subelement” on page 198 for a description of the
createSpatialIndex parameter.
<index desc="Covering index to speed up checking-out of work items and they involve search on status"
name="WorkItemIndex2" unique="true">
<indexcol keyposition="1" name="status"/>
<indexcol keyposition="2" name="Priority" sortascending="false"/>
<indexcol keyposition="3" name="CreationTime"/>
<indexcol keyposition="4" name="ID"/>
</index>
Although the unique attribute is set to true, you can safely remove this index because the index definition contains
an ID column; in this example, keyposition="4".
Attributes of <remove‐index>
The <remove-index> element contains the following attributes.
The PolicyCenter data model 211
Guidewire PolicyCenter 9.0.6 Configuration Guide
Modifying an index
In many cases, you want to modify an existing database index. In that case, use the <remove-index> element to
remove the index, and then add a new index with the same name that contains the desired characteristics.
<tag>
The <tag> element defines a data model annotation. This allows you to define your own metadata to add to the data
model.
The file PolicyCenter/modules/configuration/config/metadata/tags.lst specifies the list of valid tags that
you can use. To add a new tag, edit this file, and then add the tag name on a new line.
At most one of each tag can exist on a field at one time. Extensions can add, but not override, tags on existing fields.
To retrieve this data at run time, use the DatamodelTags property on IEntityPropertyInfo, the metadata object for
entity properties. For example:
// On the entity info metadata, get the metadata for the properties on this entity.
// This type is an iterator of objects of type IEntityPropertyInfo.
var props = User.Type.EntityProperties
// Get the data model tags, which has the type java.util.Map
var myTags = theProp.DatamodelTags
Attributes of <tag>
One of the common uses for the <tag> subelement is adding the element to a foreign key to assist in resolving
certain archive domain graph issues. See “Defining a cross-domain tag” on page 329 for details.
<typekey>
The <typekey> element defines a field for which a typelist defines the values. Guidewire defines this element in the
data model metadata files as the <typekey> XML subelement.
Note: For information on typelists, typekeys, and keyfilters, see “Working with typelists” on page
289.
Attributes of <typekey>
overwrittenInStagingTable Internal. If true and the typekey is loadable, the loader process auto‐populates the false
typekey in the staging table during import.
IMPORTANT If set to true, do not attempt to populate the typekey yourself because
the loader import process overwrites this typekey.
required Whether the typekey is required to be non‐null upon initial construction of instances false
of the entity. See the Gosu Reference Guide.
setterScriptability See “Data objects and scriptability” on page 172 for information. None
soapnullok Unused.
typefilter The name of a filter associated with the typelist. See “Static filters” on page 300 for None
additional information.
typelist Required. The name of the typelist from which this field gets its value. None
See also
• “Working with typelists” on page 289.
Subelements of <typekey>
The <typekey> element contains the following subelements.
Subelements of <keyfilters>
The <keyfilters> element contains the following subelements.
This topic describes the different types of associative arrays that Guidewire provides as part of the base data model
configuration.
Related concepts
telephonebook[peter] = 555-123-1234
telephonebook[shelly] = 555-234-2345
...
Note: When you modify an array such that it is an associative array, the array continues to exhibit its
original properties as an indexed array. You can use an associative array just as you would an indexed
array. For example, you can use an associative array in for loops.
PolicyCenter uses associate arrays to expose array values as a type-safe map within Gosu code. The following
example uses a typekey from a State typelist as a mapping index for an associative array of state capitals:
Capital[State.TC_AK] Juneau
Capital[State.TC_AZ] Phoenix
To implement an associative array, add one of the following elements to an <array> element in the data type
definition file. The number of results that each returns—the cardinality of the result set—depends on the element
type.
<link-association> Returns at most one element. The return type is an object of the type of the array.
<array-association> Returns an array of results that match the value. The number of results can be zero, one, or more.
Each <array> element in a data type definition file can have zero or one of each of these elements.
As an example, in the ClaimCenter Claim definition file (configuration→config→Metadata→Entity→Claim.eti), you see
the following XML (simplified for clarity):
<entity xmlns="http://guidewire.com/datamodel"
entity="Claim"
table="claim"
type="retireable">
...
<array arrayentity="ClaimMetric"
desc="Metrics related to this claim."
exportable="false"
ignoreforevents="true"
name="ClaimMetrics"
triggersValidation="false">
<link-association>
<subtype-map/>
</link-association>
<array-association>
<typelist-map field="ClaimMetricCategory"/>
</array-association>
</array>
...
</entity>
See also
• “Subtype mapping associative arrays” on page 217.
• “Typelist mapping associative arrays” on page 219.
See also
• “Data objects and scriptability” on page 172.
• You can set array values only on fields that are database-backed fields, not on fields that are derived properties.
To determine which fields are derived, consult the PolicyCenter Data Dictionary.
See also
• Gosu Reference Guide
<entity xmlns="http://guidewire.com/datamodel"
entity="Policy"
table="policy"
type="retireable">
...
<array arrayentity="Job"
desc="Types of jobs pertaining to a policy."
exportable="false"
ignoreforevents="true"
name="JobTypes">
<link-association>
<subtype-map/>
</link-association>
</array>
...
</entity>
The JobTypes array contains a number of objects. Each of these objects is a subtype of a Job object. The data model
defines the associative array using the <link-association> element. A link association returns at most one
element. The return type is an object of the type of the array. In this case, the return type is an object of type Job or,
more specifically, one of its subtypes.
Working with associative arrays 217
Guidewire PolicyCenter 9.0.6 Configuration Guide
The Pol