0% found this document useful (0 votes)
1K views674 pages

Config PDF

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
1K views674 pages

Config PDF

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 674

ClaimCenter Configuration

Guide
Release 6.0.8
Copyright © 2001-2013 Guidewire Software, Inc. All rights reserved.
Guidewire, Guidewire Software, Guidewire ClaimCenter, Guidewire PolicyCenter, Guidewire BillingCenter,
Guidewire Reinsurance Management, Guidewire ContactManager, Guidewire Vendor Data Management,
Guidewire Client Data Management, Guidewire Rating Management, Guidewire InsuranceSuite, Guidewire
ContactCenter, Guidewire Studio, Guidewire Live, Gosu, Deliver Insurance Your Way, and the Guidewire logo
are trademarks, service marks, or registered trademarks of Guidewire Software, Inc. in the United States and/or
other countries.
This product includes information that is proprietary to Insurance Services Office, Inc (ISO). Where ISO par-
ticipation is a prerequisite for use of the ISO product, use of the ISO product is limited to those jurisdictions
and for those lines of insurance and services for which such customer is licensed by ISO.
This material is Guidewire proprietary and confidential. The contents of this material, including product
architecture details and APIs, are considered confidential and are fully protected by customer licensing confi-
dentiality agreements and signed Non-Disclosure Agreements (NDAs).
Guidewire products are protected by one or more United States patents.
This product includes software developed by the Apache Software Foundation (http://www.apache.org).

Product Name: Guidewire ClaimCenter


Product Release: 6.0.8
Document Name: ClaimCenter Configuration Guide
Document Revision: 05-February-2013
ClaimCenter 6.0.8 Configuration Guide

Contents
About This Document. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Assumed Knowledge . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Related Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Conventions In This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

Part I
ClaimCenter Configuration Basics
1 Overview of ClaimCenter Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
What You Can Configure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
How You Configure ClaimCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Types of Application Environments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
The Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
The Production Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Deploying Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Deploying Changes in a Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Deploying Changes to the Production Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Regenerating the Data Dictionary and Security Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Managing Configuration Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Configuration Topics in This and Other Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
2 Application Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Working with Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Accessing Configuration Parameters in Gosu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Configuration Parameter Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Adding Custom MIME Types. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Approval Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
BulkInvoiceApprovalPattern. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
PaymentApprovalPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
RecoveryApprovalPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
RecoveryReserveApprovalPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
ReserveApprovalPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Archive Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
ArchiveEnabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
AssignClaimToRetriever . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
DaysClosedBeforeArchive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
DaysRetrievedBeforeArchive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
RestorePattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
SnapshotEncryptionUpgradeChunkSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Assignment Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
AssignmentQueuesEnabled. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Batch Process Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
BatchProcessHistoryPurgeDaysOld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
BatchServer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

Contents 3
ClaimCenter 6.0.8 Configuration Guide

Business Calendar Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41


BusinessDayDemarcation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
BusinessDayEnd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
BusinessDayStart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
BusinessWeekEnd. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
HolidayList (Obsolete) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
IsFridayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
IsMondayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
IsSaturdayBusinessDay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
IsSundayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
IsThursdayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
IsTuesdayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
IsWednesdayBusinessDay . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Cache Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
CacheActive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
ExchangeRatesCacheRefreshIntervalSecs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
GlobalCacheActiveTimeMinutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
GlobalCacheReapingTimeMinutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
GlobalCacheSizeMegabytes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
GlobalCacheSizePercent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
GlobalCacheStaleTimeMinutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
GlobalCacheStatsRetentionPeriodDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
GlobalCacheStatsWindowMinutes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
GroupCacheRefreshIntervalSecs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
ScriptParametersRefreshIntervalSecs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
TreeViewRefresh . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
ZoneCacheRefreshIntervalSecs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Claim Catastrophe Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
MaxCatastropheClaimFinderSearchResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Claim Health Indicator and Metric Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
ClaimHealthCalcMaxLossDateInYears . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
InitialReserveAllowedPeriod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
MaxClaimResultsPerClaimHealthCalcBatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
Clustering Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
ClusteringEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
ClusterMulticastAddress . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
ClusterMulticastPort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
ClusterMulticastTTL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
ClusterProtocolStackOption1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
ClusterProtocolStackOption2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
ClusterProtocolStack. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
ConfigVerificationEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
PDFMergeHandlerLicenseKey . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Database Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
QueryRewriteForClaimSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Deduction Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
BackupWithholdingTypeCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
CalculateBackupWithholdingDeduction. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
StandardWithholdingRate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

4 Contents
ClaimCenter 6.0.8 Configuration Guide

Document Creation and Document Management Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49


AllowActiveX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
AllowActiveXAutoInstall . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
DisplayDocumentEditUploadButtons. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
DocumentContentDispositionMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
DocumentTemplateDescriptorXSDLocation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
MaximumFileUploadSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
ReCallDocumentContentSourceAfterRollback . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
UseDocumentNameAsFileName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51
UseGuidewireActiveXControlToDisplayDocuments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Domain Graph Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
DomainGraphKnownLinksWithIssues . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
DomainGraphKnownUnreachableTables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Environment Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
AddressVerificationFailureAsError . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
BucketSizeForHistogramsOnAllIndexedColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
CollectHistogramsOnAllIndexedColumns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
CurrentEncryptionPlugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
DefaultApplicationLocale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
DefaultCountryCode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
DeprecatedEventGeneration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
DiscardQueryPlansDuringStatsUpdateBatch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
EnableAddressVerification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
EnableInternalDebugTools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
EntityValidationOrder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
KeyGeneratorRangeSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
MemoryUsageMonitorIntervalMins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
PublicIDPrefix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
ResourcesMutable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
RetainDebugInfo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
StrictDataTypes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
TwoDigitYearThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
UnreachableCodeDetection. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
UnrestrictedUserName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
UseOldStylePreUpdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
WarnOnInplicitCoercion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
WebResourcesDir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
Financial Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
AllowMultipleLineItems. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
AllowMultiplePayments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
AllowNegativeManualChecks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
AllowNoPriorPaymentSupplement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
AllowPaymentsExceedReservesLimits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
CheckAuthorityLimits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
CloseClaimAfterFinalPayment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
CloseExposureAfterFinalPayment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
DefaultApplicationCurrency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
EnablePreSetupRulesInCheckCreator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Financials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
MultiCurrencyDisplayMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
PaymentLogThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
SetReservesByTotalIncurred. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
UseDeductibleHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
UseRecoveryReserves. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59

Contents 5
ClaimCenter 6.0.8 Configuration Guide

Geocoding-related Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
ProximityRadiusSearchDefaultMaxResultCount . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
ProximitySearchOrdinalMaxDistance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
UseGeocodingInAddressBook . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
UseGeocodingInPrimaryApp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
UseMetricDistancesByDefault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Integration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
ContactAutoSyncWorkItemChunkSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
EnableMetroIntegration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
InstantaneousContactAutoSync . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
ISOPropertiesFileName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
KeepCompletedMessagesForDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
LockPrimaryEntityDuringMessageHandling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
MetroPropertiesFileName . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
PolicySystemURL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
UseSafeBundleForWebServicesOperations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Miscellaneous Bulk Invoice Activity Pattern Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
BulkInvoiceItemValidationFailedPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
BulkInvoiceUnableToStopPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
BulkInvoiceUnableToVoidPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62
Miscellaneous Financial Activity Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
CheckDeniedPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
CheckUnableToStopPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
CheckUnableToVoidPattern . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
LastPaymentReminderPattern. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
RecoveryDeniedPattern. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
Miscellaneous Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
AllowBulkInvoiceItemsToHaveNegativeAmounts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
AllowSoapWebServiceNamespaceCollisions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
EnableClaimNumberGeneration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
EnableClaimSnapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
EnableStatCoding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
LegacyExternalEntityArraySupport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
ListViewPageSizeDefault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
MaintainPolicyValidationLevelOnPolicyChange. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
MaxCachedClaimSnapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
MaxStatCodesInDropdown. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
ProfilerDataPurgeDaysOld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
StyleReportURL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

6 Contents
ClaimCenter 6.0.8 Configuration Guide

PDF Print Settings Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65


DefaultContentDispositionMode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
PrintFontFamilyName. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
PrintFontSize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
PrintFOPUserConfigFile. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
PrintHeaderFontSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
PrintLineHeight. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
PrintListViewBlockSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
PrintListViewFontSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
PrintMarginBottom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
PrintMarginLeft . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
PrintMarginRight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
PrintMarginTop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
PrintMaxPDFInputFileSize. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
PrintPageHeight . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
PrintPageWidth . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
Scheduler and Workflow Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
IdleClaimThresholdDays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
SchedulerEnabled . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
SeparateIdleClaimExceptionMonitor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
WorkflowLogPurgeDaysOld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
WorkflowPurgeDaysOld. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
WorkflowStatsIntervalMins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Search Parameters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
DisableCBQTForClaimSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
DisableCBQTForTeamGroupActivities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
DisableHashJoinForClaimSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
DisableHashJoinForProximitySearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
DisableIndexFastFullScanForClaimSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
DisableIndexFastFullScanForProximitySearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
DisableIndexFastFullScanForRecoverySearch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
DisableIndexFastFullScanForTeamGroupActivities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
DisableSortMergeJoinForClaimSearch. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
DisableSortMergeJoinForTeamGroupActivities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
MaxActivitySearchResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
MaxBulkInvoiceSearchResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
MaxCheckSearchResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
MaxClaimSearchResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
MaxContactSearchResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
MaxDocTemplateSearchResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
MaxDuplicateContactSearchResults. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
MaxNoteSearchResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
MaxPolicySearchResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
MaxRecoverySearchResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
SetSemiJoinNestedLoopsForClaimSearch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Contents 7
ClaimCenter 6.0.8 Configuration Guide

Security Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
EnableDownlinePermissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
FailedAttemptsBeforeLockout . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
LockoutPeriod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
LoginRetryDelay. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
MaxACLParameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
MaxPasswordLength. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72
MinPasswordLength . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
RestrictContactPotentialMatchToPermittedItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
RestrictSearchesToPermittedItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
ShouldSynchUserRolesInLDAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
UseACLPermissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
Segmentation Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
ClaimSegment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
ClaimStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
ExposureSegment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73
ExposureStrategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Spellcheck Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
CheckSpellingOnChange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
CheckSpellingOnDemand. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
Statistics, Team, and Dashboard Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
AgingStatsFirstDivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
AgingStatsSecondDivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
AgingStatsThirdDivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
CalculateLitigatedClaimAgingStats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
DashboardIncurredLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
DashboardShowByCoverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
DashboardShowByLineOrLoss. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
DashboardWindowPeriod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
GroupSummaryShowUserGlobalWorkloadStats . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
UserStatisticsWindowSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75

8 Contents
ClaimCenter 6.0.8 Configuration Guide

User Interface Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75


ActionsShortcut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
AutoCompleteLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
EnableClaimantCoverageUniquenessConstraint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
HidePolicyObjectsWithNoCoveragesForLossTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
HighlyLinkedContactThreshold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
IgnorePolicyTotalPropertiesValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
IgnorePolicyTotalVehiclesValue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
InputHelpTextOnFocus. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
InputHelpTextOnMouseOver . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
InputMaskPlaceholderCharacter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
ListViewPageSizeDefault . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
MaxBrowserHistoryItems (Obsolete) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
MaxChooseByCoverageMenuItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
MaxChooseByCoverageTypeMenuItems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
MaxClaimantsInClaimListViews . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
MaxTeamSummaryChartUserBars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
QuickJumpShortcut. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
RequestReopenExplanationForTypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
ShowCurrentPolicyNumberInSelectPolicyDialog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
ShowFixedExposuresInLossDetails . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
ShowNewExposureChooseByCoverageMenuForLossTypes. . . . . . . . . . . . . . . . . . . . . . . . . . 78
ShowNewExposureChooseByCoverageTypeMenuForLossTypes. . . . . . . . . . . . . . . . . . . . . . 78
ShowNewExposureMenuForLossTypes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
UISkin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
WizardNextShortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
WizardPrevShortcut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
WizardPrevNextButtonsVisible . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
Work Queue Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
InstrumentedWorkerInfoPurgeDaysOld . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
WorkItemCreationBatchSize . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
WorkItemRetryLimit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 79
WorkQueueHistoryMaxDownload . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80

Part II
The Guidewire Development Environment
3 Working with Guidewire Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
What Is Guidewire Studio?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Starting Guidewire Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Restarting Studio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
The Studio Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
Working with the QuickStart Development Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 86
Connecting the Development Server to a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
Deploying Your Configuration Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
ClaimCenter Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
How ClaimCenter Interprets Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Key Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Studio File Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
Recovering from Incorrect Data Model Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
ClaimCenter Resources Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Configuring Diagnostic Logging in Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90
Configuring Guidewire Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Contents 9
ClaimCenter 6.0.8 Configuration Guide

Linking Studio to a SCM System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91


Configuring Version Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
Setting File Update and Deletion Parameters (General Settings Tab) . . . . . . . . . . . . . . . . . . . 96
Setting Font Display Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
Setting Code Completion Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
Setting Server Default Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Restarting the Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
Configuring External Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Associating an External Editor to a File Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Working with an External XML Tool. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Configuring the External Difference Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Setting the Studio Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
4 ClaimCenter Studio and Gosu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Gosu Building Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
Gosu Case Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
Working with Gosu in ClaimCenter Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Gosu Packages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
Gosu Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107
ClaimCenter Base Configuration Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Class Visibility in Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Preloading Gosu Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
Gosu Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110
The Guidewire XML Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Script Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111
Working with Script Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
Referencing a Script Parameter in Gosu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5 Getting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Using the Studio Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115
Using the Studio Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 116
Using the Toolbar Icons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117
Using the Right-Click Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Managing Windows and Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118
Working with Studio Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Validating Studio Resources . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6 Working in Guidewire Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
Entering Valid Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123
The Code Menu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
Using Dot Completion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125
Using SmartHelp. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Accessing the Gosu API Reference . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Accessing the PCF Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Accessing the Gosu Reference Guide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127
Using Studio Keyboard Shortcuts. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128
Gosu Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
PCF Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Viewing Keyboard Shortcuts in ClaimCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133
Using Text Editing Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Navigating Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Refactoring Gosu Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134
Renaming a Gosu Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Moving a Gosu Resource . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135
Saving Your Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136

10 Contents
ClaimCenter 6.0.8 Configuration Guide

Part III
Guidewire Studio Editors
7 Using the Studio Editors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Editing in Guidewire Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139
Working in the Gosu Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140
8 Using the Plugins Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
What Are Plugins? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Plugin Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141
Startable Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142
Working with Plugins . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
Customizing Plugin Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
9 Working with Web Services . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
What Are Web Services? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Using the Web Services Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Creating a New Web Service Proxy Endpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148
10 Implementing QuickJump Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
What Is QuickJump?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149
Adding a QuickJump Navigation Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Implementing QuickJumpCommandRef Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 150
Implementing StaticNavigationCommandRef Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . 152
Implementing ContextualNavigationCommandRef Commands . . . . . . . . . . . . . . . . . . . . . . 152
Checking Permissions on QuickJump Navigation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . 152
11 Using the Entity Names Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
The Entity Names Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155
The Variable Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
The Entity Path Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
The Use Entity Names? Column . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 156
The Sort Columns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
The Gosu Text Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157
Including Data from Subentities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Entity Name Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159
12 Using the Messaging Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
The Messaging Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Adding a Message Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161
Adding a Message Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162
Associating Event Names with a Message Destination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
Working with Email Attachments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164
13 Using the Rules Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Working with Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Renaming or Deleting a Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169
Using Find-and-Replace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170
Changing the Root Entity of a Rule . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171
Why Change a Root Entity? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172
Validating Rules and Gosu Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
Making a Rule Active or Inactive. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173
14 Using the Display Keys Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
The Display Keys Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Creating Display Keys in a Gosu Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Retrieving the Value of a Display Key . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176

Contents 11
ClaimCenter 6.0.8 Configuration Guide

Part IV
Data Model Configuration
15 Working with the Data Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
What is the Data Dictionary? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181
What Can You View in the Data Dictionary? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
Using the Data Dictionary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Object Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Entity Subtypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Data Column and Field Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Virtual Properties on Data Entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
16 The ClaimCenter Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
What Is the Data Model? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
The Data Model in Guidewire Application Architecture . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
The Base Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Using Dot Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188
Overview of Data Entities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Data Object Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Working with Data Object Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
ClaimCenter Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192
Data Objects and the Application Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 193
Data Objects and Scriptability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195
Base ClaimCenter Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Component Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196
Delegate Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 197
Delete Entity Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Entity Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200
Extension Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203
Nonpersistent Entity Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 204
Subtype Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 205
View Entity Data Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 207
View Entity Extension Data Objects. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Data Object Subelements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 209
<array> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210
<column> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212
<componentref> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216
<edgeForeignKey> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 217
<events> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
<foreignkey>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220
<fulldescription>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
<implementsEntity> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224
<implementsInterface> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225
<index> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226
<onetoone> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227
<remove-index> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
<typekey> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229
17 Modifying the Base Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Planning Changes to the Base Data Model. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Overview of Data Model Extension . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233
Strategies for Extending the Base Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
What Happens If You Change the Data Model?. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Naming Guidelines for Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Defining a New Data Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237

12 Contents
ClaimCenter 6.0.8 Configuration Guide

Extending a Base Configuration Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238


Working with Attribute Overrides . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Extending the Base Data Model: Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Creating a New Delegate Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241
Extending a Delegate Object. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243
Defining a Subtype . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246
Defining a Reference Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Defining an Entity Array. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 247
Implementing a Many-to-Many Relationship Between Entity Types . . . . . . . . . . . . . . . . . . 248
Extending an Existing View Entity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249
Removing Objects from the Base Configuration Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Removing a Base Extension Entity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250
Removing an Extension to a Base Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Implications of Modifying the Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
Deploying Data Model Changes to the Application Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
18 Working with Associative Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Overview of Associative Arrays. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
Associative Array Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Subtype Mapping Associative Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256
Working with Array Values Using Subtype Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257
Typelist Mapping Associative Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258
Working with Array Values Using Typelist Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259
19 Example: Creating Assignable Entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Creating an Assignable Extension Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Step 1: Create Extension Entity UserAssignableEntityExt. . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Step 2: Create Assignment Class NewAssignableMethodsImpl . . . . . . . . . . . . . . . . . . . . . . 264
Step 3: Test Assign Your Extension Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 266
Making Your Extension Entity Eligible for Round-Robin Assignment. . . . . . . . . . . . . . . . . . . . 267
Step 1: Extend the Assignment State Entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
Step 2: Subclass Class AssignmentType . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Step 3: Create UserAssignableEntityExtEnhancement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Step 4: Test Round Robin Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270
Creating an Assignable Extension Entity that Uses Foreign Keys . . . . . . . . . . . . . . . . . . . . . . . . 271
Step 1: Create Extension Entity TestClaimAssignable. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271
Step 2: Add Foreign Keys to Assignable Entities. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Step 3: Create New Assignment Type for New Extension Entity . . . . . . . . . . . . . . . . . . . . . 272
Step 4: Create Enhancement TestClaimAssignableEnhancement . . . . . . . . . . . . . . . . . . . . . 273
Step 5: Create Test Class TestClaimAssignableMethodsImpl . . . . . . . . . . . . . . . . . . . . . . . . 273
Step 6: Add Corresponding Permission for the Extension Entity. . . . . . . . . . . . . . . . . . . . . . 274
Step 7: Test Assignment of the Assignable Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 276
20 The Domain Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
What is the Domain Graph? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Understanding Graph Notation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Object Ownership and the Domain Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Accessing the Domain Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282
Viewing the Domain Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 283
Adding Objects to the Domain Graph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Implementing the Correct Delegate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Defining Foreign Keys Between Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Graph Validation Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Working with Changes to the Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Working with Shared Entity Data. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290

Contents 13
ClaimCenter 6.0.8 Configuration Guide

Working with Cycles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 290


21 Field Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Field Validators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
Field Validator Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 294
<FieldValidators> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
<ValidatorDef> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295
Modifying Field Validators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Using <column-override> to Modify Field Validation. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 297
Field Validation and Localization. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
22 Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Overview of Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Working with Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Using Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 300
Defining a Data Type for a Property. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 301
The ‘datatypes.xml’ File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
<...DataType> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Deploying Changes to datatypes.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 302
Customizing Base Configuration Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
List of Customizable Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Working with Money and Currency Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Money Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305
Currency Amount Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
Setting the Currency Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Working with the Medium Text Data Type (Oracle) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
The Data Type API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 308
Retrieving the Data Type for a Property . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Retrieving a Particular Data Type in Gosu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Retrieving a Data Type Reflectively. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Using the IDataType Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 309
Defining a New Data Type: Required Steps. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Defining a New Tax Identification Number Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 310
Step 1: Register the Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Step 2: Implement the IDataTypeDef Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Step 3: Implement the Data Type Aspect Handlers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 312
23 Working with Typelists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
What is a Typelist? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
Terms Related to Typelists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Typelists and Typecodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Typelist Definition Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Different Kinds of Typelists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Internal Typelists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Extendable Typelists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Custom Typelists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Working with Typelists in Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
The Typelists Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319
Entering Typecodes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 321
Typekey Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Typelist Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Static Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325
Creating a Static Filter Using Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 326
Creating a Static Filter Using Includes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 328
Creating a Static Filter Using Excludes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329

14 Contents
ClaimCenter 6.0.8 Configuration Guide

Dynamic Filters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330


Category Typecode Filters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Category List Typecode Filters. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Creating a Dynamic Filter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Mapping Typecodes to External System Codes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333

Part V
User Interface Configuration
24 Using the PCF Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
The Page Configuration (PCF) Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337
The PCF Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Creating a New PCF File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339
The Toolbox Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
The Structure Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
The Translations Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 340
The Properties Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 341
Child Lists . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 342
PCF Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
PCF Elements and the Properties Tab. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Working with Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 343
Adding an Element on the Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Moving an Element on the Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 344
Changing the Type of an Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Adding a Comment to an Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345
Finding an Element on the Canvas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Viewing the Source of an Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Duplicating an Element. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Deleting an Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 346
Copying an Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Cutting an Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
Pasting an Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 347
25 Introduction to Page Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Page Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349
Page Configuration Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Using Studio to Edit PCF Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
What is a PCF Element? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Types of PCF Elements. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 351
Identifying PCF Elements in the User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353
Getting Started Configuring Pages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Finding an Existing Element To Edit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
Creating a New Standalone PCF Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
26 Data Panels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Panel Overview. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Detail View Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Define a Detail View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360
Add Columns to a Detail View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 361
Format a Detail View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 362
List View Panel. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364
Define a List View . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 365
Iterate a List View Over a Data Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 367
Choose the Data Source for a List View. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368

Contents 15
ClaimCenter 6.0.8 Configuration Guide

27 Location Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371


Location Group Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371
Define a Location Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 372
Location Groups as Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Location Groups as Tab Menus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373
Location Groups as Menu Links . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
Location Groups as Screen Tabs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374
28 Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Navigation Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377
Tab Bars . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 378
Configure the Default Tab Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Specify Which Tab Bar to Display . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Define a Tab Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Define a Tab Bar Link. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 379
Define the Logout Link. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Tabs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Define a Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 380
Define a Drop-down Menu on a Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381
29 Configuring Spell Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Using the Spell Checking Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Understanding How Spell Checking Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
How to Configure Spell Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Step 1: Implement a Spell Check Utility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Step 2: Implement a checkSpelling Method . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 384
Step 3: Set Spelling Checker Parameters in config.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
Step 4: Configure Text Fields for Spell Checking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 385
30 Configuring Search Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
The ClaimCenter Search Functionality. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 387
File search-config.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
The Criteria Definition Element . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
The Criterion Subelement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
The Criterion Choice Subelement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Setting the Property Attribute to DateCriterionChoice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392
Setting the Property Attribute to FinancialCriterion. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Setting the Property Attribute to ArchiveDateCriterionChoice . . . . . . . . . . . . . . . . . . . . . . . 394
The Array Criterion Subelement. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394
Deploying Customized Search Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395
Steps in Customizing a Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Working with Optional Search Criteria . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Adding an Optional Search Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
Adding an Optional Array Search Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
31 Configuring Special Page Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Adding Print Capabilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Overview of the Print Functionality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 401
Types of Printing Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403
Working with a PrintOut Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 404
Overriding the Print Settings in a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Troubleshooting Print Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Linking to a Specific Page: Using an EntryPoint PCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
Entry Points. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
Creating a Forwarding EntryPoint PCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409

16 Contents
ClaimCenter 6.0.8 Configuration Guide

Linking to a Specific Page: Using an ExitPoint PCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410


Creating an ExitPoint PCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 410
Populating a PCF Template: Using a TemplatePage PCF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
A Simple Template Page. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412

Part VI
Workflow and Activity Configuration
32 Using the Workflow Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Workflow in Guidewire ClaimCenter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Workflow in Guidewire Studio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 419
Understanding Workflow Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 421
Using the Workflow Right-Click Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
Using Search with Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 422
33 Guidewire Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Understanding Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Workflow Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424
Work Items . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Workflow Process Format. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
Workflow Step Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Workflow Gosu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Workflow Versioning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427
Workflow Localization . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
Workflow Structural Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
<Context> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
<Start>. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
<Finish> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Common Step Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Enter and Exit Scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429
Asserts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Notifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430
Branch IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
Basic Workflow Steps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
AutoStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 431
MessageStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432
ActivityStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433
ManualStep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434
Outcome . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 435
Step Branches . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
Working with Branch IDs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 436
GO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437
TRIGGER . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438
TIMEOUT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
Creating New Workflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Cloning an Existing Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440
Extending an Existing Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441
Extending a Workflow: A Simple Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442
Instantiating a Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
A Simple Example of Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445
The Workflow Engine . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Distributed Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447
Synchronicity, Transactions, and Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 447

Contents 17
ClaimCenter 6.0.8 Configuration Guide

Workflow Subflows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450


Workflow Administration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Workflow Debugging and Logging . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
34 Defining Activity Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
What is an Activity Pattern? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Pattern Types and Categories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Activity Pattern Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 454
Categorizing Activity Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Using Activity Patterns in Gosu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Calculating Activity Due Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Target Due Dates (Deadlines). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Escalation Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Defining the Business Calendar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Configuring Activity Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457
Using Activity Patterns with Documents and Emails. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459
Localizing Activity Patterns . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459

Part VII
Configuring Localization
35 Localizing Guidewire ClaimCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Understanding Language and Locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 463
Working with Localization Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
36 Working with Locales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Locale Configuration Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467
Adding a New Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Step 1: Add the Locale to the Localization File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Step 2: Add the Locale to the Language Type Typelist . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Step 3: Add the Locale to the Collations File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472
Step 4: Create and Populate the New Locale Folder. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 473
37 Localizing the ClaimCenter Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Setting the Default Application Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475
Setting the User Locale. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
Configuring Zone Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 476
File zone-config.xml . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 477
Base Zone Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479
Setting the IME Mode for Field Inputs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Printing in Non-US Character Sets . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480
Configuring Apache FOP for Cyrillic. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 481
38 Localizing String Labels. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Localizing Display Keys. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483
Display Key Localization Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Working with Missing Display Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484
Different Ways to Localize Display Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485
Localizing Typecodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486
Accessing Localized Typekeys from Gosu. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
Exporting and Importing Localization Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 487
39 Localizing the Development Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Viewing Double-byte Characters in Studio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 491
Changing the Studio Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492
Localizing Rule Set Names and Descriptions. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 492

18 Contents
ClaimCenter 6.0.8 Configuration Guide

Setting a Locale for a Gosu Code Block. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493


Localizing Gosu Error Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Localizing Administration Tool Argument Descriptions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494
Localizing Logging Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496
40 Localizing Guidewire Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Localize a Workflow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Setting a Locale for a Workflow. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
Localizing Workflow Step Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Creating a Locale-Specific SubFlow . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Localizing Gosu Code in a Workflow Step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
41 Localizing Shared Administration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Shared Administration Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Localized Entities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 502
Localization Database Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
Localized PCF Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503
42 Localizing Field Validators. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
Localizing Field Validation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
Using a Single Field Validators File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 507
Using Multiple Field Validator Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Configuring Localized Error Messages for Field Validators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 508
Validating Country-Specific Entity Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Example Set Up . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 509
Step 1: Extend the PolicyAddress Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 511
Step 2: Add the Input Field to the PolicyCenter Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Step 3: Add the Validator to the Default Field Validator File . . . . . . . . . . . . . . . . . . . . . . . . 513
Step 4: Create Country-Specific Validators and Error Messages . . . . . . . . . . . . . . . . . . . . . . 514
Step 5: Create the Validator Trigger Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
Testing the Field Validation Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515
43 Localizing Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Understanding Templates: A Review . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 517
Creating Localized Documents, Emails, and Notes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Step 1: Create Locale-Specific Folders. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518
Step 2: Localize Template Descriptor Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 519
Step 3: Localize Template Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520
Step 4: Localize Documents, Emails, and Notes within ClaimCenter . . . . . . . . . . . . . . . . . . 521
Document Localization Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
IDocumentTemplateDescriptor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
IDocumentTemplateSource. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 522
IDocumentTemplateSerializer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 523
44 Localized Search and Sort . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
Searching and Sorting Character Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 525
How Guidewire Stores Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Working with the Default Application Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Configuring a Locale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526
Database Searching. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Searching and the Oracle Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527
Searching and the SQL Server Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Data Sorting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Sorting and the Oracle Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 530
Sorting and the SQL Server Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531

Contents 19
ClaimCenter 6.0.8 Configuration Guide

45 Localizing Addresses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533


Address Localization Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
The Address User Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
The AddressOwner and CCAddressOwner Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
The AddressOwner Interface. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
The CCAddressOwner Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 534
The CCAddressOwnerFieldId and CountryAddressFields Classes . . . . . . . . . . . . . . . . . . . . . . . 535
Class CountryAddressFields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
Class CCAddressOwnerFieldId . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536
PCF Address Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537
46 Working with the Japanese Imperial Calendar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
The Japanese Imperial Calendar Date Widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Configuring Japanese Dates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
Setting the Japanese Imperial Calendar as the Default for a Locale. . . . . . . . . . . . . . . . . . . . . . . 543
Working with the Japanese Imperial Date Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Setting a Field to Always Display the Japanese Imperial Calendar . . . . . . . . . . . . . . . . . . . . . . . 544
Setting a Field to Conditionally Display the Japanese Imperial Calendar . . . . . . . . . . . . . . . . . . 545
Sample JIC Presentation Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 546

Part VIII
Testing Gosu Code
47 Debugging and Testing Your Gosu Code. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
The Studio Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 551
Starting the Debugger . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
Setting Breakpoints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 552
Minimizing the Impact to Users . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Stepping Through Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Viewing Current Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 554
Defining a Watch List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Resuming Execution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Using the Debugger with the GUnit Tester . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Using the Gosu Tester. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
Testing a Gosu Expression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Testing a Gosu Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Testing a Gosu Template . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 556
Testing Gosu Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Generating Testing and Debugging Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 557
Suggestions for Testing Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 558
48 Using GUnit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
The TestBase Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 559
Overriding TestBase Methods. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Configuring the Server Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560
Configuring the Test Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563
Creating a GUnit Test Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565
Using Entity Builders to Create Test Data . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Creating an Entity Builder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568
Entity Builder Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571
Creating New Builders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572
Running Gosu API Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577

20 Contents
ClaimCenter 6.0.8 Configuration Guide

Part IX
Guidewire ClaimCenter Configuration
49 Using the Lines of Business Editor. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
Lines of Business in Guidewire ClaimCenter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 583
The Studio Lines of Business Editor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
The Context Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 584
The Studio LOB Editor Tabs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Referential Integrity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586
Saving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Managing References to the LOB Typelists. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587
Adding a New LossType Typecode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 588
Adding a New ExposureType Typecode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 589
50 Configuring Policy Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Managing Aggregate Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Understanding Aggregate Limits . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591
Define What Counts Against an Aggregate Limit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 592
Configuring Policy Periods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 593
Aggregate Limit Used Recalculation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 595
Aggregate Limit Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Specifying the Subtabs on a Policy. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 596
Defining Internal (ClaimCenter-only) Policy Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 597
51 Configuring Financials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Understanding Financials . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 599
Double-entry Accounting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
Overview of the Financials Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 600
Transaction States and the Financial Building Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 601
Files that Manage Financials. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604
Financial Summary Screen Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
The Financials Summary Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605
Configuring the Drop-Down . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 606
Defining the Model Used by a Panel Set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 607
Controlling the Display of the Financial Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608
Configuring Reserve Behavior . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Understanding How Configuration Impacts Reserves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 610
Reserve Permissions and Authority Limits. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
Setting the Number of Reserve Items to Show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 614
Checks and Payments Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Understanding Checks and Payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 615
Permissions and Authority Limits That Apply to Payments. . . . . . . . . . . . . . . . . . . . . . . . . . 615
Batch Processes for Checks and Payments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 616
Customizing the Check Wizard Recurrence Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Customizing the Check Wizard’s Default Payment Type . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Bulk Invoice Payment Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 619
Overview of Bulk Invoices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
The Bulk Invoices Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 620
Configuring the Bulk Invoices Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 621
52 Configuring Currency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Setting the Default Application Currency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 623
Setting a Currency Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 624
Working with Currency Typecodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625

Contents 21
ClaimCenter 6.0.8 Configuration Guide

Implementing a Single Currency Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625


Implementing a Multicurrency Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
Changing the Default Application Currency . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626
53 Configuring Snapshot Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
How ClaimCenter Renders Claim Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629
Understanding Snapshot PCF Interaction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Encrypting Claim Snapshot Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630
Configuring Snapshot Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
Snapshots and Data Model Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 631
54 Configuring Deductibles . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 633
Deductible Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634
Typekeys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Permissions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Deductibles and Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Transferring Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 635
Recoding Payments. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Deleting and Voiding/Stopping Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Denying or Resubmitting Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Applying Deductibles on Multicurrency Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Cleared or Issued Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Cloning Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 636
Deductibles and Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637
55 Working with Catastrophe Bulk Associations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
Catastrophe Bulk Association Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 639
The GWCatastropheEnhancement Class . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Catastrophes Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
Catastrophe Configuration Parameter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640
56 Configuring Duplicate Claim and Check Searches . . . . . . . . . . . . . . . . . . . . . . . . . 641
Understanding the Gosu Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641
Duplicate Claim Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 642
Duplicate Check Search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 643
57 Configuring Claim Health Metrics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
Adding a New Tier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 645
Adding a High-Risk Indicator. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 647
Adding a New Claim Metric. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649
Adding Your New Claim Metric or Indicator to Existing Claims . . . . . . . . . . . . . . . . . . . . . 652
58 Configuring Recently Viewed Claims . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
Adding a Loss Date to the Recently Viewed Claim List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655
59 Configuring Incidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
Implicit Incidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
Explicit Incidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659
To Create a New Incident Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Quick Claim Configuration. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Injured is a Contact Role. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Incidents Data Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Gosu and Incidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660
Entities and Typelists Related to Incidents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662
60 Archiving Claims. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665
Archive-related Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665

22 Contents
ClaimCenter 6.0.8 Configuration Guide

Archiving and the Domain Graph. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 666


The ‘ClaimInfo’ Entity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Claims Archiving in Guidewire ClaimCenter . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667
Archiving and Encryption. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
Selecting Claims for Archive Eligibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668
Restoring Claims from the Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
Monitoring Claim Archiving Activity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669
Configuring Claims Archiving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Archiving-related Configuration Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670
Archive Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 671
Archive Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 672
Archive Work Queue . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673
The Archive Plugin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673

Contents 23
ClaimCenter 6.0.8 Configuration Guide

24 Contents
ClaimCenter 6.0.8 Configuration Guide

About This Document

This document describes the different ways in which ClaimCenter can be configured, and describes the basic
steps for implementing these configurations.
This topic includes:
• “Intended Audience” on page 25
• “Assumed Knowledge” on page 25
• “Related Documents” on page 25
• “Conventions In This Document” on page 26
• “Support” on page 26

Intended Audience
This document is intended for IT staff and system integrators who are configuring ClaimCenter either for an
initial implementation or for ongoing enhancements.

Assumed Knowledge
This document assumes that you are familiar with running the server (basic system administration) and with
using the ClaimCenter application (screens and functions).

Related Documents
See the following Guidewire documents for further information:

ClaimCenter Application Guide – Introduces the application, explains application concepts, and provides a high-
level view of major features and business goals of ClaimCenter. This is your first place to look when learning
about a feature. This book is written for all audiences.

ClaimCenter Installation Guide – Describes how to install a new copy of ClaimCenter into Windows or UNIX
environments. This guide is intended for system administrators and developers who need to install ClaimCenter.

ClaimCenter System Administration Guide – Provides guidance for the ongoing management of a ClaimCenter
system. This document is intended to help system administrators monitor ClaimCenter, manage its security, and
take care of routine tasks such as system backups, logging, and importing files.

ClaimCenter Rules Guide – Describes the business rule methodology, rule categories for ClaimCenter, and rule
syntax for Guidewire Studio. This book is intended for programmers who write Gosu business rules and analysts
who define the business rule logic.

ClaimCenter SOAP API Reference Javadoc – Documents the SOAP APIs and entities for integration program-
mers. It includes: (1) Web service (SOAP) API interfaces; (2) ClaimCenter SOAP entities which are simplified
versions of ClaimCenter entities; (3) SOAP-specific Java utility classes. See the Integration Guide for more

About This Document 25


ClaimCenter 6.0.8 Configuration Guide

details.

ClaimCenter Gosu Generated Documentation – Documents all types visible from the Gosu type system. This
includes Guidewire entities, Gosu classes, utility classes, Gosu plugin definitions, and Java types that are avail-
able from Gosu. With a local copy of the product, you can regenerate this documentation. From the
ClaimCenter/bin directory run the gwcc regen-gosudoc command.

ClaimCenter Upgrade Guide – Provides instructions to upgrade ClaimCenter.

ClaimCenter Data Dictionary – Describes the ClaimCenter data model, including your custom data model exten-
sions. To generate the dictionary, go to the ClaimCenter/bin directory and run the gwcc regen-dictionary
command. To view the dictionary, open the ClaimCenter/build/dictionary/data/index.html file. For more
information about generating and using the Data Dictionary, see the ClaimCenter Configuration Guide.

ClaimCenter Security Dictionary – Documents security permissions, roles, and the relationships between them.
Generate the dictionary by going to the ClaimCenter/bin directory and running the gwcc regen-dictionary
command. To view the dictionary, open the ClaimCenter/build/dictionary/security/index.html file. For
more information about generating the Security Dictionary, see the ClaimCenter Configuration Guide.

Conventions In This Document

Text style Meaning Examples

italic Emphasis, special terminology, or a book title. A destination sends messages to an


external system.
bold Strong emphasis within standard text or table text. You must define this property.
narrow bold The name of a user interface element, such as a button Next, click Submit.
name, a menu item name, or a tab name.
monospaced Literal text that you can type into code, computer output, Get the field from the Address object.
class names, URLs, code examples, parameter names,
string literals, and other objects that might appear in pro-
gramming code.
monospaced italic Parameter names or other variable placeholder text within Use getName(first, last).
URLs or other code snippets. http://SERVERNAME/a.html.

Support
For assistance with this software release, contact Guidewire Customer Support:
• At the Guidewire Resource Center – http://guidewire.custhelp.com
• By email – [email protected]
• By phone – +1-650-356-4955

26 About This Document


part I

ClaimCenter Configuration
Basics
chapter 1

Overview of ClaimCenter
Configuration

This topic provides some basic information, particularly about the Guidewire ClaimCenter data model and
system environment. Guidewire recommends that before you undertake any configuration changes, that you
thoroughly understand this information.
This topic includes:
• “What You Can Configure” on page 29
• “How You Configure ClaimCenter” on page 30
• “Types of Application Environments” on page 30
• “Deploying Configuration Files” on page 31
• “Regenerating the Data Dictionary and Security Dictionary” on page 32
• “Managing Configuration Changes” on page 33
• “Configuration Topics in This and Other Documents” on page 33

What You Can Configure


Application configuration files determine virtually every aspect of the ClaimCenter application. For example,
you can make the following changes by using XML configuration files and simple Gosu:
Extend the data model. You can add fields to existing entities handled by the application, or create wholly new
entities to support a wide array of different business requirements. You can:
• Add a field such as a column, typekey, array or foreign key to an extendable entity. For example, you can add
an IM Handle field to contact information.
• Create a subtype of an existing non-final entity. For example, you can create an Inspector object as a
subtype of Person.

Chapter 1, Overview of ClaimCenter Configuration 29


ClaimCenter 6.0.8 Configuration Guide

• Create a new entity to model an object not supported in the base configuration product. For example, you can
create an entity to archive digital recordings of customer phone calls.
Change or augment the ClaimCenter application. You can extend the functionality of the application:
• Build new views of claims and other associated objects.
• Create or edit validators on fields in the application.
Modify the ClaimCenter interface. You can configure the text labels, colors, fonts, and images that comprise the
visual appearance of the ClaimCenter interface. You can also add new screens and modify the fields and behavior
of existing screens.
Implement security policies. You can customize permissions and security in XML and then apply these permis-
sions at application runtime.
Create business rules and processes. You can create customized business-specific application rules and Gosu
code. For example, you can create business rules that perform specialized for validation and work assignment.
Designate activity patterns. You can group work activities and assign to claim adjusters.

Integrate with external systems. You can integrate ClaimCenter data with external applications.

Define application parameters. You can configure basic application settings such as database connections, clus-
tering, and other application settings not changed during runtime.
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.

How You Configure ClaimCenter


Guidewire provides a configuration tool—Guidewire Studio—that you use to edit files stored in the development
environment. (Guidewire also calls the development environment the configuration environment.) You then
deploy the configuration files by building a .war or .ear file and moving it to the application (production)
server.
Guidewire Studio provides graphical editors for most of the configuration files. A few configuration files you
must manually edit (again, through Studio). For information on Guidewire Studio, see the “Using the Studio
Editors” on page 139.

Types of Application Environments


Configuring the application requires an installed development instance of the application (often called a configu-
ration environment). You use Guidewire Studio to edit the configuration files. Then, you create a .war or .ear
file and copy it to the production server. This section describes some of the particular requirements of these two
environments:
• The Development Environment
• The Production Environment

The Development Environment


The development environment for ClaimCenter has the following characteristics:
• It includes an embedded development QuickStart server and database for rapid development and deployment.
• It includes a repository for the source code of your customized application files. Guidewire expects you to
check your source code into a supported Software Configuration Management—SCM—system.
• It includes read-only directories for the base configuration application files.

30 Chapter 1, Overview of ClaimCenter Configuration


ClaimCenter 6.0.8 Configuration Guide

• It provides command line tools for creating the deployment packages. (These are new, customized, versions
of the server application files that you use in a production environment.)
Guidewire provides a development environment (Guidewire Studio) that is separate from the production envi-
ronment. Guidewire Studio is a stand-alone development application that runs independently of Guidewire
ClaimCenter. You use Studio to build and test application customization in a development or test mode before
deploying your changes to a production server. (You can for example, modify a PCF file or add a new workflow.)
It is important to understand that any changes that you make to application files through Studio do not automati-
cally propagate into your production environment. You must specifically build a .war or .ear file and deploy it
to a production server for the changes to take effect. Studio and the production application server—by design—
do not share the same configuration file system.

The Production Environment


The deployed production application server for ClaimCenter has the following characteristics:
• It runs as an application within a J2EE application server (IBM WebSphere, BEA WebLogic, or Apache
Tomcat).
• It handles web clients, or SOAP message requests, for claim information or services.
• It generates the web pages for browser-based client access to ClaimCenter.

Deploying Configuration Files


There is a vast difference in how you deploy modified configuration files in a development environment as
opposed to a production environment. The following sections describes these differences:
• Deploying Changes in a Development Environment
• Deploying Changes to the Production Server

Deploying Changes in a Development Environment


In the base configuration, Guidewire provides an embedded application server in the development environment.
This, by design, shares its file structure with the Studio application configuration files. Thus:
• If you modify a file, in many cases, you do not need to deploy the changed configuration file. The develop-
ment server reflects the changes automatically. For example, if you add a new typelist, Studio recognizes this
change.
• If you modify certain resource files, you must stop and restart Studio for the change to become effective. For
example, if you add a new workflow type, then you must stop and restart Studio before a Gosu class that you
create recognizes the workflow.
• If you modify the base configuration data model files, you must stop and restart the development server to
force a database upgrade. (See “Restarting the Application Server” on page 100 for information on restarting
the application server after modifying configuration files.)
It is possible to use a different development environment and database other than that provided by Guidewire in
the base configuration. If you do so, then deployment of modified configuration files can require additional
work. For details on implementing a different development environment, see “Selecting an Installation Scenario”
on page 8 in the Installation Guide.

Deploying Changes to the Production Server


To deploy configuration changes to the ClaimCenter production application server, you must do the following:
• Create an application .war (or .ear) file with your configuration changes in the development environment.

Chapter 1, Overview of ClaimCenter Configuration 31


ClaimCenter 6.0.8 Configuration Guide

• Shut down the production server.


• Remove the old ClaimCenter instance on the production application server.
• Deploy the .war (or .ear) file to the production application server.
• Restart the production application server.
In the following procedure, notice whether you need to do a task on the development or production server.

To deploy a .war (.ear) file


1. After making configuration changes in your development environment, run one of the following commands
from your configuration ClaimCenter root directory, based on the server type:

Server type Command

Tomcat gwcc build-war

WebLogic gwcc build-weblogic-ear

WebSphere gwcc build-websphere-ear

2. Shut down the production application server.

3. Delete the existing web application folder in the production server installation. For example (for Tomcat),
delete the following folder:
ClaimCenter/webapps/cc
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 configuration installation dist directory (for example, ClaimCenter/dist). The build
script places the new cc.war or cc.ear file in this directory.
5. Copy the newly created cc.war file to the production webapps folder (for Tomcat). If using WebSphere or
WebLogic, use the administrative console to deploy the cc.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.

Regenerating the Data Dictionary and Security Dictionary


If you change the metadata (by extending base entities, for example), then it is important that the Data
Dictionary reflect those changes. In this way, other people who use the dictionary can see these new fields. To
generate the ClaimCenter Data Dictionary and ClaimCenter Security Dictionary, run the following command
from the ClaimCenter/bin directory:
gwcc regen-dictionary

This command generates the ClaimCenter Data Dictionary and ClaimCenter Security Dictionary in the
following locations:
ClaimCenter/build/dictionary/data
ClaimCenter/build/dictionary/security

To view a dictionary, open its index.html file in the listed location.


Generating the dictionaries as you generate a .war (.ear) file. It is also possible to generate the data and security
dictionaries as you generate the Guidewire application .war (.ear) file. To do so, use the following command:
gwcc build-war -Dconfig.war.dictionary=true

32 Chapter 1, Overview of ClaimCenter Configuration


ClaimCenter 6.0.8 Configuration Guide

See “Commands Reference” on page 69 in the Installation Guide for information on the Guidewire command
line tools for use in a development environment.

Aspects of Regenerating the Security Dictionary


Guidewire ClaimCenter stores the role information used by the Security Dictionary in the base configuration in
the following file:
ClaimCenter/modules/cc/config/import/gen/roleprivileges.csv

ClaimCenter does not write this file information to the database.


If you make changes to roles using the ClaimCenter interface, ClaimCenter does write these role changes to the
database.
ClaimCenter does not base the Security Dictionary on the actual roles that you have in your database. Instead,
ClaimCenter bases the Security Dictionary on the roleprivileges.csv file.

IMPORTANT It is possible for the Security Dictionary to become out of synchronization with the
actual roles in your database. Guidewire ClaimCenter bases the Security Dictionary on file
roleprivileges.csv only.

Managing Configuration Changes


To track, troubleshoot and replicate the configuration changes that you make, Guidewire strongly recommends
that you use a Software Configuration Management (SCM) to manage the application source code. For informa-
tion on using Guidewire ClaimCenter with a SCM system, see “Linking Studio to a SCM System” on page 91.

Configuration Topics in This and Other Documents


Guidewire provides documents, such as the ClaimCenter Rules Guide and ClaimCenter Integration Guide, that
cover specific customization topics. The following table provides a road map for more information regarding
configuration topics:

Configuration area Documentation

Organization ClaimCenter System Administration Guide


Users and groups
Coverage regions
Security ClaimCenter System Administration Guide
Roles
Permissions
Data visibility
Financial authority limits
System settings ClaimCenter Configuration Guide
Configuration parameters
Background process scheduler
Claim information
Typelists
Data Model Extensions
User interface ClaimCenter Configuration Guide
Menus and toolbars
Data views
Changing text
Client actions
Activity patterns ClaimCenter Configuration Guide

Chapter 1, Overview of ClaimCenter Configuration 33


ClaimCenter 6.0.8 Configuration Guide

Configuration area Documentation

Business rules ClaimCenter Rules Guide


Integration ClaimCenter Integration Guide
Programming interfaces ClaimCenter Rules Guide
Document management integration
Form letters

34 Chapter 1, Overview of ClaimCenter Configuration


chapter 2

Application Configuration
Parameters

This topic covers the ClaimCenter 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 manage-
ment, and user interface behavior all through the use of configuration parameters, along with much, much more.
This topic includes:
• “Working with Configuration Parameters” on page 36
• “Approval Parameters” on page 38
• “Archive Parameters” on page 39
• “Assignment Parameters” on page 40
• “Batch Process Parameters” on page 41
• “Business Calendar Parameters” on page 41
• “Cache Parameters” on page 42
• “Claim Catastrophe Parameters” on page 45
• “Claim Health Indicator and Metric Parameters” on page 45
• “Clustering Parameters” on page 46
• “Database Parameters” on page 48
• “Deduction Parameters” on page 49
• “Document Creation and Document Management Parameters” on page 49
• “Domain Graph Parameters” on page 52
• “Environment Parameters” on page 52
• “Financial Parameters” on page 56
• “Geocoding-related Parameters” on page 59
• “Integration Parameters” on page 60
• “Miscellaneous Bulk Invoice Activity Pattern Parameters” on page 62

Chapter 2, Application Configuration Parameters 35


ClaimCenter 6.0.8 Configuration Guide

• “Miscellaneous Financial Activity Parameters” on page 63


• “Miscellaneous Parameters” on page 63
• “PDF Print Settings Parameters” on page 65
• “Scheduler and Workflow Parameters” on page 67
• “Search Parameters” on page 68
• “Security Parameters” on page 71
• “Segmentation Parameters” on page 73
• “Spellcheck Parameters” on page 74
• “Statistics, Team, and Dashboard Parameters” on page 74
• “User Interface Parameters” on page 75
• “Work Queue Parameters” on page 79

Working with Configuration Parameters


You set application configuration parameters in file config.xml. You can find this file in the Guidewire Studio
Resources tree in the Other Resources folder. If you open this file for editing, Studio makes a copy of the read-only
base configuration file and places the editable copy in the following directory:
ClaimCenter/modules/configuration/config/

You do not ever need to touch this file directly outside of Studio other than to check it into your source control
system. As Guidewire ClaimCenter maintains several copies of this file in different locations, always use Studio
to modify configuration files as it manages the various copies for you.

WARNING Do not attempt to modify any files other than those in the /modules/configuration
directory. Specifically, do not modify files in the /modules/cc directory. Any attempt to modify files
in this directory can cause damage to the ClaimCenter application sufficient to prevent the application
from starting thereafter.

This file generally contains entries in the following format:


<param name="param_name" value="param_value" />

Each entry sets the parameter named param_name to the value specified by param_value.
The standard config.xml file contains all available parameters. To set a parameter, edit the file, locate the
parameter, and change its value. If a parameter does not appear in the file, Guidewire ClaimCenter uses that
parameters default value (if it has one).
Note: ClaimCenter configuration parameters are case-insensitive.

IMPORTANT You cannot add new or additional configuration parameters. Guidewire does not
support any attempt to do so.

Accessing Configuration Parameters in Gosu


To access a configuration parameter in Gosu code, use the following syntax, with XX being PL, BC, CC, or PC as
appropriate.
gw.api.system.XXConfigParameters

For example:
var businessDayEnd = gw.api.system.PLConfigParameters.BusinessDayEnd.Value
var forceUpgrade = gw.api.system.PLConfigParameters.ForceUpgrade.Value

36 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

Configuration Parameter Attributes


The configuration parameters in config.xml use the following attributes:
• Required
• Set for Environment
• Development Environment Only
• Can Change on Running Server
• Permanent

Required
Guidewire designates certain configuration parameters as required. This indicates that you must supply a value
for that parameter. The discussion of configuration parameters indicates this by adding Required: Yes to the
parameter description.

Set for Environment


Guidewire designates certain configuration parameters as localok. This indicates that it is possible for this value
to vary on different servers in the same environment. For example, you can set ClusterProtocolStackOption1
to a value that is very specific to a given host, with xxx.xxx.xxx.xxx being the host IP address:
;bind_addr=xxx.xxx.xxx.xxx

The discussion of configuration parameters indicates this by adding Set for Environment: Yes to the parameter
description.
Guidewire prints a warning message if you attempt to add a configuration parameter that Guidewire does not
designate as localok to a local configuration file. ClaimCenter prints the warning to the configuration log at start
of the application server. For example:
WARN Illegal parameter specified in a local config file (will be ignored): XXXXXXX

Note: For information on server environments in Guidewire ClaimCenter, see “Defining the Application
Server Environment” on page 18 in the System Administration Guide.

Development Environment Only


Guidewire designates certain configuration parameters as devonly. This indicates that Guidewire permits this
configuration parameters to be active in a development environment only. Thus, a production server ignores any
configuration parameter for which devonly is set to true. The discussion of configuration parameters indicates
this by adding Development Environment Only: Yes to the parameter description.

Can Change on Running Server


Guidewire designates certain configuration parameters as dynamic. This indicates that Guidewire permits you to
change this value on a running application server using JMX. The discussion of configuration parameters indi-
cates this by adding Can Change on Running Server: Yes to the parameter description.
Note: For information on how to enable, configure, and monitor ClaimCenter using JMX, see “Enabling
JMX with ClaimCenter” on page 91 in the System Administration Guide.

Permanent
Guidewire specifies several configuration parameter values as permanent. This indicates that after you set such a
parameter and start the production application server that you cannot change the value thereafter. This applies,
for example, to the DefaultApplicationLocale configuration parameter. If you set this value 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, ClaimCenter throws an error.

Chapter 2, Application Configuration Parameters 37


ClaimCenter 6.0.8 Configuration Guide

Adding Custom MIME Types


Adding a new MIME type (MIME stands for Multipurpose Internet Mail Extensions), such that ClaimCenter
recognizes it and so that it flows smoothly through the application, requires the following steps:
1. Add the MIME type to the configuration of the application server (if required). This depends on the details of
the application servers configuration.
For example, Tomcat stores MIME type information in the web.xml configuration file, in a series of <mime-
mapping> tags. Verify that the MIME type you need already exists (correctly) in this list, or add it.

2. Add the new MIME type to the <mimetypemapping> section of config.xml. You need to add the following
items:
• The name of the MIME type, which is the same as the identifying string ("text/plain", for example).
• The file extensions to be used for the MIME type. If more than one apply, separate them with a “|”.
ClaimCenter uses this information to map from MIME type to file extension and file extension to MIME
type. If mapping from type to extension, ClaimCenter uses the first extension in the list. If mapping from
extension to type, ClaimCenter uses the first <mimetype> entry containing that extension.
• The image, in the tomcat/webapps/cc/resources/images directory (or equivalent), to use for docu-
ments of this MIME type.
• Human-readable description of the MIME type, for logging and documentation purposes.

Approval Parameters
BulkInvoiceApprovalPattern
Name of the activity pattern to use if creating bulk invoice approval activities.
Required: Yes

PaymentApprovalPattern
Name of an approval activity pattern to use if creating payment approval activities.
Required: Yes

RecoveryApprovalPattern
Name of the activity pattern to use if creating recovery approval activities.
Required: Yes

RecoveryReserveApprovalPattern
Name of the activity pattern to use if creating recovery reserve approval activities.
Required: Yes

ReserveApprovalPattern
Name of the approval activity pattern to use if creating reserve approval activities.
Required: Yes

38 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

Archive Parameters
Archiving is the process of moving a closed claim and associated data from the active ClaimCenter database to a
document storage area. You can still search for and retrieve archived claims. But, while archived, these claims
occupy less space in the active database.

See also
• “Archiving” on page 87 in the Application Guide – information on archiving claims, searching for archived
claims, and restoring archived claims.
• “Archive Parameters” on page 39 in the Configuration Guide – discussion on the configuration parameters
used in claims archiving.
• “Archiving Claims” on page 665 in the Configuration Guide – information on configuring claims archiving,
selecting claims for archiving, and archiving and the object (domain) graph.
• “Archiving Integration” on page 285 in the Integration Guide – describes the archiving integration flow,
storage and retrieval integration, and the IArchiveSource plugin interface.
• “Archive” on page 48 in the Rules Guide – information on base configuration archive rules and their use in
detecting archive events and managing the claims archive and restore process.
• “Logging Successfully Archived Claims” on page 37 in the System Administration Guide.
• “Purging Unwanted Claims” on page 58 in the System Administration Guide.
• “Archive Info” on page 160 in the System Administration Guide.
• “Upgrading Archived Entities” on page 62 in the Upgrade Guide.

IMPORTANT To increase performance, most customers find increased hardware more cost effective
than archiving unless their volume exceeds one million claims or more. Guidewire strongly recom-
mends that you contact Customer Support before implementing archiving to help your company with
this analysis.

ArchiveEnabled
Whether archiving is enabled (set to true) or disabled (set to false). Default is false. For archiving to work,
you must set ArchiveEnabled to true and configure an archive database.
This parameter also controls the creation of indexes on the ArchivePartition column. If set to true,
ClaimCenter creates a non-unique index on that column for Extractable entities. Furthermore, if the entity is
Keyable, ClaimCenter creates a unique index on the ID and ArchivePartition columns.

IMPORTANT If you set ArchiveEnabled to true, the server refuses to start if you subsequently set it to
false.

Default: False
Required: Yes
Permanent: Yes

AssignClaimToRetriever
Specifies to whom ClaimCenter assigns a restored claim:
• True assigns the claim to the user who restored the claim.
• False assigns a restored claim to the original group and user who owned it.

Chapter 2, Application Configuration Parameters 39


ClaimCenter 6.0.8 Configuration Guide

If it is not possible to reassign to the original user, ClaimCenter assigns the restored claim to the supervisor of the
group. If ClaimCenter cannot reassign the restored claim to the original group, ClaimCenter assigns the claim to
defaultowner.

Default: False

DaysClosedBeforeArchive
Used by the Claim Closed rule in the base configuration to set the DateEligibleForArchive field on Claim,
which determines the date on which ClaimCenter archives a claim automatically. ClaimCenter calculates the
DateEligibleForArchive value using the following formula:
DateEligibleForArchive = DaysClosedBeforeArchive (in days) + current system date
Default: 30

DaysRetrievedBeforeArchive
Used by the implementation of the IArchiveSource plugin in the base configuration to set the
DateEligibleForArchive field on Claim as it retrieves a claim from the archive store. ClaimCenter calculates
the DateEligibleForArchive value using the following formula:
DateEligibleForArchive = DaysRetrievedBeforeArchive (in days) + current system date
Default: 100

RestorePattern
Code of the activity pattern that ClaimCenter uses to create retrieval activities. Upon retrieving a claim,
ClaimCenter creates two activities:
• One activity for the retriever of the claim
• One activity for the assigned user of the claim, if different from the retriever
Default: restore

SnapshotEncryptionUpgradeChunkSize
Limits the number of claim snapshots that ClaimCenter upgrades during a change to the encryption plugin or
during a change to encrypted fields. Set this parameter to zero to disable the limit.
Default: 50000

Assignment Parameters
AssignmentQueuesEnabled
Whether to display the ClaimCenter 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

40 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

Batch Process Parameters


BatchProcessHistoryPurgeDaysOld
Number of days to retain batch process history before ClaimCenter deletes it.
Default: 45

BatchServer
Whether this server is the batch server. A value of true indicates that it is. A value of null is acceptable.
Guidewire recommends that you not query on this parameter. Instead, use the following:
InitTab.getInstance().getEnvironment().isBatchServer()

Set for Environment: Yes


Can Change on Running Server: Yes

Business Calendar Parameters


BusinessDayDemarcation
The point in time at which a business day begins.
Default: 12:00 AM
Set For Environment: Yes

BusinessDayEnd
Indicates the point in time at which the business day ends.
Default: 5:00 PM
Set For Environment: Yes

BusinessDayStart
Indicates the point in 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. Formerly, you would use this to generate a comma-delimited list of
dates to consider as holidays. Instead, use the Administration screen within Guidewire ClaimCenter to manage the
official designation of holidays. Guidewire retains this configuration parameter to facilitate upgrade from older
versions of ClaimCenter.

Chapter 2, Application Configuration Parameters 41


ClaimCenter 6.0.8 Configuration Guide

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

Cache Parameters
See also “Understanding Application Server Caching” on page 70 in the System Administration Guide.

42 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

CacheActive
Controls whether the application server cache is active. If you set this value to false, then you effectively set the
maximum allowable space for the global cache to 0. In other words, if set to false, then ClaimCenter does not
cache data at the application server level. See “Analyzing and Tuning the Application Server Cache” on page 73
in the System Administration Guide for more information.
Default: True
Set for Environment: Yes

ExchangeRatesCacheRefreshIntervalSecs
The time between refreshes of the ExchangeRateSet cache, in seconds. This integer value must be zero (0) or
greater. See “Understanding Application Server Caching” on page 70 in the System Administration Guide for
more information.
Default: 600

GlobalCacheActiveTimeMinutes
Time period (in minutes) in which ClaimCenter 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 ClaimCenter is using one or more items very heavily. For example, this can be the length of time that a
user stays on a page. Make this value less than the reaping time (GlobalCacheReapingTimeMinutes). See
“Understanding Application Server Caching” on page 70 in the System Administration Guide for more informa-
tion.
Default: 5
Minimum: 1
Maximum: 15
Set for Environment: Yes

GlobalCacheReapingTimeMinutes
Time (in minutes) since the last use before ClaimCenter considers cached items to be eligible for reaping. You
can think of this as the period during which ClaimCenter is most likely to reuse and entity. See “Understanding
Application Server Caching” on page 70 in 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 GlobalCa-
cheSizePercent. See “Understanding Application Server Caching” on page 70 in the System Administration
Guide for more information.
Null: Yes
Set for Environment: Yes

GlobalCacheSizePercent
The percentage of the heap to allocate to the global cache. See “Understanding Application Server Caching” on
page 70 in the System Administration Guide for more information.

Chapter 2, Application Configuration Parameters 43


ClaimCenter 6.0.8 Configuration Guide

Default: 15
Set for Environment: Yes

GlobalCacheStaleTimeMinutes
Time (in minutes) since the last write before ClaimCenter considers cached items to be stale and thus eligible for
reaping. See “Understanding Application Server Caching” on page 70 in the System Administration Guide for
more information.
Default: 60
Minimum: 1
Maximum: 120
Set for Environment: Yes
Can Change on Running Server: Yes

GlobalCacheStatsRetentionPeriodDays
Time period (in days), in addition to today, for how long ClaimCenter preserves statistics for historical compar-
ison. See “Understanding Application Server Caching” on page 70 in the System Administration Guide for more
information.

Default: 7
Minimum: 2
Maximum: 365
Set for Environment: Yes

GlobalCacheStatsWindowMinutes
Time period (in minutes). ClaimCenter uses this parameter for the following purposes:
• To define the period of time to preserve the reason for which ClaimCenter evicts an item from the cache, after
the event occurred. If a cache miss occurs, ClaimCenter 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 “Understanding Application Server Caching” on page 70 in the System Administration Guide for more infor-
mation.

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 zero (0) or greater. See
“Understanding Application Server Caching” on page 70 in the System Administration Guide for more informa-
tion.
Default: 600

44 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

ScriptParametersRefreshIntervalSecs
The time between refreshes of the script parameter cache, in seconds. This integer value must be zero (0) or
greater. See “Understanding Application Server Caching” on page 70 in the System Administration Guide for
more information.
Default: 600

TreeViewRefresh
The time in seconds that Guidewire ClaimCenter caches a tree view state.
Default: 120

ZoneCacheRefreshIntervalSecs
The time between refreshes of the zone cache, in seconds. See “Understanding Application Server Caching” on
page 70 in the System Administration Guide for more information.
Default: 86400

Claim Catastrophe Parameters


MaxCatastropheClaimFinderSearchResults
Maximum number of claims that ClaimCenter relates to a single catastrophe in the CatClaimFinder batch
process, (used to find catastrophe-related claims). See “Batch Processes and Distributed Work Queues” on
page 134 in the System Administration Guide for a discussion of ClaimCenter batch processes.
Default: 1000

Claim Health Indicator and Metric Parameters


ClaimHealthCalcMaxLossDateInYears
Maximum number of years to look back to find claims on which to calculate metrics and indicators. This param-
eter strictly limits the number of claims found for the ClaimHealthCalcuation batch process.
Default: 2

InitialReserveAllowedPeriod
Number of days that new initial reserves contribute to the initial reserve sum of the Percent * Reserve Change
Claim Metric calculation after ClaimCenter creates the first initial reserve. An initial reserve is a reserve that
ClaimCenter creates during creation of a claim or exposure. It is also the first set of reserves that ClaimCenter
creates on the claim or exposure if there are no previous reserves for those entities.
Default: 3

MaxClaimResultsPerClaimHealthCalcBatch
Maximum number of claims for each invocation of the ClaimHealthCalculation batch process to calculate
metrics and indicators. This parameter strictly limits the number of claims that can be processed at a single time.
The ClaimHealthCalculation batch process calculates the claim metrics and indicators for found claims.

Chapter 2, Application Configuration Parameters 45


ClaimCenter 6.0.8 Configuration Guide

Default: 1000

Clustering Parameters
To improve performance and reliability, you can install multiple ClaimCenter servers in a configuration known
as a cluster. A cluster distributes client connections among multiple ClaimCenter servers, reducing the load on
any one server. If one server fails, the other servers transparently handle its traffic.

See Also
• “Managing Clustered Servers” on page 81 in the System Administration Guide

ClusteringEnabled
Whether to enable clustering on this application server.
Default: False
Set for Environment: Yes

ClusterMulticastAddress
The IP multicast address to use in communicating with the other members of the cluster. This value must be
unique within the range of the cache time-to-live parameter. This configuration parameter is meaningful only if
configuration parameter ClusteringEnabled is set to true.
Default: 228.9.9.9
Set for Environment: Yes

ClusterMulticastPort
The port used to communicate with other members of the cluster. This configuration parameter is meaningful
only if configuration parameter ClusteringEnabled is set to true.
Default: 45566
Set for Environment: Yes

ClusterMulticastTTL
The time-to-live for cluster multicast packets. For Guidewire applications, this value is almost always 1, which
means only deliver the packets to the local subnet. Higher time-to-live values require that you enable multicast
routing on any intermediate routers (rare in most IT organizations). Also the larger the time-to-live value, the
more you have to worry about allocating unique multicast addresses. This integer value must be zero (0) or
greater. This configuration parameter is meaningful only if configuration parameter ClusteringEnabled is set to
true.

Default: 1
Set for Environment: Yes

ClusterProtocolStackOption1
This is a local option that can contain other parameters for the ClusterProtocolStack stack string. You refer-
ence this option in the stack as ${option1}. You configure this value in the default protocol stack in the UDP

46 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

protocol. You can set it to the following so that a multi-home server can specify which NIC (Network Interface
Card) to use for JGroups.
;bind_addr=xyz

Note: This string is a literal substitution. This requires that it start with the semicolon (;) UDP parameter
delimiter. See the JGroups documentation for other values that you can assign to it.
Default: None
Set for Environment: Yes

ClusterProtocolStackOption2
This is a local option that can contain other parameters for the ClusterProtocolStack stack string. You refer-
ence this option in the stack as ${option2}. See ClusterProtocolStackOption1.
Default: None
Set for Environment: Yes

ClusterProtocolStack
The cluster protocol stack string.
Default:
"UDP(mcast_addr=${multicastAddress};ip_ttl=${timeToLive};mcast_port=${port}${option1}):" +
"PING(timeout=2000;num_initial_members=4):"+
"MERGEFAST:" +
"FD(timeout=5000;max_tries=5;shun=true):" +
"VERIFY_SUSPECT(timeout=1500):" +
"pbcast.NAKACK(gc_lag=50;retransmit_timeout=600,1200,2400,4800):" +
"UNICAST(timeout=600,1200,2400,4800):" +
"pbcast.STABLE(desired_avg_gossip=20000):" +
"FRAG:" +
pbcast.GMS(join_timeout=3000;merge_timeout=10000;shun=true;print_local_addr=true)");

ConfigVerificationEnabled
Whether to check the configuration of this server against the other servers in the cluster. The default is true. You
must also set configuration parameter ClusteringEnabled to true for ConfigVerificationEnabled to be
meaningful. Do not disable this parameter in a production environment. Do not set this value to false,
unless Guidewire Support specifically instructs you to do otherwise.

WARNING Guidewire specifically does not support disabling this parameter in a production environ-
ment. 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
Set for Environment: Yes

Chapter 2, Application Configuration Parameters 47


ClaimCenter 6.0.8 Configuration Guide

Database Parameters
QueryRewriteForClaimSearch
It is possible to create materialized views in an Oracle schema to improve the performance of queries that
ClaimCenter runs as part of a Claim search operation. Materialized views can be useful if performing a search for
a claimant or for any involved party using the name of a person or a company. If you implement materialized
views in the ClaimCenter schema, then Oracle attempts to use these materialized views if a re-written query
block matches the text defined in the view.
Guidewire provides configuration parameter QueryRewriteForClaimSearch to enable various options for an
Oracle query re-write using materialized view. By setting this parameter, you can force a query to be rewritten
using a materialized view or to let the Oracle optimizer make the choice based on the cost calculation.
The following list describes the valid values for this parameter:

Value Meaning
FORCE/STALE Oracle attempts to rewrite the query using an appropriate materialized view even if the optimizer
cost estimate is high. Oracle allows the rewrite even if the data in the materialized is not the same
as in the base tables.
FORCE/NOSTALE Oracle attempts to rewrite the query using an appropriate materialized view even if the optimizer
cost estimate is high. Oracle ignores the materialized view if the data in the view is not fresh.
COST/STALE If the Oracle cost-based optimizer evaluates the rewrite to be cheaper than other plans, it uses the
materialized view. If it is costlier to execute the rewritten path, then Oracle performs a join of the
base tables. The rewrite can happen even if the data in the view is stale.
COST/NOSTALE If the Oracle cost-based optimizer evaluates the rewrite to be cheaper than other plans, it uses the
materialized view. If it is costlier to execute the rewritten path, then Oracle performs a join of the
base tables. If the data in the view is not fresh, Oracle ignores the view and performs the join on the
base tables.

Note: If you provide an invalid value, the server ignores it.

Default: None

Disabling Query Rewrites


If you implement materialized views in the ClaimCenter schema, then Oracle attempts to use these materialized
views if a re-written query block matches the text defined in the view. However, the use of materialized views in
database queries is not always desirable due to performance considerations.
Thus, ClaimCenter provides an option to disable the rewriting of queries using materialized views. You can
disable the use of materialized views in Oracle database queries by setting parameter queryRewriteEnabled to
false in the <database> element in config.xml. For example:
<param name="queryRewriteEnabled" value="false"/>

The only valid value for the parameter is false:


• If you set this parameter to false in config.xml, ClaimCenter runs the following statement for each query
session:
ALTER SESSION SET QUERY_REWRITE_ENABLED = FALSE;
• If you do not set this parameter in config.xml (meaning that you remove the parameter entirely from
config.xml), then Oracle attempts to use any available materialized view in database queries.

Materialized Views
For a description of how to create materialized views in a ClaimCenter schema, consult the following Guidewire
white paper, section 19 (Materialized Views):

48 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

ClaimCenter 6.0 using Oracle Database


You can find this document at the following location on the Guidewire Resource Portal:
https://guidewire.custhelp.com/app/resources/infrastructure/documents

The (Server Tools) Info Pages → Oracle AWR Information page is aware of materialized views. You can use the infor-
mation on this page to troubleshoot performance problems with the view. However, if the view is refreshed on
demand, then the Oracle AWR Information page does not capture the refresh queries.

Stale Data
In performance testing, Guidewire observed significant performance degradation if the materialized view was
configured to refresh on commit. This is due to a synchronization enqueue required by the refresh process. How-
ever, any refresh of the data done outside of the commit operation can potentially display stale data during the
search.
Oracle uses a cost-based optimizer approach to determine whether to use a materialized view for a given query. It
also expects the data to be fresh for the rewrite. As the refresh process is based on the number of changes to con-
tact and claim contacts, Guidewire strongly recommends that you schedule the refresh process accordingly.

See also
• “Configuring a Database Connection” on page 44 in the Installation Guide
• “Setting Search Parameters for Oracle” on page 48 in the System Administration Guide

Deduction Parameters
BackupWithholdingTypeCode
The typecode in the DeductionType typelist for backup withholding. The default is irs. You must define this
parameter for the backup withholding plugin to work. Also, this parameter must also correspond to a valid
DeductionType typecode.

Default: irs

CalculateBackupWithholdingDeduction
Whether ClaimCenter calculates backup withholding for applicable checks.
Default: True

StandardWithholdingRate
Standard backup withholding rate, as defined by the U.S. Internal Revenue Service, for use by the backup with-
holding plugin. The number is a percentage. (For example, 28.0 means 28.0 percent.) The backup withholding
plugin does not work if you do not define this parameter.
Default: 28.0

Document Creation and Document Management Parameters


Guidewire provides an ActiveX control called Document Assistant to perform many of the functions related to
document manipulation. ClaimCenter attempts to install this control whenever a client initiates a session. The

Chapter 2, Application Configuration Parameters 49


ClaimCenter 6.0.8 Configuration Guide

browser prompts the user to install the Guidewire Document Assistant. The Document Assistant ActiveX control
is synonymous with the TemplateRunner.ScriptControl ActiveX control.

WARNING The Guidewire Document Assistant, like all ActiveX controls, has known security
vulnerabilities. Contact Guidewire support for more information if you plan to use the Guidewire
Document Assistant ActiveX control in production.

See Also
• “Configuring Guidewire Document Assistant” on page 25 in the System Administration Guide

AllowActiveX
Whether to allow ActiveX controls in the ClaimCenter interface (for document management, for example). Set-
ting this to false removes all controls from the interface, which results in reduced functionality. If false, this
turns the Guidewire Document Assistant control off entirely and also forces the following parameters to be
false:
• DisplayDocumentEditUploadButtons
• UseGuidewireActiveXControlToDisplayDocuments

See also AllowActiveXAutoInstall.


Default: True

AllowActiveXAutoInstall
Whether ClaimCenter automatically attempts to install the Guidewire Document Assistant and supporting
JScript files.
If AllowActiveXAutoInstall is set to false, ClaimCenter does not attempt to install Guidewire Document
Assistant and supporting JScript files. You must manually install the Guidewire Document Assistant and
supporting JScript files if you want to use it. ClaimCenter does not attempt to download and install the control if
it is not already present.
This configuration parameter works in conjunction with configuration parameter AllowActiveX:

AllowActiveXAutoInstall = true • If AllowActiveX = true, then ClaimCenter installs the ActiveX control and uses
it.
• If AllowActiveX = false, then ClaimCenter does not use the ActiveX control
under any circumstances.
AllowActiveXAutoInstall = false • If AllowActiveX = true, then ClaimCenter does not install the ActiveX control.
However, if you manually install the ActiveX control, then ClaimCenter does use
the control.
• If AllowActiveX = false, then ClaimCenter does not use the ActiveX control
under any circumstances.

Contact Guidewire Support for information about manually installing the control.
Default: True

DisplayDocumentEditUploadButtons
Whether the Documents list displays Edit and Upload buttons. Set this to false if the IDocumentContentSource
integration mechanism does not support it.
Default: True

50 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

DocumentContentDispositionMode
The Content-Disposition header setting to use any time that ClaimCenter returns document content directly to
the browser. This parameter must be either inline or attachment.
Default: inline

DocumentTemplateDescriptorXSDLocation
The path to the XSD file that ClaimCenter uses to validate document template descriptor XML files. Specify this
location relative to the following directory:
modules/configuration/config/resources/doctemplates

If ClaimCenter does not find the XSD file in that location, the application searches for the base version in the
following location:
ClaimCenter/modules/cc/config/resources/doctemplates

MaximumFileUploadSize
The maximum allowable file size (in megabytes) that you can upload to the server. Any attempt to upload a file
larger than this results in failure. Since the uploaded document must be handled on the server, this parameter pro-
tects the server from possible memory consumption problems.
Note: This parameter setting affects any imports managed through the ClaimCenter Administration tab. This
specifically includes the import of administrative data and roles.
Default: 20

ReCallDocumentContentSourceAfterRollback
Set this parameter to true to call the isDocument and addDocument methods again if there is a roll-back during a
bundle commit. If a roll-back of the bundle does occur, then ClaimCenter rolls back each entity in the bundle.
The initial commit extracts the document content from the web request. This document content no longer exists
after the bundle commit. Therefore, it is not possible to roll-back the document ID, even though it is possible to
retrieve all other document fields. This can cause problems to occur.
Guidewire recommends the following:
• If you have extended the Document entity, then set this parameter to true.
• If you have not extended the Document entity, then it is most likely that you want to set this parameter to
false.
• If you are using an IDocumentMetadataSource, then set the parameter to false. If you then experience vali-
dation exceptions, test your set-up, and, if necessary, set this value to true.
Default: False

UseDocumentNameAsFileName
Note: It is not necessary to set this configuration parameter in any locale that uses the English language.
Use this configuration parameters with non-English locales only.
Configuration parameter UseDocumentNameAsFileName determines what you see as the document name for a
document file opened through Guidewire ClaimCenter. This configuration parameter can take the following
values:

False An opened document displays the document ID as its file name.


True An opened document displays the actual document name as its file name.

Chapter 2, Application Configuration Parameters 51


ClaimCenter 6.0.8 Configuration Guide

This is useful if you localize your environment and create document file names in the localization language. For
example, suppose that you are working in the Russian locale. You create a document file and name it using Cyril-
lic characters:
• If you set UseDocumentNameAsFileName to false, then, as you as you open the document from within
ClaimCenter, you see the opened document filename as the Document ID, for example, 123.jpg.
• If you set UseDocumentNameAsFileName to true, then, as you open the document from within ClaimCenter,
you see opened document filename as the Document Name, for example, фото.jpg. In other words, you see
the Russian-language version of the document name.
Default: False

UseGuidewireActiveXControlToDisplayDocuments
Whether to use the Guidewire Document Assistant ActiveX control to display document contents. If false,
ClaimCenter does not use the control and document contents return directly to the browser.
Default: True

Domain Graph Parameters


DomainGraphKnownLinksWithIssues
Use to define a comma-separated list of foreign keys. Each foreign key points from an entity outside of the
domain graph to an entity inside the domain graph. Naming the foreign key in this configuration parameter
suppresses the warning that would otherwise be generated for the link by the domain graph validator. Specify
each foreign key on the list as the following:
relative_entity_name:foreign_key_property_name

IMPORTANT You are responsible for ensuring that these foreign keys are null at the time
ClaimCenter is ready to archive the graph.

Default: None

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 other-
wise be generated for the type by the domain graph validator
Default: None

Environment Parameters
AddressVerificationFailureAsError
Set to true to have address verification failures shown as errors instead of warnings. This parameter is meaning-
less if EnableAddressVerification is set to false.
Default: False

52 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

BucketSizeForHistogramsOnAllIndexedColumns
Sets the bucket size to use for generating histograms on all indexed columns. Configuration parameter
CollectHistogramsOnAllIndexedColumns must be true for this parameter to have any meaning.

Default: 254

CollectHistogramsOnAllIndexedColumns
Whether to collect histograms on all indexed columns or only on specific columns. This parameter is only appli-
cable to Oracle databases.
Default: False

CurrentEncryptionPlugin
Set this value to the name of the plugin that you intend to use to manage encryption. See “Using the Plugins
Editor” on page 141 for information on encryption plugins.
Default: IEncryption

DefaultApplicationLocale
Default localization locale for the application as a whole.

WARNING You set this parameter one-time only, before you start the application server for the first
time. Any attempt to modify this parameter thereafter can invalidate your Guidewire installation.

Default: en_US
Set for Environment: Yes
Permanent: Yes

DefaultCountryCode
The default ISO country code to use if an address does not have a country explicitly set. ClaimCenter uses this
also as the default for new addresses that it creates. See the Guidewire Contact Management Guide for more
information on configuring addresses in Guidewire ClaimCenter.
See the following for a list of valid ISO country codes:
http://www.iso.org/iso/english_country_names_and_code_elements

DeprecatedEventGeneration
Whether to use the now-deprecated event logic that had previously been available.
Default: False

DiscardQueryPlansDuringStatsUpdateBatch
Whether to instruct the database to discard existing query plans during a database statistics batch process.
Default: False

Chapter 2, Application Configuration Parameters 53


ClaimCenter 6.0.8 Configuration Guide

EnableAddressVerification
Set this value to true to enable address verification warnings.
Default: False

EnableInternalDebugTools
Make internal debug tools available to developer.
Default: False
Set for Environment: Yes

EntityValidationOrder
Order in which to execute validation if validating multiple entities. ClaimCenter validates any entities not speci-
fied in this list after all listed entities.
Default: Policy, Claim, Exposure, Matter, TransactionSet

KeyGeneratorRangeSize
The number of key identifiers (as a block) that the server obtains from the database with each request. This
integer value must be zero (0) or greater.
Default: 100

MemoryUsageMonitorIntervalMins
How often the ClaimCenter server logs memory usage information, in minutes. This is often useful for identify-
ing 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
field must be 9 characters or less in length. Use only letters and numbers.
Guidewire reserves for itself all public IDs that start with a two-character ID and then a colon, and thus reserves
all PublicIDPrefix values with two characters.

IMPORTANT This field must be 9 characters or less in length. Use only letters and numbers. Do not
use space characters, colon characters, or any other characters that might need to be processed or
escaped specially by other applications. Guidewire reserves all two-character-length values for this
setting for current or future use.

Required: Yes
Default: None

54 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

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 55.
Default: True

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.

RetainDebugInfo
Whether the production server retains debugging information. This parameter facilitates debugging from Studio
without a type system refresh.
• If set to true, ClaimCenter does not clear debug information after compilation.
• If set to false, the server does not retain sufficient debugging information to enable debugging. As a produc-
tion server does not recompile types, it is not possible to regenerate any debugging information.
See also “ResourcesMutable” on page 55.
Default: False

StrictDataTypes
Controls whether ClaimCenter uses the pre-ClaimCenter 6.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 useful for new ClaimCenter installations that
want to implement the new behavior.
StrictDataTypes = true. If you set this value to true, then ClaimCenter:
• Does not permit decimal values to exceed the scale required by the data type. The setter throws a
gw.datatype.DataTypeException if the scale is greater than that allowed by the data type. You are responsible
for rounding the value, if necessary.
• Validates field validator formats both in the ClaimCenter user interface and in the field setter.
• Validates numeric range constraints both in the ClaimCenter user interface and in the field setter.
StrictDataTypes = false. If you set this value to false, then ClaimCenter:
• 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, ClaimCenter 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 inter-
face.

Chapter 2, Application Configuration Parameters 55


ClaimCenter 6.0.8 Configuration Guide

Default: False

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 state-
ments.
Default: True

UnrestrictedUserName
The username of the user who has unrestricted permissions to do anything in ClaimCenter.
Default: su

UseOldStylePreUpdate
If set to true (the default), then changes to an entity trigger execution of the existing Preupdate and Validation
rules during a bundle commit of the entity. (That is, as long as the entity implements the Validatable delegate.)
If set to false, then ClaimCenter invokes the IPreUpdateHandler plugin on the bundle commit.
Default: True

WarnOnInplicitCoercion
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
AllowMultipleLineItems
Whether to allow multiple line items in a transaction. See also UseDeductibleHandling.
Default: True

AllowMultiplePayments
Whether to allow a single check to reflect multiple payments.
Default: True

56 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

AllowNegativeManualChecks
Use to set the ability to create negative checks manually. The following values are valid:
• True – Allow user to create negative checks manually.
• False – Disable the ability to create negative checks manually.
The default ClaimCenter behavior is to not allow manual checks to be negative. If you need the ability to create
negative checks manually, then you must explicitly set this parameter to true.
Default: False

AllowNoPriorPaymentSupplement
Whether to allow a user to create supplemental payments on a closed claim or exposure with no prior payments.
Default: False

AllowPaymentsExceedReservesLimits
If true, a user can submit payments that exceed available reserves up to the amount limited by the
paymentsexceedreserves authority limits. Otherwise, ClaimCenter does not allow partial or final payments that
exceed reserves.
Default: False

CheckAuthorityLimits
Controls whether ClaimCenter checks authority limits for individual checks.
Default: True

CloseClaimAfterFinalPayment
If true, ClaimCenter attempts to automatically close a claim if a final payment closes the last open exposure.
Default: True

CloseExposureAfterFinalPayment
If true, ClaimCenter attempts to automatically close an exposure after the relevant final payment is made.
Default: True

DefaultApplicationCurrency
Default currency for the application as a whole. This is also sometimes known as reporting currency. You must
set this parameter to a value contained in the Currency typelist. If using only a single currency for the applica-
tion, then you set MultiCurrencyDisplayMode to SINGLE. In SINGLE mode, ClaimCenter uses the
CurrencyFormat entries in each GWLocale in localization.xml to format the money amount, depending on the
locale of each user.

WARNING You set this parameter one-time only, before you start the application server for the first
time. Any attempt to modify this parameter thereafter can invalidate your Guidewire installation.

Default: usd
Set for Environment: Yes
Permanent: Yes

Chapter 2, Application Configuration Parameters 57


ClaimCenter 6.0.8 Configuration Guide

EnablePreSetupRulesInCheckCreator
It is often necessary to set additional values (used for transaction approval) on a check created in the Auto First and
Final wizard. In most cases, ClaimCenter initializes these types of values in a Transaction Pre-setup rule.
However, ClaimCenter does not execute the Transaction Pre-setup rule set for a claim created in the Auto First and
Final wizard.

If you set the EnablePreSetupRulesInCheckCreator parameter to true, then ClaimCenter does invoke the
Transaction Pre-setup rule set from the Auto First and Final wizard. Setting this parameter to false maintains the
current behavior.
To summarize:

False The Auto First and Final FNOL wizard does not call the Transaction Pre-Setup rule set during check creation.
True The Auto First and Final FNOL wizard does call the Transaction Pre-Setup rule set during check creation.

Default: False

Financials
Specifies the level of financials functionality that is available in the application. Available options are view for
read-only values or entry to enable editing the financial values directly in ClaimCenter.
ClaimCenter supports the following values:

entry financials entry


view financials view (read-only)
3 financials subledger

Default: view

MultiCurrencyDisplayMode
Sets whether Guidewire ClaimCenter displays money values in a single currency or in multiple currencies. Use
one of the following:

SINGLE Single currency mode


MULTIPLE Always in multiple currency mode

These values have the following meanings:

SINGLE In SINGLE mode, ClaimCenter assumes that all monetary amounts in the system are in the same currency. In
this mode, ClaimCenter uses the CurrencyFormat entry in each GWLocale in localization.xml to format the
money amount, depending on the locale of the user.
As all money values are in the same currency, you must ensure that the CurrencyFormat for each GWLocale
specifies the money format for that one currency. It is possible to set slightly different formatting based on local
custom, but all money formatting must be for the one default currency.
Guidewire strongly recommends that you set configuration parameter DefaultApplicationCurrency to its
correct value if you set MultiCurrencyDisplayMode to SINGLE. This ensures the correctness of the data in the
database if you upgrade to multicurrency at a later time.
MULTIPLE In MULTIPLE mode, ClaimCenter obtains money formatting information from currencies.xml. In this mode,
ClaimCenter ignores any CurrencyFormat information in localization.xml. However, even though unused,
a tag for the default currency must be present in file localization.xml, even in MULTIPLE mode.

58 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

For more information, see “Working with Locales” on page 467. See also “DefaultApplicationCurrency” on
page 57.
Default: SINGLE

PaymentLogThreshold
ClaimCenter logs payments greater than this threshold. This integer value must be zero (0) or greater.
Default: 500
Can Change on Running Server: Yes

SetReservesByTotalIncurred
Specifies the way in which you modify reserves in the ClaimCenter interface.
• If set to true, the user can set the Total Incurred values
• If set to false, the user can set the Available Reserves values.
Default: False

UseDeductibleHandling
Whether to use Deductible Handling. (See “Deductible Handling” on page 183 in the Application Guide.) If this
value is true, then AllowMultipleLineItems must be true as well.
Default: True

UseRecoveryReserves
Whether to use recovery reserve transactions in financial calculations.
Default: True

ZeroReservesLevel
Specifies the level at which to zero-out reserves. Specify either 0 (cost type) or 1 (cost category).
Default: 0
Minimum: 0
Maximum: 1

Geocoding-related Parameters
ProximityRadiusSearchDefaultMaxResultCount
Maximum number of results to return if performing a radius (n miles or kilometers) search from ClaimCenter.
This parameter has no effect on ordinal (nearest n) proximity searches. This parameter does not have to match
the value of the corresponding parameter in the ContactManager config.xml file.
Default: 1000

ProximitySearchOrdinalMaxDistance
The maximum allowable distance to use if performing a proximity search for the nearest-n contacts or users.
(This is also known as an ordinal search.) By default, ClaimCenter treats the allowable distance value as miles.
However, if the system default unit of distance (as controlled by UseMetricDistancesByDefault) is set to true,

Chapter 2, Application Configuration Parameters 59


ClaimCenter 6.0.8 Configuration Guide

ClaimCenter treats this values as kilometers. The ProximitySearchOrdinalMaxDistance parameter only affects
ordinal proximity (nearest-n) searches, meaning searches that are not based on distance or on searches that use a
radius.

IMPORTANT This parameter has no effect on radius-based searches (n-miles) or walking-the-group-


tree-based proximity assignment.

IMPORTANT If the setting for this configuration parameter differs between Contact Manager and
ClaimCenter, it is possible for the application to display distance-related messages incorrectly.

Default: 300

UseGeocodingInAddressBook
If true, ClaimCenter enables geographical data and proximity search on the Address Book page. See
UseGeocodingInPrimaryApp to enable searches from other pages.

Default: False

UseGeocodingInPrimaryApp
If true, ClaimCenter enables geographical data and proximity search on application pages. See
UseGeocodingInAddressBook to enable searches from ContactCenter.

Default: False

UseMetricDistancesByDefault
By default, ClaimCenter uses miles and United States distances for driving distance or directions. If set to true,
the application uses kilometers or metric distances instead.
Default: False

Integration Parameters
ContactAutoSyncWorkItemChunkSize
If you integrate Guidewire ClaimCenter with Guidewire ContactManager, then it is necessary to maintain the
synchronization of contacts between the two Guidewire applications. Batch process ContactAutoSync controls
this synchronization. (See “ContactAutoSync” on page 138 in the System Administration Guide for details.)
It is common to have a large number of local instances of each contact in Guidewire ClaimCenter, one for each
claim that uses that contact. During contact synchronization between ClaimCenter and ContactManager,
ClaimCenter processes the table for highly linked contacts by dividing the contents of the contact table into
smaller groups of contacts. (This process is known as chunking as the end result is chunks of data.) ClaimCenter
then creates a work item to process each chunk of contacts. Parameter ContactAutoSyncWorkItemChunkSize
specifies the maximum number of contacts that each single ContactAutoSyncWorkItem is to process, or, in other
words, the size of the chunk.
Note: Parameter ContactAutoSyncWorkItemChunkSize is meaningful only if Guidewire ClaimCenter is
integrated with Guidewire ContactManager.
Default: 400

60 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

EnableMetroIntegration
Whether to enable Metropolitan Reporting Bureau integration. If true, there is a working integration that sends
messages from ClaimCenter to the Metropolitan Reporting Bureau service (requesting Metropolitan reports).
Default: False
Set for Environment: Yes

InstantaneousContactAutoSync
Whether to process contact automatic synchronization at the time of receiving the notification.
Default: True

ISOPropertiesFileName
Name of the ISO properties file in the ClaimCenter/modules/cc/config/iso configuration directory.
Default: ISO.properties
Set for Environment: Yes

KeepCompletedMessagesForDays
Number of days after which ClaimCenter purges old messages in the message history table.
Default: 90

LockPrimaryEntityDuringMessageHandling
If it is set to true, ClaimCenter locks the primary entity associated with a message at the database level during
the following operations:
• During a message send operation
• During message reply handling
• During marking a message as skipped
If the message has no primary entity associated with it, then this configuration parameter has no effect.

Default: true

MetroPropertiesFileName
Name of the Metropolitan properties file in the ClaimCenter/modules/cc/config/metro configuration direc-
tory. ClaimCenter uses this files to set up fields in the XML messages sent to the Metropolitan Reporting Bureau.
See EnableMetroIntegration as well.
Default: Metro.properties
Set for Environment: Yes

PolicySystemURL
URL to use in ClaimCenter ExitPoint PCF pages that view items in the policy system.
• If integrating Guidewire ClaimCenter with Guidewire PolicyCenter, then set this parameter to the
PolicyCenter base URL (for example, http://server/pc). In this case, the exit points add the appropriate
PolicyCenter entry point.
• If integrating with a non-Guidewire policy system, then you need to modify the ExitPoint PCF to set up the
parameters required by that system.

Chapter 2, Application Configuration Parameters 61


ClaimCenter 6.0.8 Configuration Guide

• If you omit this parameter or if you set it to an empty string, then ClaimCenter hides the buttons in the inter-
face that take you to the exit points.
Default: Empty string

UseSafeBundleForWebServicesOperations
Configuration parameter UseSafeBundleForWebServiceOperations changes the behavior of bundle commits in
web services published on this server. The default value is false.
• If set to false, the application ignores bean version conflicts as it commits a bundle.
• If set to true, the application detects (and does not ignore) bean version conflicts.
If you set this parameter to true, it is possible for Gosu to throw a ConcurrentDataChangeException exception.
(The exception text actually reads “Database bean version conflict” or similar.) This can happen if another
thread or cluster node modified this entity as it was loaded from the database. If this error condition occurs, then
the SOAP client receives a SOAPRetryableException. Guidewire strongly recommends that web service clients
catch all retryable exceptions such as this and retry the SOAP API call.

IMPORTANT A value of true for UseSafeBundleForWebServiceOperations sets the behavior


system-wide.

IMPORTANT A previous workaround for this issue used the setIgnoreVersionConflicts method on
the bundle at the beginning of SOAP implementation methods. If you used this workaround, then you
must update your client-side logic for detecting and retrying the SOAP call in the case of a concurrent
change exception.

Miscellaneous Bulk Invoice Activity Pattern Parameters


BulkInvoiceItemValidationFailedPattern
Name of the activity pattern to use in creating an activity to alert about a failure during processing of a bulk
invoice item.
Required: Yes

BulkInvoiceUnableToStopPattern
Name of the activity pattern to use if creating an activity to alert that ClaimCenter was unable to stop a bulk
invoice. (It was not possible to update the status from Pending-stop or Stopped to Issued or Cleared.)
Required: Yes

BulkInvoiceUnableToVoidPattern
Name of the activity pattern to use in creating an activity to alert that ClaimCenter was unable to void a bulk
invoice. (It was not possible to update the status from Pending-void or Voided to Issued or Cleared).
Required: Yes

62 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

Miscellaneous Financial Activity Parameters


CheckDeniedPattern
Name of the activity pattern to use if creating an alert that a down-stream system has denied a check.
Required: Yes

CheckUnableToStopPattern
Name of the activity pattern to use if creating an alert that ClaimCenter cannot stop a check.
Required: Yes

CheckUnableToVoidPattern
Name of the activity pattern to use if creating an alert that ClaimCenter cannot void a check.
Required: Yes

LastPaymentReminderPattern
Name of the activity pattern to use if creating an alert to signal the approach of the last payment in a set of recur-
rence checks.
Required: Yes

RecoveryDeniedPattern
Name of the activity pattern to use if creating an alert that a down-stream system has denied a recovery.
Required: Yes

Miscellaneous Parameters
AllowBulkInvoiceItemsToHaveNegativeAmounts
Within ClaimCenter, it is possible to make negative and zero dollar transactions and checks, which you can use
to make negative payments. This is possible, however, for individual transactions only. By setting parameter
AllowBulkInvoiceItemsToHaveNegativeAmounts to true, ClaimCenter permits bulk invoice items to have
negative values and disables the bulk invoice validation checks associated with negative values.

IMPORTANT If you set this value to true, then Guidewire strongly recommends that you configure
the PCF and business rules to enforce valid transaction values. With this parameter set to true, there is
an increased risk of invalid bulk invoices.

Default: False

AllowSoapWebServiceNamespaceCollisions
Within Guidewire ClaimCenter, it is invalid to publish two web service types with the same name in the set of
types for method arguments and return types. This is true even if the types have different packages and even if
they are in different published web services.

Chapter 2, Application Configuration Parameters 63


ClaimCenter 6.0.8 Configuration Guide

ClaimCenter provides the IgnoreSoapWebServiceReferenceNamespaceCollisions configuration parameter to


make development due to this problem easier.
• If set to false (the default), any name space collision generates an error message and ClaimCenter blocks
application server start-up.
• If set to true, these error messages become warnings instead. Use this setting only for development and
debugging until you have time to rename your classes to fix the namespace collision.
See “Web Service Types Must Have Unique Names” on page 31 in the Integration Guide for more information.

WARNING It is unsafe to set AllowSoapWebServiceReferenceNamespaceCollisions to true for


production servers. If you have an special case in which it is difficult to rename classes to avoid name-
space collisions, please contact Guidewire Customer Support.

Default: False

EnableClaimNumberGeneration
Whether to enable automatic claim number generation (through an external plugin). If you enable claim number
generation, then you must also provide an external Claim Number Generator plugin. If enabled, claim number
generation must succeed in order for a claim to be added through either the New Claim wizard or the integration
tools. This does not affect claims added through staging tables. See “Claim Number Generator Plugin” on
page 333 in the Integration Guide for more information.
Default: True

EnableClaimSnapshot
Whether to create snapshots for imported and created claims. The claim snapshot contains a version of the claim
data before any automated processing by ClaimCenter.
Default: True

EnableStatCoding
Whether to enable statistical coding support.
Default: True

LegacyExternalEntityArraySupport
Set to true to expose external entity collection types as arrays. Use this to support the existing Java plugin imple-
mentations without any code upgrade.
Default: False

ListViewPageSizeDefault
The default number of entries that ClaimCenter 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

64 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

MaintainPolicyValidationLevelOnPolicyChange
If true, any time that you change or refresh the policy for a claim, ClaimCenter validates the new policy at the
level of the old policy. If false, ClaimCenter validates the new policy at the newloss level. In either case, a val-
idation failure causes ClaimCenter to revert the policy refresh or change.
Default: True

MaxCachedClaimSnapshots
Limits the number of claim snapshots that ClaimCenter caches in memory. This integer value must be zero (0) or
greater, but less than ten (10).
Default: 3
Minimum: 0
Maximum: 10

MaxStatCodesInDropdown
Maximum number of statistics codes to show in the statistics code picker drop-down.
Default: 20

ProfilerDataPurgeDaysOld
Number of days to keep profiler data before ClaimCenter deletes it.
Default: 30

StyleReportURL
The URL for the InetSoft StyleReport server. A null value is acceptable.
Default: None
Set for Environment: Yes

PDF Print Settings Parameters


See also “PDFMergeHandlerLicenseKey” on page 47.

DefaultContentDispositionMode
The Content-Disposition header setting to use any time that ClaimCenter returns document content directly to
the browser. ClaimCenter uses this setting for content such as exports or printing, but not for documents. This
parameter must be either inline or attachment.
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 configura-
tion file. For more information, refer to the following:
http://xmlgraphics.apache.org/fop/

For a discussion of FOP, see also “Printing in Non-US Character Sets” on page 480 in the Configuration Guide.

Chapter 2, Application Configuration Parameters 65


ClaimCenter 6.0.8 Configuration Guide

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

For more information, refer to the following:


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

PrintMarginBottom
Bottom margin size of print page.
Default: 0.5in

PrintMarginLeft
Left margin size of print page.
Default: 1in

66 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

PrintMarginRight
Right margin size of print page.
Default: 1in

PrintMarginTop
Top margin size of print page.
Default: 0.5in

PrintMaxPDFInputFileSize
During PDF printing, ClaimCenter 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-negative A non-negative value limits the size of the XML input file to the set value (in megabytes). If a user
attempts to print a PDF file that is larger in size than this value, ClaimCenter generates an error.

Default: -1

PrintPageHeight
Total print height of page.
Default: 8.5in

PrintPageWidth
Total print width of page.
Default: 11in

Scheduler and Workflow Parameters


IdleClaimThresholdDays
ClaimCenter schedules claims that have not been touched (including edits or exception checks) for this many
days for exception detection. This integer value must be zero (0) or greater.
Default: 7
Can Change on Running Server: Yes

SchedulerEnabled
Whether to enable the internal batch process application scheduler. See“Batch Processes and Work Queues” on
page 129 in the System Administration Guide for more information on batch processes and the scheduler.
Default: True
Can Change on Running Server: Yes

Chapter 2, Application Configuration Parameters 67


ClaimCenter 6.0.8 Configuration Guide

SeparateIdleClaimExceptionMonitor
If true, run exception monitoring rules for idle cases at a separate time.
Default: True

WorkflowLogPurgeDaysOld
Number of days to retain workflow log information before ClaimCenter deletes it.
Default: 30

WorkflowPurgeDaysOld
Number of days to retain workflow information before ClaimCenter deletes it.
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
(zero) disables statistics reporting.
Default: 60

Search Parameters
DisableCBQTForClaimSearch
ClaimCenter works around some bad execution plans by disabling optimizer cost base transformation while
executing certain claim searches on Oracle. This parameter controls the work around and is true by default. If a
future version of Oracle fixes the defect, you can safely remove this parameter. The parameter effects only
Oracle databases.
Default: True

DisableCBQTForTeamGroupActivities
ClaimCenter works around optimizer cost base transformation related query plan problems while executing the
team group activities page's main query on Oracle. This parameter controls the work around and is true by default.
If a future version of Oracle fixes the defect, you can safely remove this parameter. The parameter has no effect
on databases other than Oracle.
Default: True

DisableHashJoinForClaimSearch
Guidewire provides a work-around for certain hash join-related query plan problems that occur if executing
certain claim searches on Oracle. This parameter controls part of the work-around. The parameter has no effect
on databases other than Oracle. See also DisableSortMergeJoinForTeamGroupActivities.
Default: True

68 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

DisableHashJoinForProximitySearch
This parameter enables you to disable the use of hash joins while performing a proximity search using the Oracle
database. The default value for the parameters is false. This parameter has no effect on databases other than
Oracle. This parameter has no effect on databases other than Oracle. This parameter has no effect if you are not
using proximity search.
Default: False

DisableIndexFastFullScanForClaimSearch
ClaimCenter works around some bad execution plans by disabling index fast full scan while executing certain
claim searches on Oracle. This parameter controls the work around and is true by default. If a future version of
Oracle fixes the defect, you can safely remove this parameter. The parameter effects only the Oracle database.
Default: True

DisableIndexFastFullScanForProximitySearch
This parameter enables you to disable the index fast full scan while performing a proximity search using the
Oracle database. The default value for the parameters is false. This parameter has no effect on databases other
than Oracle. This parameter has no effect if you are not using proximity search.
Default: False

DisableIndexFastFullScanForRecoverySearch
ClaimCenter works around some bad execution plans by disabling index fast full scan while executing certain
recovery searches on Oracle. This parameter controls the work around and is true by default. If a future version
of Oracle fixes the defect, you can safely remove this parameter. The parameter effects only the Oracle database.
Default: True

DisableIndexFastFullScanForTeamGroupActivities
ClaimCenter works around index fast full scan related query plan problems while executing the Team Group Activi-
ties page's main query on Oracle. This parameter controls the work around and is true by default. If a future
version of Oracle fixes the defect, you can safely remove this parameter. The parameter has no effect on data-
bases other than Oracle.
Default: True

DisableSortMergeJoinForClaimSearch
Guidewire provides a work-around for sort-merge join query plan problems that occur if executing certain claim
searches on Oracle. This parameter controls part of the work-around if DisableHashJoinForClaimSearch is also
set to true. The parameter has no effect on databases other than Oracle.
Default: True

DisableSortMergeJoinForTeamGroupActivities
ClaimCenter works around sort merge join query plan problems while executing the team group activities page's
main query on Oracle. This parameter controls part of the workaround if the value of
DisableHashJoinForClaimSearch is set to true. It is true by default. The parameter has no effect on databases
other than Oracle.

Chapter 2, Application Configuration Parameters 69


ClaimCenter 6.0.8 Configuration Guide

Default: True

MaxActivitySearchResults
Maximum number of activities that ClaimCenter returns in a search. If the number to return is greater than this
value, ClaimCenter prompts the user to narrow the search parameters. This integer value must be one (1) or
greater.
Default: 300

MaxBulkInvoiceSearchResults
Maximum number of bulk invoices that ClaimCenter returns in a search. If the number to return is greater than
this value, ClaimCenter prompts the user to narrow the search parameters. This integer value must be one (1) or
greater.
Default: 300

MaxCheckSearchResults
Maximum number of checks that ClaimCenter returns in a search. If the number to return is greater than this
value, ClaimCenter prompts the user to narrow the search parameters. This integer value must be one (1) or
greater.
Default: 300

MaxClaimSearchResults
Maximum number of results that ClaimCenter returns for a claim search. This integer value must be one (1) or
greater. If the number or results to return is greater than this value, ClaimCenter prompts the user to narrow the
search parameters.
Default: 300

MaxContactSearchResults
Maximum number of contacts that ClaimCenter returns in a search. If the number to return is greater than this
value, then ClaimCenter prompts the user to narrow the search parameters. This integer value must be one (1) or
greater.
Default: 300

MaxDocTemplateSearchResults
Maximum number of document templates that ClaimCenter returns in a search. If the number to return is greater
than this value, then ClaimCenter prompts the user to narrow the search parameters. This integer value must be
one (1) or greater.
Default: 50

MaxDuplicateContactSearchResults
Maximum number of duplicate results to return from a contact search. This integer value must be zero (0) or
greater.
Default: 25

70 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

MaxNoteSearchResults
Maximum number of notes that ClaimCenter returns in a search. If the number to return is greater than this value,
ClaimCenter prompts the user to narrow the search parameters. This integer value must be zero (0) or greater. A
value of zero indicates that there is no limit on the search.
Default: 25

MaxPolicySearchResults
Maximum number of policies that ClaimCenter returns in a search. If the number to return is greater than this
value, then ClaimCenter prompts the user to narrow the search parameters. This integer value must be one (1) or
greater.
Default: 25

MaxRecoverySearchResults
Maximum number of policies that ClaimCenter returns in a search. If the number to return is greater than this
value, then ClaimCenter prompts the user to narrow the search parameters. This integer value must be one (1) or
greater.
Default: 300

SetSemiJoinNestedLoopsForClaimSearch
Guidewire provides a work-around for semi-join query plan problems by forcing nested loop semi-join queries
while executing certain claim searches on Oracle. This parameter controls part of the work-around. The param-
eter has no effect on databases other than Oracle.
Default: True

Security Parameters
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

FailedAttemptsBeforeLockout
Number of failed attempts that ClaimCenter 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 ClaimCenter locks a user account. A value of -1 indicates that a system administrator must
manually unlock a locked account.
Default: -1

Chapter 2, Application Configuration Parameters 71


ClaimCenter 6.0.8 Configuration Guide

LoginRetryDelay
Time in milliseconds before a user can retry after an unsuccessful login attempt. This integer value must be zero
(0) or greater.
Default: 0
Minimum: 0

MaxACLParameters
Maximum number of users and groups to directly include in search queries that check the claim access control
list. Beyond this (maximum) limit, ClaimCenter stores users and groups in database tables. You must then use an
additional join in the query to check the claim access control list. Checking the claim access control list can
involve a large number of groups and users. For example, if EnableDownlinePermissions is true, someone who
supervises many groups and users has access to control lists that contain any of their supervisees. Including all
these groups and users in the query can be done directly by including them as parameters to the query. Or, you
can store them in database tables and doing extra joins in the query. For small numbers of groups and users,
direct parameters are the best choice. For large numbers (thousands), the extra join can be better. This parameter
chooses at what point the query code switches from using direct parameters to using extra joins.
It can take the following values:
• A value of -1 (or any negative value) instructs ClaimCenter to use the appropriate default for the current data-
base. Thus, ClaimCenter chooses the best value—as determined by Guidewire performance testing—for the
current type of database.
• A value of 0 instructs ClaimCenter to always use parameters, and to never use a join in a query. This works
even for very large numbers of groups and users (3000 or more) on an Oracle database. However, it is not
suitable for the SQL Server database, which limits the total number of parameters to 2100.
• A positive value instructs ClaimCenter to use that value as a threshold. If the number of groups and users is
less than the threshold, then a query uses parameters. If the number is larger the threshold, a query uses data-
base tables and extra joins. Guidewire strongly recommends that you do not use a positive value for the
Oracle database. This is because the Oracle database can cope with large numbers of parameters, but tends to
choose very bad query plans for the extra joins.
In summary, Guidewire recommends that most ClaimCenter installations use the default value of -1, which
chooses the best value for the current database type.
SQL Server. For those ClaimCenter installations that use SQL Server as the database, Guidewire recommends the
following:
• Do not set this value to 0.
• Do not set it to any value greater than approximately 2000 due to the risk of hitting the 2100 parameter limit.
Oracle. For those ClaimCenter installations that use the Oracle database, Guidewire expressly recommends that
you do not use positive values due to the risk of bad query plans.
Default: -1

MaxPasswordLength
New passwords must be no more than this many characters long. This integer value must be zero (0) or greater.
Default: 16

72 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 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 zero (0) or greater. If 0, then Guidewire ClaimCenter
does not require a password. (Guidewire does not recommend this.)
Default: 8
Minimum: 0

RestrictContactPotentialMatchToPermittedItems
Whether ClaimCenter restricts the match results from a contact search screen to those that the user has permis-
sion to view.
Default: True

RestrictSearchesToPermittedItems
Whether ClaimCenter restricts the results of a search to those that the user has permission to view.
Default: True

ShouldSynchUserRolesInLDAP
If True, then ClaimCenter synchronizes contacts with the roles they belong to after authenticating with the
external authentication source.
Default: False

UseACLPermissions
Whether to use the ACL permission model.
• If false, the privilege that a user holds applies to every claim.
• If true, the ClaimAccess table controls claim access.
Default: True

Segmentation Parameters
ClaimSegment
Default value to set the Segment field to on a claim, if ClaimCenter cannot determine another segment.
Required: Yes

ClaimStrategy
The default value to set the Strategy field to on a claim, if ClaimCenter cannot determine another strategy.
Required: Yes

ExposureSegment
Default value to set the Segment field to on an exposure, if ClaimCenter cannot determine another segment.
Required: Yes

Chapter 2, Application Configuration Parameters 73


ClaimCenter 6.0.8 Configuration Guide

ExposureStrategy
Default value to set the Strategy field on an exposure, if ClaimCenter cannot determine another strategy.
Required: Yes

Spellcheck Parameters
CheckSpellingOnChange
If true, navigating away from a field enabled for spell checking—after making any change—invokes the spell-
ing checker for the field.
Default: False

CheckSpellingOnDemand
If true, a Check Spelling button appears in the toolbar of any screen that contains editable fields, if the screen is
enabled for spell checking.
Default: False

Statistics, Team, and Dashboard Parameters


AgingStatsFirstDivision
Number of days to use in calculating the first claim aging bucket. This bucket includes claims between 0 and
AgingStatsFirstDivision days old. This integer value must be zero (0) or greater.

Default: 30

AgingStatsSecondDivision
Number of days to use in calculating the second claim aging bucket. This bucket includes claims between
AgingStatsFirstDivision + 1 and AgingStatsSecondDivision days old. This integer value must be zero (0)
or greater.
Default: 60

AgingStatsThirdDivision
Number of days to use in calculating the third claim aging bucket. This bucket includes claims between
AgingStatsSecondDivision + 1 and AgingStatsThirdDivision days old. The last bucket includes all claims
older than AgingStatsThirdDivision days. This integer value must be zero (0) or greater.
Default: 120

CalculateLitigatedClaimAgingStats
Whether to show the number of litigated claims on the Aging subtab of the Team tab.
Default: True

74 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

DashboardIncurredLimit
Total incurred amount above which ClaimCenter counts the claim as over-the-limit in executive dashboard cal-
culations.
Default: 1000000

DashboardShowByCoverage
Whether the Dashboard shows claim information subtotaled by coverage.
Default: True

DashboardShowByLineOrLoss
Whether the Dashboard shows claim information subtotaled by line of business or loss type.
Default: True

DashboardWindowPeriod
Number of days to use for executive dashboard calculations that depends on a specific time period.
Default: 30

GroupSummaryShowUserGlobalWorkloadStats
Whether to show individual user global workload statistics along with the standard statistics in the Team Summary
page.
Default: True

UserStatisticsWindowSize
Time window for calculating user statistics. Set this value to the number of previous days to include in the calcu-
lation. For example, set this to 10 to calculate statistics for the last 10 days, including today. You can also set this
to one of the following special values:

0 This week, defined as the start of the current business week up to, and including, today.
-1 This month, defined as the start of the current month up to, and including, today.

Default: 0

User Interface Parameters


ActionsShortcut
The keyboard shortcut to use for the Actions button.
Default: A

AutoCompleteLimit
The maximum number of autocomplete suggestions to show.

Chapter 2, Application Configuration Parameters 75


ClaimCenter 6.0.8 Configuration Guide

Default: 10

EnableClaimantCoverageUniquenessConstraint
If true, specifies that all exposure must follow the claimant and coverage uniqueness constraints.
Default: True

HidePolicyObjectsWithNoCoveragesForLossTypes
This parameter applies to policies that provide policy-level coverage rather than separate coverages for each item
covered in the policy. It affects the individual coverages submenu in the Actions → New Exposure → Choose by
Coverage submenu. For this parameter, you enter values as a comma-separated list. To remove (hide) empty
Vehicle and Property submenus for a specific loss type, add that loss type to the list.
Default: None

HighlyLinkedContactThreshold
Use to improve application performance related to viewing a contact in the ClaimCenter Address Book tab or
through the Claim Summary page. Attempting to view a contact with a large number of links can create performance
issues. If a user is viewing a highly linked contact, then ClaimCenter issues a warning if the user clicks on a card
that can result in an expensive query. The user must click another button before viewing the contact’s related
claims, activities, exposures or matters as these views put a heavy load on the database. This parameter sets the
threshold value for the number of links to a contact that generates the warning.
Note: If you set the threshold value to zero, then ClaimCenter considers no contact to be highly linked.

Default: None

IgnorePolicyTotalPropertiesValue
If true, the policy properties screens suppress the message telling the user whether all of the properties that
appear on the policy have been downloaded to the ClaimCenter policy snapshot.
• Set this value to true if the policy adapter is not capable of returning a meaningful value for
Policy.TotalProperties.
• Set this value to false otherwise.
Default: False

IgnorePolicyTotalVehiclesValue
If true, the policy vehicles screens suppress the message telling the user whether all of the vehicles that appear
on the policy have been downloaded to the ClaimCenter policy snapshot.
• Set this value to true if the policy adapter is not capable of returning a meaningful value for
Policy.TotalVehicles.
• Set this value to false otherwise.
Default: False

76 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

InputHelpTextOnFocus
If true, ClaimCenter displays the help text for an input any time that the input field gets the focus. (This can hap-
pen, for example, by clicking in the input field or tabbing into it.) For this to be meaningful, help text must exist.
To set help text for a field, use the helpText attribute for that input field.
Default: True

InputHelpTextOnMouseOver
If true, ClaimCenter displays help text for an input only if the mouse cursor moves over the input field. For this
to be meaningful, help text must exist. To set help text for a field, use the helpText attribute for that input field.
Default: True

InputMaskPlaceholderCharacter
The character to use as a placeholder in masked input fields.
Default: . (period)

ListViewPageSizeDefault
The default number of entries that ClaimCenter 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.

MaxChooseByCoverageMenuItems
Maximum number of vehicles or properties that ClaimCenter displays in the New Exposure → Choose by Coverage
menu. If the number to return exceeds this limit, ClaimCenter prompts the user to use the Coverage Type menu
instead. This integer value must be one (1) or greater.
Default: 15

MaxChooseByCoverageTypeMenuItems
Maximum number of coverage types that ClaimCenter displays in the New Exposure → Choose by Coverage Type
menu. If the number to return exceeds this limit, ClaimCenter splits the coverage types into alphabetic submenus.
This integer value must be one or greater.
Default: 15

MaxClaimantsInClaimListViews
Maximum number of claimants to list for each claim in a list view. This integer value must be zero (0) or greater.
If set to zero, ClaimCenter does not impose a limit.
Default: 0

Chapter 2, Application Configuration Parameters 77


ClaimCenter 6.0.8 Configuration Guide

MaxTeamSummaryChartUserBars
Maximum number of users to show in the chart on the Team Summary page. Set this parameter to 0 to remove the
chart entirely. Otherwise, the chart displays statistics for the top N users, and groups the others into a bar labeled
All Other Users. This integer value must be zero (0) or greater.

Default: 10

QuickJumpShortcut
The keyboard shortcut to use to activate the QuickJump box.
Default: / (forward slash)

RequestReopenExplanationForTypes
The set of re-openable entities for which, if reopened, ClaimCenter displays a screen for the user to enter a rea-
son and note. Enter as a comma-separated list.
Default: Claim,Exposure,Matter

ShowCurrentPolicyNumberInSelectPolicyDialog
Whether to populate the select policy dialog with the policy number for the current policy for a claim.
Default: False

ShowFixedExposuresInLossDetails
Works with ShowNewExposureMenuForLossTypes.
• If true, claims that do not have the New Exposure menu have a fixed list of exposures that can be shown
through tabs on the Claim Loss page.
• If false, claims that do not have the New Exposure menu have a fixed list of exposures that can be shown
through separate top-level page links in the claim file.
Default: True

ShowNewExposureChooseByCoverageMenuForLossTypes
Use to hide the Actions → New Exposure → Choose By Coverage menu for a specific loss type. In the base application
configuration, the New Exposure menu contains two submenus, one of which is the Choose By Coverage submenu.
Use this parameter to hide the Choose By Coverage submenu for specific loss types. In general practice, Guidewire
recommends that you omit WC from this list. Enter a comma-separated list to specify the loss types for which
you can create a new exposure by coverage. These values are case-sensitive.
Default: None

ShowNewExposureChooseByCoverageTypeMenuForLossTypes
Use to hide the Actions → New Exposure → Choose By Coverage Type menu for a specific loss type. In the base applica-
tion configuration, the New Exposure contains two submenus, one of which is the Choose By Coverage Type submenu.
Use this parameter to hide the Choose By Coverage Type submenu for specific loss types. In general practice, enter a
comma-separated list to specify the loss types for which you can create a new exposure by coverage type. These
values are case-sensitive.
Default: None

78 Chapter 2, Application Configuration Parameters


ClaimCenter 6.0.8 Configuration Guide

ShowNewExposureMenuForLossTypes
Use to hide the Actions → New Exposure menu for a specific loss type. Removing the New Exposure menu for a loss
type also hides the Exposures step in the New Claim wizard for that loss type. Essentially, this parameter determines
for which loss types you can create a new exposure. Enter a comma-separated list to specify the loss types for
which the New Exposure menu appears. For example, enter AUTO, GL, PR to display a New Exposures menu for these
loss types. These values are case-sensitive.
Default: None

UISkin
Name of the ClaimCenter interface skin to use.
Default: Ocean

WizardNextShortcut
Keyboard shortcut for the Next button in the set of wizard buttons. This value can be null.

WizardPrevShortcut
Keyboard shortcut for the Previous button in the set of wizard buttons. This value can be null.

WizardPrevNextButtonsVisible
Controls the visibility of the Previous and Next buttons in a wizard. If set to true, ClaimCenter renders the Back
button on the first wizard step grayed-out to indicate that it is not available. A value of null is acceptable.
Default: False

Work Queue Parameters


InstrumentedWorkerInfoPurgeDaysOld
Number of days to retain instrumentation information for a distributed worker instance before ClaimCenter
deletes it.
Default: 45

WorkItemCreationBatchSize
The maximum number of work items for a work queue writer to create for each transaction.
Default: 100

WorkItemRetryLimit
The maximum number of times that ClaimCenter retries a work item before marking it as failed.
Default: 3

Chapter 2, Application Configuration Parameters 79


ClaimCenter 6.0.8 Configuration Guide

WorkQueueHistoryMaxDownload
The maximum number of ProcessHistory entries to consider when producing the Work Queue History down-
load. 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

80 Chapter 2, Application Configuration Parameters


part II

The Guidewire Development


Environment
chapter 3

Working with Guidewire Studio

This topic describes Guidewire Studio and the Studio development environment.
This topic includes:
• “What Is Guidewire Studio?” on page 83
• “Starting Guidewire Studio” on page 84
• “The Studio Development Environment” on page 85
• “Working with the QuickStart Development Server” on page 86
• “ClaimCenter Configuration Files” on page 88
• “ClaimCenter Resources Tree” on page 90
• “Configuring Diagnostic Logging in Studio” on page 90
• “Configuring Guidewire Studio” on page 91
• “Linking Studio to a SCM System” on page 91
• “Setting Font Display Options” on page 96
• “Setting Code Completion Options” on page 97
• “Setting Server Default Options” on page 99
• “Configuring External Editors” on page 101
• “Setting the Studio Locale” on page 103

What Is Guidewire Studio?


Guidewire Studio is the ClaimCenter administration tool for creating and managing application resources. This
includes Gosu rules, classes, enhancements and plugins, and all of the configuration files used by ClaimCenter in
building and rendering the application.
Using Guidewire Studio, you can:
• 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

Chapter 3, Working with Guidewire Studio 83


ClaimCenter 6.0.8 Configuration Guide

• Create and manage Gosu classes and entity enhancements


• Create and manage the ClaimCenter data entities, business objects, and data types
• Manage plugins and message destinations
• Configure database connections
Guidewire supports running Studio on the Microsoft Windows operating system only. To install Guidewire
Studio, follow the installation directions in the ClaimCenter Installation Guide.

IMPORTANT Do not create installation directories that have spaces in the name. This can prevent
Guidewire Studio from functioning properly.

Starting Guidewire Studio


You start Studio from the Microsoft Windows command line.

IMPORTANT Guidewire supports Guidewire Studio running on the Microsoft Windows platform
only.

To start Guidewire Studio


1. Verify that your JAVA_HOME environment variable is set to the correct Java home directory. (See “Installation
Environments Overview” on page 12 in the Installation Guide for details.)
2. Do either of the following:
• Open a command window and navigate to the application root directory. At the command prompt, type:
studio
• Open a command window and navigate to the application bin directory. At the command prompt, type:
gwcc studio

The first time that you start Guidewire Studio, it starts exceedingly slowly as it must load a large amount of type
information. Subsequent starts, however, generally load much more quickly.

Running Studio in 64-bit Mode


In the base configuration, Studio starts in 32-bit mode. To run Studio in 64-bit mode, do the following:
1. Locate and open studio.bat for editing, then add the following line:
set JAVA_HOME=64-bit JDK directory
Set the value of JAVA_HOME to the root of your 64-bit JDK directory.
2. Locate and open studio.gs for editing, then add the following line within protected function runImpl:
prog.addJvmArg("-XX:+UseCompressedOops")

3. Start Studio as you would otherwise.

To stop Guidewire Studio


To stop Guidewire Studio, simply select Exit from the Studio File menu. It is also possible to stop Studio by
closing its window (by clicking the x in the upper right-hand corner of the window). However, Guidewire recom-
mend that you use the File menu instead.

84 Chapter 3, Working with Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

Restarting Studio
Certain changes that you make in Studio require that you restart Studio before it recognizes those changes. For
example, if you add a new workflow type, then you must stop and restart Studio before a Gosu class that you
create recognizes the workflow.
Guidewire does not strictly require that you always stop and restart Studio after a data model change. However, it
is one way to test that you have not inadvertently made a typing error, for example.

IMPORTANT If you modify the base configuration data model, you must start (or restart) the applica-
tion server. This forces a database upgrade. See “Deploying Configuration Files” on page 31 for more
information.

The Studio Development Environment


Note: See “Installation Environments Overview” on page 12 in the Installation Guide for information on
the software and hardware requirements for ClaimCenter Studio.
Guidewire Studio is a stand-alone development application that runs independently of Guidewire ClaimCenter.
You use Studio to build and test application customization in a development or test mode before deploying your
changes to a production server. Any changes that you make to application files through Studio do not automati-
cally propagate into production. You must specifically build a .war or .ear file and deploy it to a server for the
changes to take effect. (Studio and the production application server—by design—do not share the same config-
uration file system.)

IMPORTANT Guidewire recommends that you do 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 up to 15+
seconds to refresh. This can happen as 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 ClaimCenter
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 applica-
tions, the local file system, and the ClaimCenter application server. You use the QuickStart test server and test
database for testing only as ClaimCenter controls them internally. You can use either the bundled QuickStart
development server bundled with Guidewire ClaimCenter or use an external server such as Tomcat. In general,

Chapter 3, Working with Guidewire Studio 85


ClaimCenter 6.0.8 Configuration Guide

dotted lines indicate actions on your part that you perform manually. For example, you must manually create a
.war or .ear file and manually move it to the production server. The system does not do this for you.

/RFDO 'HYHORSPHQW (QYLURQPHQW 3URGXFWLRQ


$SSOLFDWLRQ6HUYHU

*XLGHZLUH
6WXGLR
'HEXJ
'HYHORSPHQW 'HEXJ
4XLFN6WDUW
6HUYHU
7HVW
6HUYHU
&ODLP&HQWHU
4XLFN6WDUW'DWDEDVH $SSOLFDWLRQ
DQG
&KHFN2XW6XEPLW

&RQILJXUDWLRQ
)LOHV
'DWDEDVH
/RFDO
&RQILJXUDWLRQ :$5($5
)LOHV

6&0
6\VWHP

&ODLP&HQWHU'DWDEDVH

Working with the QuickStart Development Server


Note: If desired, it is possible to use any of the supported application servers in a development environ-
ment, rather than the embedded QuickStart server. To do so, you need to point ClaimCenter to the configu-
ration resources edited by Guidewire Studio. This requires additional configuration, described for each
application server type in “Deploying ClaimCenter to the Application Server” on page 56 in the Installation
Guide.
You cannot start the QuickStart development server directly from Studio. (You cannot manually start the Quick-
Start test server as Studio manages it internally.) Instead, you start this server from the command line. Use the
following command to start the QuickStart server from the bin directory of your Studio installation
ClaimCenter/bin/gwcc dev-start

Use the following dev commands as you work with the QuickStart server. See “Commands Reference” on
page 69 in the Installation Guide for a complete list of commands and how to use them.

Command Action
gwcc dev-start Starts the Development server.
gwcc dev-stop Stops the Development server.
gwcc dev-dropdb Resets QuickStart database associated with the QuickStart development server.

86 Chapter 3, Working with Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

In each application configuration, Guidewire provides the following QuickStart default port settings:

Application Port

ClaimCenter 8080
PolicyCenter 8180
ContactCenter 8280
BillingCenter 8580

Note: For more information on the gwcc dev commands, see “Installing the QuickStart Development Envi-
ronment” on page 32 in the Installation Guide.

Connecting the Development Server to a Database


ClaimCenter running on the QuickStart development server can connect to the same kinds of databases as any of
the other Guidewire-supported application servers. However, for performance reason, Guidewire recommends
that you 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 mode The database does not persist data to the hard drive and it effectively drops the database each time you
restart the server. Guidewire does not recommend this configuration.

You set configuration parameters for the QuickStart database associated with the development server in
config.xml. For example:
<!-- H2 (meant for development/quickstart use only!) -->
<database name="ClaimCenterDatabase" driver="dbcp" dbtype="h2" printcommands="false"
autoupgrade="true" checker="false">
<param name="jdbcURL" value="jdbc:h2:file:/tmp/guidewire/cc"/>
<param name="stmtPool.enabled" value="false"/>
<param name="maxWait" value="30000"/>
<param name="CACHE_SIZE" value="32000"/>
</database>

To set the database mode


In the base configuration, the QuickStart database runs in file mode. You set the database mode using the
jdbcURL parameter value. In file mode the jdbcURL parameter value points to an actual file location. For exam-
ple:
<param name="jdbcURL" value="jdbc:h2:file:/tmp/guidewire/cc"/>

Guidewire uses /tmp/guidewire/cc as the file location in the base configuration.

To drop the QuickStart database


Occasionally, you may want (or need) to drop the QuickStart database. For example, Guidewire recommends
that you drop the QuickStart database under the following circumstances:
• If things get odd from hot-deploying scripting resources (rules or other resources).
• If you make changes to the ClaimCenter data model.
To drop the database, use the gwcc dev-dropdb command. To drop the database manually, delete the files from
the directory specified by the jdbcURL parameter (by default, <root>/tmp/guidewire/cc). The server must be
down if you delete the directory.

Chapter 3, Working with Guidewire Studio 87


ClaimCenter 6.0.8 Configuration Guide

Deploying Your Configuration Changes

IMPORTANT To deploy your configuration changes to an actual production server, you must build a
.war (or .ear) file and deploy it on the application server. By design, you cannot directly deploy
configuration files from Studio to the application server.

As the bundled QuickStart development server and Studio share the same configuration directory, you do not
need to deploy your configuration changes to the QuickStart development server.
To hot-deploy PCF files. 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. Instead, first save your
files, then navigate to the ClaimCenter web interface on the deployment server. After you log into the interface,
reload the PCF configuration using either the Internal Tools page or the Alt+Shift+L shortcut.
You can also reload display keys this way as well.
Note: You do not actually need to be connected to the server from Studio to reload PCF files, although it
does not hurt.

ClaimCenter Configuration Files


WARNING Do not attempt to modify any files other than those in the ClaimCenter/modules/
configuration directory. Any attempt to modify files outside of this directory can cause damage to the
ClaimCenter application and prevent it from starting thereafter.

Installing Guidewire ClaimCenter creates the following directory structure:

Directory Description
admin Contains administrative tools. See “ClaimCenter Administrative Commands” on page 169 for
descriptions.
bin Contains the gwcc batch file and shell script used to launch commands for building and deploying.
See “Commands Reference” on page 69 in the Installation Guide.
build Contains products of build commands such as exploded .war and .ear files and the data and
security dictionaries. This directory is not present when you first install ClaimCenter. The directory
is created when you run one of the build commands.
dist Guidewire application .ear, .war, and .jar files are built in this directory. The directory is created
when you run one of the build commands to generate .war or .ear files.
doc HTML and PDFs of ClaimCenter documentation.
java-api Contains the Java API libraries created by running the gwcc regen-java-api command. See
“Regenerating the Integration Libraries” on page 17 in the Integration Guide.
modules Contains subdirectories including configuration resources for each application component.
soap-api Contains the SOAP API libraries created by running the gwcc regen-soap-api command. See
“Regenerating the Integration Libraries” on page 17 in the Integration Guide.
studio Contains Studio preferences and TypeInfo database caches. Studio generates this directory
when you first launch Studio.
webapps Contains necessary files for using QuickStart or Tomcat application servers or WebLogic and
WebSphere application servers for development.

88 Chapter 3, Working with Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

How ClaimCenter Interprets Modules


ClaimCenter groups configuration resources in module folders within the ClaimCenter/modules directory.
ClaimCenter evaluates these resources at startup according to a specific order. ClaimCenter always checks first
for a resource in the configuration module.
The module directories can contain distinct copies of the same resource file. In that case, the predominant copy is
the first one ClaimCenter finds. ClaimCenter disregards any others.
For example, in the base install, the file Desktop.pcf resides in the following directory:
ClaimCenter/modules/cc/config/web/pcf/desktop

If you edit this file from Guidewire Studio, Studio places a new copy in the configuration directory. The orig-
inal file remains, but ClaimCenter ignores it for as long as the edited one exists. If you delete the edited copy
from the configuration module, ClaimCenter uses the copy in the cc module.

Edited Resource Files Reside in the Configuration Module Only


The configuration module is the only place for configured resources. As ClaimCenter starts, a checksum
process verifies that no files have been changed in any directory except for those in the configuration directory.
If this process detects an invalid checksum, ClaimCenter does not start. In this case, overwrite any changes to all
modules except for the configuration directory and try again.
If you use Guidewire Studio to edit a configuration file, Studio automatically copies the file to the
configuration module, if a copy is not already present. Guidewire recommends that you use Studio to edit
configuration files to minimize the risk of accidentally editing a file outside the configuration module.

Key Directories
The installation process creates a configuration environment for ClaimCenter. In this environment, you can find
all of the files needed to configure ClaimCenter in two directories:
• The main directory of the configuration environment. In the default ClaimCenter installation, the location of
this directory is ClaimCenter/modules/configuration.
• ClaimCenter/modules/configuration/config contains the application server configuration files.
The installation process also installs a set of system administration tools in ClaimCenter/admin/bin.
ClaimCenter runs within a J2EE server container. To deploy ClaimCenter, 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 ClaimCenter (deployed
as the cc.war application) running on a Tomcat J2EE server on Windows, the deployment directory might be
C:\Tomcat\webapps\cc.

For instructions on building and deploying ClaimCenter, see the ClaimCenter Installation Guide.

Studio File Structure


Studio presents a virtual directory structure in its Resources pane. It flattens all the configuration files into a single
configuration module. Studio transparently manages these files and their (editable) copies. You need not be
concerned about which directory a file resides, Studio manages this for you. If you add a file (for example, a new
email or note template), only place it in the appropriate place in the modules/configuration directory. Studio
monitors this directory and displays all new files in the Resources pane as you add them.

Recovering from Incorrect Data Model Changes


If you incorrectly modify a data model configuration file, Studio refuses to open the next time you attempt to
start it. This is because it cannot build the type system without a valid data model. Instead, it provides an Excep-

Chapter 3, Working with Guidewire Studio 89


ClaimCenter 6.0.8 Configuration Guide

tions dialog that provides information about the error, including the name of the problem file and the text of the
error message. You must correct the error before Studio can start correctly.
The Exceptions dialog also contains a Details button that (if clicked) opens another dialog that provides more infor-
mation about the problem. It also contains a button that (if clicked) opens the problem file in an external editor
for ease in correcting the problem. (You must have linked an external editor to the file type in Studio for this to
work. To link an external editor to a file type, see “Configuring External Editors” on page 101.)
Entity type system corruption. Occasionally, the entity type system itself becomes corrupt. This condition can
cause Studio to hang (to refuse to complete the initialization process). You can correct this condition by deleting
the following ClaimCenter application folder and all its contents:
ClaimCenter/Studio/db

Deleting this folder forces Studio to rebuild the type system the next time that you open Studio, which recreates
the files in this folder.

ClaimCenter Resources Tree


The left-hand pane in the Studio window displays a list of ClaimCenter resources that you can access through
ClaimCenter Studio. This is the Resources tree, which groups the various ClaimCenter resources into folders or
nodes. Clicking a node expands that node. In many cases, it opens an editor for that resource type as well.
Directly above the Resources tree, you see a drop-down for filtering the visible resources. The drop-down
provides you with the following choices:

Filter Displays

All resources (Default) All resources, both active and inactive.


Edited here Only those resources that you newly created in the configuration module or those that you copied-on-edit
to the configuration module. This filter is available in configuration or development mode only.
Edited now Only those resources that are currently open for edit, according to the active version control system.

See Also
• “Working with Studio Resources” on page 120

Configuring Diagnostic Logging in Studio


Guidewire Studio provides the ability to enable additional diagnostic logging in the Studio console. In the base
configuration, this includes timing information on certain specific actions in Studio only. For example, the
following log entries indicate that focus switched between applications to activate the Studio main window. The
last entry indicates that a different view tab became active in Studio.
[java] 2010-09-08 09:02:29,234 DEBUG Deactivate Task: 256ms
[java] 2010-09-08 09:02:37,711 DEBUG Activation Task: 264ms
[java] 2010-09-08 09:02:37,819 DEBUG selectTab(...) : 12ms
...

In the base configuration, Guidewire disables this functionality by design. In general, there is no need to enable
this functionality unless Guidewire instructs you to do so.
Note: You can find information on application logging in “Configuring Logging” on page 35 in the System
Administration Guide.

To enable diagnostic logging in Studio


1. Start Guidewire Studio, if it is not already running.

90 Chapter 3, Working with Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

2. Within the Resources tree, navigate to Other Resource → logging.

3. Select New → Other file from the contextual right-click menu.

4. Enter studio.properties in the New File dialog. Studio creates a blank file with this name and places it in the
logging folder. You see this file in the right-hand side of the screen, in a view tab labeled studio.properties.

5. Enter the following in this file.


log4j.category.Studio=DEBUG
This text is case-insensitive.
6. Save your work and restart Studio. Studio now logs all actions in a time-stamped list in the Studio console
window.

Notes
• Studio enables diagnostic logging only if you enter the required text exactly as indicated.
• Studio disables this functionality if you remove all text from the file or if you deviate from the standard text
(other than case).

Configuring Guidewire Studio


There are a number of configuration tasks that you can access from the Studio Tools → Options menu. These
include:
• Linking Studio to a SCM System
• Setting Code Completion Options
• Configuring External Editors
• Setting Font Display Options
• Setting Server Default Options
• Setting the Studio Locale

Linking Studio to a SCM System


Guidewire recommends that you maintain your ClaimCenter configuration files in a Software Configuration
Management (SCM) system such as Perforce. Using such a system ensures that you can save, manage, and
restore any modifications that you make to a file. Guidewire provides support for the Perforce, CVS, and SVN
(Subversion) version control systems. Guidewire also provides support for a generic (non-specific) version con-
trol system.
If you have such a system, Guidewire strongly recommends that you add your ClaimCenter installation directory
and files to it as part of setting up your configuration environment. If you store the Studio configuration files in a
SCM system, Studio can do the following for you:
• Mark a newly created file to add to your version control system on the next file checkin.
• Check out the file for editing if you modify that file from within Studio.
• Revert your file to the last checked in version to reverse your changes. (This is not true for all SCM systems.)
• Synchronize the file to the latest version in your SCM system. (This is not true for all SCM systems.)
• Submit your version of a file to the SCM system.
As with any set of files under version control, there are cases in which two different people edit a file concur-
rently, thus resulting in a conflict during file check-in. It is the responsibility of the authors to resolve these
conflicts before checking in changes.

Chapter 3, Working with Guidewire Studio 91


ClaimCenter 6.0.8 Configuration Guide

Linking Studio to a Software Configuration Management (SCM) System


Linking Studio to a SCM is a two-step process:
1. You must first set up the SCM-Studio association in Studio itself. See “Configuring Version Control” on
page 94 for details on linking Studio to one of the supported SCM systems.
2. You must then modify ClaimCenter/modules/ant/build.properties to include a scm.regex statement.
There are several (commented-out) examples of this statement in the file, one for CVS and one for SVN
(Subversion). Studio uses the scm.regex statement in determining which file directories to exclude in calcu-
lating the checksum for source-controlled files.

Studio and Your Version Control System


Check the application product files into a Guidewire-supported SCM system as specified in its documentation.
Check all Guidewire application files into your SCM system. However, the only files you ever need modify and
need to check in are files in the module/configuration/config/ directory. As you open and edit files in Studio,
Studio places copies of the files in this directory. It is these files that Studio checks into your version control
system, if you select that option in the Studio menu.

WARNING If you modify a base application file in any directory other than modules/configuration,
you can damage ClaimCenter, so much so that it can refuse to start.

IMPORTANT Guidewire strongly recommends that you set all of the ClaimCenter application direc-
tories and files to read-only except for the modules/configuration directory and its files. (This is
especially true if you are not using a SCM to manage your files.) This ensures that you do not inadver-
tently change one of the application base files, which can invalidate your ClaimCenter install.

Version Control Systems and Keyword Substitution


Certain SCM systems perform keyword substitution on text strings that they encounter in a file (for example,
replacing ##DATE with the current date).
• If you use a SCM system that performs keyword substitution, you must turn off this feature for your initial
check-in of the ClaimCenter application files. Otherwise, it can invalidate the configuration checksum, which
invalidates your ClaimCenter install.
• If it is not possible to turn off this feature, then zip all the application files and check the zipped file into your
SCM system.

Accessing the Source Control Commands


To access the source control commands, select a file in the Resources tree and select Source Control from the File
right-click menu. You see the following commands:

Command Use to

Add Mark a newly created file to “add” to the source control system.
Edit Open (check out) a file for editing. If the file is a base configuration file, Studio makes a copy of the file in the
modules/configuration directory. It is this file that you edit, and, it is this file that you must check into source
control.
Revert Revert a file back to its previously checked-in version in source control.
Sync Synchronize your local copy of the file with the last previously checked-in version of the file.
Submit Submit your local (modified) version of a file to the SCM system.

Note: Guidewire supports the Add, Edit, Revert, Synch, and Submit commands for the CVS and SVN source
control management systems. Studio supports all of these commands for P4 (Perforce) except for Submit.

92 Chapter 3, Working with Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

Submitting Files to the SCM System


If you use a SCM system to manage your files, ClaimCenter gives you option of submitting changed files to the
SCM system using a Studio menu command. The Submit menu command is available only if you have opened the
resource for editing or adding to source control. Selecting the Submit command opens the Submit dialog. Within
the Submit dialog, Studio selects your resource by default for submission to the SCM system. From within this
same dialog, you also have the option of submitting “All files”, which submits all files currently open for edit or
add to the SCM system.

Deleting Files
On the Edit menu, you see a Delete or a Revert to Base command after selecting a resource file, depending on the
context.
• If you created the file, then you see the Delete command, and you can delete your local copy of the file.
• If the file is part of the base configuration, then Studio does not permit you to delete the file. If you have made
a copy of the file, you can see Revert to Base. If used, Studio deletes your modified copy of the file, and, there-
after, uses the base configuration version of the file.
• If a file exists only in the base configuration, then Studio disables these commands. (You can neither delete
the base configuration file nor delete a local copy of the file.)

Viewing the SCM Log


You can view a copy of the SCM log by navigating to the Studio Tools menu, then selecting SCM Console. Studio
opens a popup window that displays the SCM commands and error messages as they occur.

IMPORTANT Guidewire recommends that you do the following the first time that you try to use
Studio with a CVS, SVN, or P4 software configuration management system. Before continuing, open
up the SCM Console and verify that the SCM system is working properly. The SCM Console displays
all commands issued by Studio to the SCM system, and any error messages that the SVN server might
throw. From the SCM Console, you can determine if your SCM adapter is working correctly or not.

To edit a SCM file within Studio


1. Select a resource in the Resources tree. If the file is not already checked out, Studio opens a dialog box that
informs you the file is not open for edit. It then asks you whether you want to edit that file. (Studio highlights
the names of checked-out resource files in blue.)
2. Select Yes if you want to continue editing or No otherwise.
• If you select Yes, Studio automatically checks out the file from the SCM system so that you can edit it.
• If you select No, Studio opens a non-editable, read-only version of the file.
If you have not edited the file before, Studio creates a copy of the (read-only) base configuration file in the
appropriate /modules/cofiguration/config directory. This is the file that you edit.
3. Submit the modified file directly to the SCM system to save the file after you finish editing it.

You can also mark a file for deletion or revert it to a previous version. You do this by selecting the file in the
Studio Resources pane, selecting Source Control from the right-click menu, and then the appropriate command.
Note: Studio colors the file names in the Resources tree various colors to indicate its state, for example, red,
green, blue, purple, and black. For a discussion of what these colors mean, see “Working with Studio
Resources” on page 120.

Chapter 3, Working with Guidewire Studio 93


ClaimCenter 6.0.8 Configuration Guide

Configuring Version Control


To set how Studio interacts with a SCM system, navigate to Tools → Options to open the Configuration Settings dialog
box, then select Version Control from Project Settings. Use this dialog to select the SCM system and to set any neces-
sary connection parameters.
In the base configuration, Guidewire provides the following version control modules that you can use to integrate
Studio with a supported SCM system:
• CVS Module
• File Filter Adapter Module
• File System Module
• Perforce Module
• Subversion
You need to set connection parameters for most of these.
Note: Studio tests the connection to your SCM system as you exit the Version Control dialog. If it cannot make
a connection, Studio generates an error. You must correct the error before you can exit the dialog.
After you integrate Studio with your SCM system, you can view the output of the software configuration
management system in Studio SCM Console (which is also under the Tools menu).

CVS Module
Note: If you select CVS as the SCM system, Studio disables the Edit option in the Source Control right-click
menu. This is because CVS does not have the concept of opening a file for edit. However, if a file is writ-
able, Studio considers it to be in the open for edit state and paints the resource blue in the resource tree.
Also, if you check a file into a CVS source control management system, then you cannot revert that file
through Studio.
If using CVS (Concurrent Versions System) as your SCM system, then do the following before you launch
Studio and make your selection in the Version Control dialog:
• Log into the CVS server at least one time and check out files from the CVS server before you open Studio.
This negates the need to ask for the username, password and server connection parameters from within
Studio. This does not mean that the files must remain checked out at the time you run Studio. It simply means
that you must have previously checked them out, followed by checking them back in or reverting them.
• Set the CVSROOT environment variable before launching Studio. The CVSROOT environment variable
contains connection information to the CVS server, such as :pserver:username@host/some/dir. (The CVS
server requires this value to check out files for the first time.)
• Verify that you have the command line cvs.exe client software installed.
After you select the CVS option in Studio, enter the full path to the CVS executable and the client root. The
client root is the local path of root directory ClaimCenter/modules/configuration. (This is the only application
directory that you ever need modify.)
Guidewire recommends that you check out your CVS repositories as read-only. To enforce this, use the -r global
option during checkout, for example:
cvs -r checkout

File Filter Adapter Module

IMPORTANT If you use a non-Guidewire-supported version control system, then Guidewire recom-
mends that you use this adapter. Do not attempt to write your own SCM adapter. Guidewire specifically
does not support any attempt to create your own SCM adapter.

94 Chapter 3, Working with Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

If you use a SCM system for which Guidewire does not provide a specified version control module, then select
the File Filter Adapter module. This allows you to skip the control files specific to your system with a regular expres-
sion. Studio ignores all files whose absolute name matches the given regular expression.
Although not recommended, you can also use this SCM adapter for both the Subversion (SVN) and CVS source
control systems. To do so, you need to provide a regular expression to indicate which files and folders to ignore.
• If using a CVS system, enter the following as the regular expression:
.*CVS.*
• If using SVN, enter a regular expression similar to the following:
.*\\\.svn(\\.*)*

File System Module


If you do not select a SCM system, Studio defaults the Version Control Module to File System. If you set a file or folder
within the file system as read-only, Studio removes the read-only flag on the file if you select Source Control → Edit.
As with the other options, Studio indicates files or folders that you open for editing with a blue color in the
Resources tree.

Perforce Module
Note: It is possible that you also need to set a P4CLIENT environment variable for the Microsoft Window's
operating system. To do so, open the System Properties → Environment Variables dialog, find (or create) the
P4CLIENT variable, and enter the name of your local machine. You must perform this action and also
configure Guidewire Studio to recognize the Perforce client.
If you select the Perforce module, Studio presents you with several different options. You can either choose to use
the default Perforce configuration, or to set specific Perforce configuration parameters yourself. In either case,
you must set the path to the P4 executable.
Use system’s default Perforce configuration. If you select this option, you need only enter the path to the P4
executable. Studio uses the system’s default Perforce configuration.
Specify different Perforce settings. If you select this option, then you must also enter values for the following
fields.
• Port - The default is <p4 server>:1666.
• Client - The name of the Perforce ClientSpec.
• User and Password - Valid username and password to use to log into Perforce.
Path to P4 executable. Enter the path to your Perforce executable:
• If you have a PERFORCE_HOME environment variable set, then you can accept the default p4.
• If you do not have a PERFORCE_HOME environment variable set, enter the full path. For example: C:\Program
Files\Perforce.

Note: Guidewire supports the Add, Edit, Revert, and Synch operations for P4 (Perforce). Studio does not
support the Submit operation with Perforce.

Subversion
The Studio Subversion (SVN) version control module is very similar in operation to the CVS version control
module. It makes many of the same assumptions.
Like CVS:
• You must check out all your files from source control at least one time before using Studio. See “CVS
Module” on page 94 for details.

Chapter 3, Working with Guidewire Studio 95


ClaimCenter 6.0.8 Configuration Guide

• You must also choose the (default) option to keep the user's credentials locally. Studio performs no authenti-
cation with the remote server and expects the command line executable to do it.
• The Sync operation is not available in Studio.
• A file is open for edit if the file is writable. The Edit operation is not available in Studio.
• You need to the enter the client root path, and the path to the SCM executable.
Unlike CVS, however, you can revert a file.
To configure Studio to work with the Subversion SCM system, enter the path to the Subversion executable and
the path to the client root. The client root is the local path of root directory ClaimCenter/modules/
configuration. (This is the only application directory that you ever need to modify.)

You must enter the full path to the configuration module. For example, you would enter something similar to the
following:
C:\Guidewire\workspace\cc\modules\configuration

You must also enter the full path to the SVN executable. For example, you might enter something similar to the
following:
C:\Program Files\CollabNet Subversion\svn.exe

IMPORTANT Guidewire only supports Subversion clients that provide a command line interface.
Studio needs this hook to implement the source control functionality. If your Subversion client does not
support a command line interface, then you cannot use it with Guidewire Studio. For example, you
cannot use the open source TortoiseSVN as a Subversion client as it does not support a command line
interface.

Setting File Update and Deletion Parameters (General Settings Tab)


Use the fields on this tab to specify whether Studio also updates the SCM change list as you add or delete a
resource. For example, if you add a new rule, Studio creates a corresponding file in the modules/
configuration/config/resources directory. If you instruct it, Studio can also modify the SCM change list and
indicate that the file needs adding to source control (Open for add).
The following list describes the options that you can set on this tab.

Option Description

Show options before adding or deleting Open the SCM file add (delete) options dialog before modifying the SCM
change list.
Add or delete silently Add the file to the SCM change list for addition (or deletion) without further
human action.
Do not add or delete Do not add the file to the SCM change list.
Show “Clear read-only Status” Dialog Display a dialog for read-only files to enable you to clear the read-only flag.

Setting Font Display Options


To set how Studio handles various font and Gosu editor options, do the following. First, navigate to Tools →
Options to open the Configuration Settings dialog box, then select Colors & Fonts from Project Settings. Use this dialog to
set the how Studio displays text in the Gosu editor. You can set the font type and size of the Gosu code, for
example. 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 so that you can view the effect of
your choices immediately.
Using this dialog, you can set the following:
• Text font, size, and anti-alias properties

96 Chapter 3, Working with Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

• Character format properties


• Foreground and background colors of various Gosu elements
You can also enable the use of the mouse wheel to increase or decrease the font size.

Setting Code Completion Options


To set how Studio handles various coding options, navigate to Tools → Options to open the Configuration Settings
dialog box, then select Code Completion from Project Settings. Use this dialog to set how Studio handles deprecated
methods and the transformation of Java code into Gosu:
• Allow Deprecated References
• SmartFix

Allow Deprecated References


Studio provides the means for you to enable or disable viewing of deprecated items. Deprecation usually refers to
the gradual phasing-out of a software or programming language feature. Over time, a method or property can
become obsolete and Guidewire discourages its use. However, it may still be possible to use the deprecated item
so as to provide backward compatibly. If in doubt, consult the Studio API reference to determine if a method or
property is still valid.
You can choose to either view or hide deprecated items in the Studio SmartHelp and the Complete Code windows.
Choosing Tools → Options, then Code Completion, opens the following dialog box:
In the dialog box, select Allow deprecated references to display deprecated items within Studio. If made visible,
Studio displays a deprecated item in SmartHelp by placing a line through it. It is still possible to select the depre-
cated item, however.
Studio indicates a deprecated item using one of the following methods:
• In SmartHelp, Studio strikes a line through the deprecated item.
• In Gosu code (within an editor), Studio underlines the deprecated item.
Studio also turns the validation status indicator to yellow if the Gosu code is valid but contains warnings.
However, if you insert a deprecated item into a rule, it is always visible in the rule, regardless of the status of this
setting.

SmartFix
Use the Studio SmartFix settings to set the level of automatic code completion with the Studio editors. Checking an
option activates it. Guidewire provides the following SmartFix settings:
• Add import for unrecognized symbol
• Make implicit coercion explicit
• Fix Java-style type cast
• Create unrecognized display key
• Convert string literal to new display key
• Change old constructor syntax to new
• Remove unused variable
• Add missing 'override' modifier
• Implement functions and properties

Chapter 3, Working with Guidewire Studio 97


ClaimCenter 6.0.8 Configuration Guide

Add import for unrecognized symbol


This SmartFix adds a Gosu uses statement to import the type if you enter a name that is a valid relative type
name. For example, if you type:
var x : StringBuilder

SmartFix adds the following uses statement to your Gosu class:


uses java.util.StringBuilder

Make implicit coercion explicit


This SmartFix detects coercion warnings, and, if invoked, appropriately casts the implicitly coerced expression
to make it explicit. For example, if you enter:
var x : String
var y = 42
x = y // coercion warning

SmartFix casts the last statement to make it explicit:


x = y as String

Fix Java-style type cast


This SmartFix detects Java-style casting and changes it to Gosu style casting. For example, if you enter:
(String)42

SmartFix converts this to Gosu casting


42 as String

Create unrecognized display key


This SmartFix detects a compile error on an unrecognized display key and automatically creates one. For
example, if you enter:
displaykey.Example // Example does not exist yet

SmartFix automatically creates the display key for you and lets you edit the name.

Convert string literal to new display key


This SmartFix detects string literals and prompts you to create a display key for it. This is to aid in making Gosu
code more localizable.

Change old constructor syntax to new


This SmartFix detects old-style constructor syntax and automatically converts it to the new style. For example, if
you enter:
class MyGosuClass {
MyGosuClass ()
...
}

SmartFix automatically makes the following conversion:


class MyGosuClass {
construct()
...
}

Remove unused variable


This SmartFix detects unused variables and automatically removes them.

Add missing 'override' modifier


This SmartFix detects a missing override modifier on methods and properties that override a super member.
For example, if you enter:
function OverrideThisFunction()

98 Chapter 3, Working with Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

SmartFix automatically changes this to the following:


override function OverrideThisFunction()

Implement functions and properties


This SmartFix detects compile errors indicating a class has not implemented one or more methods and/or proper-
ties from an abstract super class or implemented interface. If invoked, Studio automatically generates default
implementations for the missing methods (or properties) and inserts the missing items in the class.

Setting Server Default Options


Studio has two connection modes of operation:
• Disconnected, in which you can edit local resources through Studio, but there is no database connection.
Because it lacks a database connection, you cannot use the Studio query-oriented features in disconnected
mode. For example, code completion for activity pattern, user, or group values does not work in this mode.
By default, Studio starts in disconnected mode.
• Connected, in which Studio interacts with the application server for debugging purposes. You almost never
need to connect to a remote instance. If you do this mode, do so only for the purposes of debugging in Studio
to help diagnose a problem. With that said, it is forbidden to connect Studio to a production server for the
purposes of tweaking or configuring in any way. Guidewire specifically designs Studio to connect to a single
local server.
Studio indicates its connection mode in the lower right-hand corner of the screen, along with the words Discon-
nected or Connected:

• Disconnected -
• Connected -
You can also determine the connection mode by opening the File menu and looking at the menu commands. There
are two commands that pertain to the connection mode and that you can use to either establish a connection with
the application (remote) server or to disconnect from it. The connection mode is the opposite of whichever one of
these commands is active. (For example, if the Connect to Server... command is active, then Studio is operating in
disconnected mode.)
Note: Studio does not automatically detect a running Guidewire application server, nor can it automatically
connect to an application server. You must manually connect to the server.
Connecting to a running production server. Guidewire requires that you provide valid user credentials (username
and password) if you attempt to connect Studio to Guidewire ClaimCenter running in Production mode. The user
must have the Administer Rules permission (code, ruleadmin). Studio fails to connect if either the following are
true:
• The user does not have valid credentials to authenticate.
• The user does not have the Administer Rules permission (code, ruleadmin).
You do not need to provide user credentials if the application server is running in Development or Test mode.

WARNING In general, Guidewire recommends that you not attempt to connect Studio to a
production server. Use this option with extreme care and caution. This operation has the potential to
modify production code and data. If you do so, Guidewire strongly recommends that you first set
configuration parameter ResourcesMutable to false.

To connect to an application server


1. Open the login dialog using one of the following methods:

Chapter 3, Working with Guidewire Studio 99


ClaimCenter 6.0.8 Configuration Guide

• Click Disconnected in the lower right-hand corner of the screen.


• Select Connect to Server... from the Studio File menu.
2. Verify that your connection URL is correct. In the default configuration, this is some variation of the
following:
http://localhost:8080/cc/

3. (Optional) Select the check box next to Log in as specific user to connect as a specific user or user role. Selecting
this option opens User name and Password fields. Enter a valid user name and password combination. This can
be any valid combination, for any user role, not necessarily just supervisor or administrator roles. You must
provide the valid user credentials to connect to a running application server in Production mode.

To set the default application server URL


1. Select Options from the Studio Tools menu. The Configuration Settings dialog opens.

2. Select Remote Server.

3. In Connections Options, enter a value for Server URL. Studio uses this value in the login dialog. Enter something
similar to the following if the application server and the local file system physically exist on the same
machine.
http://localhost:8080/cc/

Note: You must enter the fully qualified domain if the application server and the local file system are not
physically located on the same machine.
4. (Optional) You can also enter a value in Connect Script that defines the file location of a script for Studio to use
while connecting to a Guidewire application server:
• Create the script as a shell command, for example: run_my_server.bat.
• Include only commands directed at starting the Guidewire application server.
• Place this script in the Studio working directory, which is ClaimCenter/Studio.
• Enter the path in the Connect Script text box. For example, after you place file run_my_server.bat in the
temp directory in the Studio folder, enter /temp/run_my_server.bat in the text box.
Studio displays any errors it encounters in an error message dialog. It also echoes the error messages to the
Studio console.
5. Click OK to save your work and close the Configuration Settings dialog.

Restarting the Application Server


If you modify some of the ClaimCenter resources in Guidewire Studio, you must restart the application server to
force a database upgrade. You must also restart the application server if you delete, or revert to base, certain
resources. Resources for which you must restart the application server include:
• Entities names
• Web services
• Quick Jump commands
• Plugins
• Typelists
• Display keys
• Messaging environments
• Workflows
Studio indicates that you must restart the application server by placing a restart icon in the lower right-hand
corner of the screen, next to the connection icon.

100 Chapter 3, Working with Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

In general:
• If you modify a Gosu rule, class, or enhancement, then you do not need to restart the application server. This
is because Studio and the development application server share the same file space.
• If you modify a PCF file or a display key and want to see the changes within ClaimCenter, then log into
ClaimCenter as an administrator. Then, select Internal Tools → Reload PCF Files.
• If you need to move data model changes to a production server, then you do the following:
• Generate a .war (.ear) file.
• Transfer it to the production server machine.
• Restart the production application server.

Configuring External Editors


Studio contains built-in editors for many, if not most, of the files types that it manages. In general:
• For files extensions for which you have configured an external editor (through Tools → Options), Studio uses
that file association to open an external editor.
• For file extensions that Studio recognizes, but for which it does not have a specific editor, Studio opens the
file in its embedded text editor, in a view tab.
• For file extensions that Studio does not recognize and for which you have not configured an external editor,
Studio passes the request to the Windows operating system. The Windows operating system then uses its
default editor for that file type to open the file in an external editor.
File extensions that use the built-in text editor. Studio opens the following file types in its built-in text editor:

.css .gst .vm


.eix .html .xml
.eti .java .xsd
.etx .js .xsl
.gs .properties
.gsm .txt

File extension .gs is a special case:


• Within Other Resources, Studio opens .gs files in its embedded text editor.
• Within Classes and Tests, Studio opens .gs files within its built-in Gosu editor.

Associating an External Editor to a File Type


To instruct Studio to open an external editor to handle a specific file type, navigate to Tools → Options to open the
Configuration Settings dialog box, then select External Editors. While you edit most Studio-managed resources directly
within Studio, you must use an editor external to Studio to edit a small number of files.
You use the External Editors dialog to link a specific file type to a specific editor. To add an editor, click Add and
enter the file extension and the path to the executable for your chosen editor.
At the minimum, Guidewire recommends that Studio users configure external editors for the following file types:
• *.gif
• *.jpg

Chapter 3, Working with Guidewire Studio 101


ClaimCenter 6.0.8 Configuration Guide

• *.png

IMPORTANT If you use a third-party tool to edit ClaimCenter configuration files, Guidewire recom-
mends that you work with one that fully supports Unicode character sets. If the tool does not handle
Unicode characters correctly, it may create errors that you then see in the Guidewire Data Dictionary.
This is not an issue with the Data Dictionary. It occurs only if the third-party tool cannot handle
Unicode values correctly.

Working with an External XML Tool


It is possible to configure Studio to open .xml files directly in an XML editor that is external to Guidewire
Studio. To facilitate this process, Guidewire provides an XML attribute named xmlns. The xmlns attribute
defines the namespace for the XML elements in the file. This namespace (analogous to a package in Java) serves
to further qualify a class name, primarily to avoid collisions between like-named elements from other schemas.
You can configure many XML editors to associate a namespace with an XSD. However, merely defining the
namespace within Guidewire ClaimCenter is not sufficient to inform the XML editor which XSD to use in vali-
dating an XML document. You must configure the XML editor manually to associate the namespace with the
XSD.

IMPORTANT The xmlns attribute is currently optional. However, Guidewire strongly recommends
that you add it to your entity and typelist files as Guidewire reserves the right to make this attribute
required in the future.

Entity files. Use the following for entity files (.eti and .etx):
<entity xmlns="http://guidewire.com/datamodel" ...

Typelist files. Use the following for typelist files (.tti and .ttx):
<typelist xmlns="http://guidewire.com/typelists" ...

IMPORTANT If you use a third-party tool to edit ClaimCenter configuration files, Guidewire recom-
mends that you work with one that fully supports UTF-8 file encoding. If the editing tool does not
handle UTF-8 characters correctly, it can create errors. For XML files, it is possible to use a different
file encoding, as long as you specify it in the XML prolog. For all other files, use UTF-8.

Configuring the External Difference Tool


You also use this dialog to set the tool to use in diffing (determining the differences) between two different
versions of the same file. To set, browse to the executable for your difference tool. For example, if you use
Araxis Merge as your difference tool, then you would browse to the following location:
C:\Program Files\Araxis\Araxis Merge v6.5\Merge.exe

To open the file in your chosen tool and view the differences, select a file in the Studio Resources pane,
right-click, and then click Source Control → Diff against base.

WARNING Do not use a difference tool to modify ClaimCenter configuration files. This can poten-
tially invalidate your ClaimCenter installation and make it unable to start.

102 Chapter 3, Working with Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

Setting the Studio Locale


If you configure Studio for multiple locales, then you see an additional locale drop-down picker in the lower
right-hand corner of the screen. Selecting a different locale changes the Studio labels (display keys) to reflect that
locale if you have translated versions of those display keys. If you do not, then you see an error message for each
display key for which Studio cannot find a translation.

See Also
• For information on configuring Studio for different locales, see “Localizing the Development Environment”
on page 491.

Chapter 3, Working with Guidewire Studio 103


ClaimCenter 6.0.8 Configuration Guide

104 Chapter 3, Working with Guidewire Studio


chapter 4

ClaimCenter Studio and Gosu

This topic discusses how to work with Gosu code in ClaimCenter Studio.
This topic includes:
• “Gosu Building Blocks” on page 105
• “Gosu Case Sensitivity” on page 106
• “Working with Gosu in ClaimCenter Studio” on page 107
• “Gosu Packages” on page 107
• “Gosu Classes” on page 107
• “Gosu Enhancements” on page 110
• “The Guidewire XML Model” on page 111
• “Script Parameters” on page 111

Gosu Building Blocks


Guidewire provides a number of building blocks to assist you in implementing, configuring, and testing your
business logic in ClaimCenter. These include the following:
• Gosu classes and enhancements
• Gosu base library methods
• Gosu rules
• Gosu tests
• Gosu script parameters
For information on each of these, see the following:
• For general information on Gosu classes, see “Classes” on page 169 in the Gosu Reference Guide.
• For information on the ClaimCenter base configuration classes see, “ClaimCenter Base Configuration
Classes” on page 108.

Chapter 4, ClaimCenter Studio and Gosu 105


ClaimCenter 6.0.8 Configuration Guide

• For information on the @export annotation and how it effects a class in Studio, see “Class Visibility in
Studio” on page 109.
• For general information on Gosu enhancements, see “Enhancements” on page 209 in the Gosu Reference
Guide.
• For information on using Gosu business rules within Guidewire ClaimCenter, see ClaimCenter Rules Guide.
• For information on script parameters and how to use them in Gosu code, see “Script Parameters” on page 111.

Gosu Case Sensitivity


Gosu code compiles and run faster if you write all your Gosu as case-sensitive code. Even though it is not
currently required, Guidewire strongly recommends that you always use the proper capitalization precisely as
defined for all of the following:
• proper type names
• variable names
• keywords (such as var and if)
• method names
• property names
• package names
• all other language elements.
If you do not, your code compiles slower, runs slower, and requires more memory at compile time and at run
time. Additionally, using proper capitalization makes your code easier to read.
For example, if an object has a Name property, do not write:
var n = myObject.name

Instead, use the code:


var n = myObject.Name

Similarly, use class names properly. Do not write:


var a = new address()

Instead, use the code:


var a = new Address()

Capitalization in the middle of a word (camel-case) is also important. Do not write:


var date1 = gw.api.util.DateUtil.currentdate()

Instead, use the code:


var date2 = gw.api.util.DateUtil.currentDate()

Guidewire strongly recommends that you change any existing code to be case-sensitive code, and writing all new
code to follow these guidelines. To assist you, Studio highlights issues with case sensitivity. It also provides a
tool to automatically fix all case sensitivity issues so your code compiles and runs as fast as possible.

IMPORTANT Guidewire plans to strictly enforce Gosu case sensitivity in a future release. Guidewire
encourages you to correct all case sensitivity issues now for performance reasons and for future
upgrade compatibility.

106 Chapter 4, ClaimCenter Studio and Gosu


ClaimCenter 6.0.8 Configuration Guide

Working with Gosu in ClaimCenter Studio


It is possible to create the following by selecting New from the Classes contextual right-click menu:

Classes → New → For information, see...

Class • “Classes” on page 169 in the Gosu Reference Guide


• “Gosu Classes” on page 107
Interface • “Interfaces” on page 191 in the Gosu Reference Guide
Enhancement • “Enhancements” on page 209 in the Gosu Reference Guide
• “Gosu Enhancements” on page 110
Template • “Gosu Templates” on page 291 in the Gosu Reference Guide
Package • “Gosu Packages” on page 107
Guidewire XML Model • “The Guidewire XML (GX) Modeler” on page 262 in the Gosu Reference Guide

Gosu Packages
Guidewire ClaimCenter 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.

To create a new package


It is possible to nest package names to create a dot-separated package name by selecting a package and repeating
these steps.
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.

Note: You can only delete an empty package.

Gosu Classes
Gosu classes are analogous to Java classes in that they have a package structure which contains the individual
classes and the classes are extendable. Using Gosu, you can write your own custom classes and call these classes
from within Gosu. You create and reference Gosu classes by name, just as you would in Java. For example,
suppose that you want to define a class called MyClass (in package MyPackage) with a method called getName.
You would first create the class (in the Classes folder), then call it like this:
var myClassInstance = new MyPackage.MyClass()
var name = myClassInstance.getName()

Studio stores enhancement files in the Classes folder in the Resources tree. Gosu class files end in .gs.
Note: For more information on Gosu classes, see the Gosu Reference Guide.

To create a new class


1. First create a package for your new class, if you have not already done so.

2. Select the package in the Resources tree.

3. Right-click, select New, then Class from the menu.

Chapter 4, ClaimCenter Studio and Gosu 107


ClaimCenter 6.0.8 Configuration Guide

4. Enter the name for this class. (You can also set the resource context for this class at this time.)

5. Click OK to save your work and exit this dialog.

See also
• “ClaimCenter Base Configuration Classes” on page 108
• “Class Visibility in Studio” on page 109
• “Preloading Gosu Classes” on page 109

ClaimCenter Base Configuration Classes


The Classes resource folder contains Guidewire classes and enhancements—divided into packages—that provide
additional business functionality. In the base configuration, Studio contains the following packages in the Classes
folder:
• gw
• libraries
• util

If you create new classes and enhancements, Guidewire recommends that you create your own subpackages in
the Classes folder, rather than adding to the existing Guidewire folders.

The gw Package
In the base ClaimCenter 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 libraries Package


The libraries package contains a number of pre-built functions. To access these functions, either enter the full
package path (for example):
libraries.Activityassignment.getUserRoleGroupTypeBasedonActivityPattern( activitypattern )

or, place a uses statement at the top of your Gosu file, which allows you to enter the library name only (for
example):
uses libraries.Activityassignment
...
Activityassignment.getUserRoleGroupTypeBasedonActivityPattern( activitypattern )

The util Package


The util package also contains a number of pre-built classes that provide additional functionality.

The gw.api.* Package


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 is visible in the Studio Classes folder in the Resources 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

108 Chapter 4, ClaimCenter Studio and Gosu


ClaimCenter 6.0.8 Configuration Guide

• ...
In this case, the activity and admin packages contain read-only classes. The address package is visible in
Studio, in the Classes folder.

The gw.plugin Package


If you create a new Gosu plugin, place your plugin class in the gw.plugin package.
• See “Using the Plugins Editor” on page 141 for information on how to use Studio to work with plugins.
• See the ClaimCenter Integration Guide for an overview of the various types of plugins and how to implement
a plugin.

Class Visibility in Studio


For a pre-built Gosu class to be directly visible Studio, Guidewire must mark that class with the @export annota-
tion. It is possible that you can view a class file in the application file structure. However, without the @export
annotation, you cannot directly view or access the class in the Studio Gosu editor.
In this case, simply create a new class and have it extend or subclass the class that you need. For example, in
PolicyCenter, the application source code defines a CCPCSearchCriteria class. This class is visible in the appli-
cation file structure as a read-only file in the following location:
ClaimCenter/modules/pc/gsrc/gw/webservice/pc/ccintegration/v2/ccentities

To access the class functionality, first create a new class in the following Studio Classes package:
gw.webservice.pc.ccintegration.v2.ccentities

You then have this class extend CCPCSearchCriteria, for example:


package gw.webservice.pc.ccintegration.v2.ccentities

uses java.util.Date
uses gw.api.web.product.ProducerCodePickerUtil
uses gw.api.web.producer.ProducerUtil

class MyClass extends CCPCSearchCriteria {


var _accountNumber : String as AccountNumber
var _asOfDate : Date as AsOfDate
var _nonRenewalCode : String as NonRenewalCode
var _policyNumber : String as PolicyNumber
var _policyStatus : String as PolicyStatus
var _producerCodeString : String as ProducerCodeString
var _producerString : String as ProducerString
var _product : String as Product
var _productCode : String as ProductCode
var _state : String as State
var _firstName : String as FirstName
var _lastName : String as LastName
var _companyName : String as CompanyName
var _taxID : String as TaxID

construct() { }

override function extractInternalCriteria() : PolicySearchCriteria {


var criteria = new PolicySearchCriteria()
criteria.SearchObjectType = SearchObjectType.TC_POLICY
...
}
}

Preloading Gosu Classes


ClaimCenter provides a preload mechanism to support pre-compilation of Gosu classes, as well as other primary
classes. The intent is to make the system more responsive the first time requests are made for that class. This is
meant to improve application performance by preloading some of the necessary application types.

Chapter 4, ClaimCenter Studio and Gosu 109


ClaimCenter 6.0.8 Configuration Guide

To support this, Guidewire provides a preload.txt file (in Other Resources) to which you can add the following:

Static method invocations Static method invocations dictate some kind of action and have the following syntax :
type#method
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
It is possible to add in your own static methods to use in this fashion as meets your business
needs.
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 - ClaimCenter loads the associated Java class file.
• Gosu - ClaimCenter parses the class completely.

Note: Guidewire also provides a logging category of Server.Preload that provides DEBUG level logging of
all actions during server preloading of Gosu classes.

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 Classes folder in the Resources tree.
• Gosu class files end in .gs.
• Gosu enhancement files end in .gsx.
As defined in the Gosu Reference Guide:
• 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.
• 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.
For more information, see the following:
• “Classes” on page 169 in the Gosu Reference Guide
• “Enhancements” on page 209 in the Gosu Reference Guide

To create a new enhancement


1. First create a package for your new class, if you have not already done so.

2. Select the package in the Resources tree.

3. Right-click, select New, then Enhancement from the menu.

110 Chapter 4, ClaimCenter Studio and Gosu


ClaimCenter 6.0.8 Configuration Guide

4. Enter the name for this enhancement. Guidewire recommends strongly 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.
5. Enter the entity type to enhance. For example, if enhancing an Activity entity, enter Activity.

6. Click OK to save your work and exit this dialog.

The Guidewire XML Model


It is possible to export business data entities, Gosu class data, and other types to a standard Guidewire XML
format. It is also possible to select which properties to map in your XML model. By specifying what to map,
ClaimCenter creates an XSD to describe XML that conforms to your XML model. At run time, you can export
XML for this type and—optionally—choose to export only data model fields that changed. If you have more
than one integration point that uses a type, you can create different XML models for each type.
In general, to create a new XML model, you do the following:
1. Navigate to the Classes package in which you want to create the XML model.

2. Right-click the package name and from the contextual menu, select New → Guidewire XML Model.

See Also
• For detailed information on the Guidewire XML model, see “The Guidewire XML (GX) Modeler” on
page 262 in the Gosu Reference Guide. This section provides a complete example of how to use the
Guidewire XML Modeler.

Script Parameters
Script parameters are Studio-managed resource that you can use as “global” variables within Gosu code, but
which you manage through the ClaimCenter (not Studio) interface. ClaimCenter uses file
ScriptParameters.xml as the system of record for script parameter definitions and default values. You can only
create script parameters from within Studio (from Tools → Script Parameters). After creation, Studio adds the new
script parameter to the ScriptParameters.xml configuration file.
On server startup, ClaimCenter compares the list of script parameters that currently reside in the database to
those in the ScriptParameters file.
• ClaimCenter adds any script parameters that are in the XML file but not in the database to the database, with
whatever initial values are set in the XML file.
• ClaimCenter ignores all other values in the XML file. This means that ClaimCenter explicitly does not prop-
agate changes to values in the XML file to the database.
After a script parameter resides in the database, you manage it solely in the Script Parameters administration screen
from within ClaimCenter itself. You access the Script Parameters administration screen by first logging on using
an administrative account, then navigating to Administration → Script Parameters.
To repeat, Studio does not propagate to the database any changes that you make to script parameter values using
the Studio Tools → Script Parameters dialog. After you create a script parameter within Studio, you cannot use Studio
to change its value. You must use the ClaimCenter Script Parameters administration screen.

Script Parameters as Global Variables


There are several related reasons to create global variables:
1. You want a variable that is global in scope across the application, but one that you can actively administer
(change or reset as needed) through the application interface.

Chapter 4, ClaimCenter Studio and Gosu 111


ClaimCenter 6.0.8 Configuration Guide

2. You want a variable that can be used in any Gosu expression to hold a value. However, you also want the
ability to change that value without having to edit the expression.
These two, while related, are entirely independent of each other.
• Use script parameters to create variables that you can administer through the ClaimCenter interface.
• Use Gosu class variables to create variables for use in Gosu expressions. (See the Gosu Reference Guide for
information on Gosu class variables.)

Script Parameter Examples


Suppose, for example, that you have exception rules that trigger when a claim has been idle for over 180 days. If
you included the value “180” in all of the rules, you would have to modify the rules if you decided to change the
value to 120. Instead, define a script parameter, set its value to 180, and then use this parameter in the rules. To
change the claim exception behavior, you need change only the parameter and the Studio rules automatically use
the new value.
More complex examples include:
• Setting a default age for claimants. This is useful for cases in which the computation of the reserve requires
an age and none is available at the time the exposure is set up.
• Setting the threshold number of days for various claim actions. This includes inactive claims in which the
number of inactive days before taking action varies by the coverage. After the date threshold passes, the Rule
engine can generate an activity.
• Setting the date for certain global reserve actions to occur. Suppose that an actuary modifies the values in the
reserve tables due to loss history, or to correct errors, or in response to legislation. In this case, it is possible
that you want to update the reserve amounts of all open exposures. To accomplish this, you can implement
several exception rules that only fire if the appropriate script parameter date is less than or equal to the current
date.
Note: Script parameters are read-only within Gosu. You cannot set the value of a script parameter in a Gosu
statement or expression.

Working with Script Parameters


In working with script parameters:
• You create script parameters and set their initial value in Guidewire Studio.
• You administer script parameters and modify their values in the ClaimCenter interface (on the Administration
tab).

IMPORTANT The application server references only the first (initial) value that you set in Guidewire
Studio for a script parameter. Thereafter, it references the value set through the ClaimCenter interface
and ignores subsequent changes to the value set through Studio.

To create a script parameter


1. In the Tools menu, click Script Parameters.

2. Click New.

3. In the Name box, type the parameter name.

4. In the Type list, select the parameter type.

5. In the Value box, set the parameter value. The value must be valid for the specified parameter type.

6. Click Save.

112 Chapter 4, ClaimCenter Studio and Gosu


ClaimCenter 6.0.8 Configuration Guide

To delete a script parameter


You can delete a script parameter if you no longer reference it in any Gosu expression.
1. In the Tools menu, click Script Parameters.

2. Select the parameter that you want to delete. (To find the parameter in the list, you can type part of the param-
eter name or click its type, and then click Apply Filter.)
3. Click Delete.

Referencing a Script Parameter in Gosu


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
ClaimCenter interface.
You can access a script parameter in Gosu through the globally accessible ScriptParameters object. Within
Gosu, you access a parameter using ScriptParameters.paramname.
For example, the following Gosu determines if more than 180 days have elapsed from the filing of the claim:
gw.api.util.DateUtil.daysSince( Claim.ReportedDate ) > 180

You can, instead, create a script parameter named maxDate and rewrite the line as follows:
gw.api.util.DateUtil.daysSince(Claim.ReportedDate) > ScriptParameters.maxDate

See also “Adding Comments” on page 38 in the Rules Guide for an example of using a script parameter to trigger
rule logging.

Chapter 4, ClaimCenter Studio and Gosu 113


ClaimCenter 6.0.8 Configuration Guide

114 Chapter 4, ClaimCenter Studio and Gosu


chapter 5

Getting Started

This topic describes Guidewire Studio, which is the ClaimCenter administration tool for creating and managing
ClaimCenter resources. (Studio resources include Gosu rules, classes, enhancements, script parameters, and the
ClaimCenter 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
This topic includes:
• “Using the Studio Interface” on page 115
• “Working with Studio Resources” on page 120

IMPORTANT Guidewire supports Guidewire Studio running on the Microsoft Windows platform
only.

Using the Studio Interface


The Guidewire Studio interface consists of either two or more panes arranged from left-to-right, with several of
the right-most panes capable of being further subdivided.
Left-most (Resources) pane. The Resources pane lists the resources that you can manage through Guidewire
Studio. This includes rules, classes, workflows, page configuration files, entity names, and display keys, for
example. You can filter the resource list by selecting a filter from the drop-down list at the top of the Resources
pane.

Chapter 5, Getting Started 115


ClaimCenter 6.0.8 Configuration Guide

Center pane. The center pane of Studio changes depending on which resource you select in the Resources pane.
For example, if you select Page Configuration (PCF), you see the graphical PCF editor in the center pane.
Right-most pane. The right-hand pane of Studio changes depending on what editor is active in the center pane.
For example, if you select Page Configuration (PCF), you can select graphical elements to embed in the PCF file from
the Toolbox in the right-hand pane.
Bottom pane. Depending on the editor involved, Studio can open a Properties pane at the bottom of the screen.

Resource tabs. Studio displays the most recently accessed resources as tabs just underneath the toolbar. To
access a resource, select its tab. To close a tab, click the X at the right of the tab toolbar.
Validation status indicator. Studio indicates the validation status of Gosu code (in a rule or class, for example) to
the right of the Gosu editor:
• Green indicates that the Gosu code is valid.
• Yellow indicates that the Gosu code is valid but contains warnings.
• Red indicates that the Gosu code is invalid. This code does not compile.

Using the Studio Menus


The Studio interface contains a set of menu items to aid you in managing Studio resources. Use these commands
to create, edit, and debug the Gosu code used in the ClaimCenter business rules, Gosu classes, enhancements,
and PCF files.
The following list describes the type of commands that you find in each of the Studio drop-down menu lists.

Menu Contains commands to See

File Perform a variety of file-related and resource management “Working in Guidewire Studio” on page 123
functions:
• Create new Guidewire resources.
• Connect to an external server
• Import and export resources.

Edit Perform standard text editing actions such as copy and “Using Text Editing Commands” on page 134
paste.
Search Perform basic text find-and-replace actions. “Using Find-and-Replace” on page 170
Code Search for and navigate to different code entities. “Using Studio Keyboard Shortcuts” on page 128
Rule Create, delete, or rename a rule. This menu is only avail- “Working in the Gosu Editor” on page 140
able if you select Rules in the Resources pane.
GUnit Work with the GUnit tester. “Using GUnit” on page 559
Debug Start and stop the Studio debugging tool (the Gosu Tester), “Debugging and Testing Your Gosu Code” on
and set breakpoints and step through lines of code. page 551
Tools Perform a variety of debugging-related and resource man- “Using the Gosu Tester” on page 555
agement functions:
“ClaimCenter Studio and Gosu” on page 105
• Open the Gosu Tester.
“Configuring Guidewire Studio” on page 91
• Manage Script Parameters.
• Set Studio options (version control system, code com-
pletion options, linking external editors to certain files
types, and similar options).
Window Commands to manage the active Studio window, and dis- “Managing Windows and Views” on page 118
play a list of the most recent Studio views.
Help Commands to access the Guidewire Studio help features, “Entering Valid Code” on page 123
including the Gosu API Reference.

116 Chapter 5, Getting Started


ClaimCenter 6.0.8 Configuration Guide

Using the Toolbar Icons


You can initiate many of the Studio menu commands by selecting the appropriate toolbar icon. You can roughly
divide these icons into the following groups.
• Icons on the left-hand side activate commands that involve Guidewire resources.
• Icons on the right-hand side activate commands that involve the Studio debugging tool and Gosu tester.
The following list describes the toolbar icons that involve Guidewire resources. Many of these perform familiar
text-processing functions and navigation operations.

Icon Description Shortcut

Save your changes Ctrl+S

Delete the selection Delete

Undo the last operation Ctrl+Z

Redo the last undone operation Ctrl+Y

Copy the selection to the Studio clipboard and remove it from the interface Ctrl+X

Copy the selection to the Studio clipboard Ctrl+C

Paste the contents of the clipboard into Studio Ctrl+V

Copy the line of Gosu code at the present cursor location and past it Ctrl+D
directly underneath the source line.
Undo last navigation operation Alt+Left

Redo last navigation operation Alt+Right

Find text or usage in the active view Ctrl+F

Verify (validate) a resource or resources —

The following list describes the toolbar icons that involve the Studio GUnit tester.

Activate the Edit Configuration command that opens the GUnit Run/Debug —
dialog. If you have GUnit tests defined, Studio presents a selectable
drop-down list of your tests.
Run the selected test configuration. Ctrl+F10

Debug the selected test configuration. Ctrl+F9

The following list describes the toolbar icons that involve the Studio debugging tool. For more information on
the debugging tool and how to use it, see “Debugging and Testing Your Gosu Code” on page 551.

Icon Description Shortcut

Stop debugging Ctrl+F2

Display menu of debuggers to start —

Display debuggers with which to intercept application execution —

Step to the next statement after the current execution point F8

Chapter 5, Getting Started 117


ClaimCenter 6.0.8 Configuration Guide

Icon Description Shortcut

Step into the method call at the current execution point F7

Show the current execution point Alt+F10

Toggle a break point on the selected line Ctrl+F8

Toggle a break point on the selected rule —

Display the Gosu Tester window —

Using the Right-Click Menu


Selecting an item in the Resources tree and right-clicking with the mouse opens a set of additional menus. These
menu items are contextual, meaning that they change depending on the item selected. Some of the menu
commands open additional submenus.

Menu command Shortcut Description

New Opens a set of contextual submenus. You can create a new rule, class, or package,
for example, depending on the item selected.
Delete Delete key Deletes the selected resource. Studio prompts you for confirmation.
If this file exists in a SCM system, you may see the command Revert to Base, instead.
See “Deleting Files” on page 93 for more information.
Rename Resource Shift+F6 Renames a resource and all references to it throughout the set of Studio resources.
Move Resource F6 Moves the resource to a different location in the Resources tree.
Find in Path... Ctrl+Shift+F Searches for a resource within Studio using the provided resource name or text
string. For details of this command, see “Using Find-and-Replace” on page 170
Replace in Path... Ctrl+Shift+R Searches for a text string and replace its value with the supplied value. For details of
this command, see “Using Find-and-Replace” on page 170
Verify Path Verifies the validity of the Gosu code for the files in the supplied path. This opens a
similar Verify dialog as from Tools → Verify. See “Validating Rules and Gosu Code” on
page 173 for more information.
Diff Against Base Runs a difference tool—if you have one defined—against this (modified) file and the
equivalent base configuration file. You must have defined, or registered, an external
difference tool in Studio for this command to work. See “Configuring External Edi-
tors” on page 101 for details on how to register an external difference tool with Stu-
dio (Araxis Merge, for example).
IMPORTANT Do not use a difference tool to modify ClaimCenter configuration files.
This can potentially invalidate your ClaimCenter installation and make it unable to
start.
Source Control Opens a set of additional submenus that perform software configuration manage-
ment (SCM) commands, if you have linked Studio to a SCM system. For details, see
“Linking Studio to a SCM System” on page 91.
Find in Explorer... Opens up the Windows Explorer and navigates to the selected resource file.

Managing Windows and Views


Each time that you select an item from the left-hand Resources pane, Studio opens a view of the item in the right
side of the screen. If you select more than one item (sequentially), Studio displays each item in its own separate
tab. (Studio automatically saves a view as you switch to the next one.)

118 Chapter 5, Getting Started


ClaimCenter 6.0.8 Configuration Guide

In the upper right-hand corner of the view area, there are several different icons that you use to manage your
views. The following list describes them.

Icon Description

Opens a pop-up window that lists all currently open views. Selecting a view from the list brings
that tab to the foreground.
Minimizes the currently selected pane, maximizing all other panes.

Maximizes all panes to the fullest extent possible.

Closes—after automatically saving—the currently open view.

Guidewire Studio provides several different ways to navigate among its windows and views. To move between
the various open views (tabs), do one of the following:
• On the Window, click Back (or Forward).
• Press ALT + (left/right arrow).
• Use an Undo (Redo) Navigation toolbar icon or .

To see a list of all the views (tabs) that you have opened recently, select Recent Views (CTRL + e) from the Window
menu. This is useful if you have opened a large number of views and need to find a particular view among many.
It is also useful if you closed a view and would like to open it again without searching through the resource tree.
Viewing multiple tabs. It is possible, as you work, that you may open many, many views (tabs). In this case,
Studio may not be able to display all of the tabs properly due to viewing area constraints. If so, Studio displays
the last partially visible tab with a tear-away look and an ellipsis (...).
If you hover your cursor of the ellipsis, Studio displays the entire tab row expanded for easy viewing. These tabs
are fully functional. If you click one of these tabs, Studio moves you to that view.
Finding the active resource. Each open view contains a ClaimCenter resource (a class or a business rule, for
example). You can find the resource in the Resources tree by using one of the following methods:
• ALT+F1 expands the Resources tree and highlights the file name of the currently active resource view.
• Right-clicking a view tab and selecting Find in Resources accomplishes the same action.
• Selecting Find Selected View in Resources from the toolbar Window menu accomplishes the same action.
Closing views. Studio provides several useful commands to manage the closing of one or more view tabs.
Right-click a view tab and select one of the following from the menu:
• Close This Tab
• Close All But This Tab
• Close All Tabs

Chapter 5, Getting Started 119


ClaimCenter 6.0.8 Configuration Guide

The Window Menu


The Studio toolbar contains a Window menu that contains a number of view-related commands. They are
self-explanatory. The following table lists the Window menu commands.

Window menu commands Shortcut

Forward ALT+RIGHT ARROW


Back ALT+LEFT ARROW
Next Tab CTRL+TAB
Previous Tab CTRL+SHIFT+TAB
Recent Views.... CTRL+E
Close Selected Tab CTRL+F4
Close All Tabs None
Close Other Tabs None
Find Selected View in Resources ALT+F1
Toggle Main Window CTRL+SHIFT+F12

Note: Selecting a view tab and using the right-click menu provides you with an additional way to access
several of the Window commands.

Working with Studio Resources


As discussed in “ClaimCenter Configuration Files” on page 88, Studio manages all ClaimCenter configuration
and resource files. Do not attempt to modify Studio resource files manually. Instead, open the file from within
Studio for editing. Studio thus manages the file within its file structure, within the ClaimCenter/modules/
configuration directory.

WARNING Do not attempt to modify any files other than those in the /modules/configuration
directory. Any attempt to modify files outside of this directory can cause damage to the ClaimCenter
application and prevent it from starting thereafter.

The Studio Resources tree displays the ClaimCenter file structure as a flat or virtual file system. This means the
physical location of a file does not matter. Studio groups the resource files into folders (or directories) in the
Resources tree, but stores the files in multiple locations. Within the resources files, there are:
• Files that you can open and view, but not edit.
• Files that you can open, view, and edit.

Resource File Name Colors


Studio uses color to indicate the SCM status of a file. For example:
• The font color of a file name (node) in the resource tree corresponds to its SCM state.
• The color of a view tab corner corresponds to the SCM state of the corresponding resource, unless that
resource is in the not-open-for-edit state.
The following list describes these colors and what they mean:

Color Description

Black The file has not been opened for editing. If a file is non-editable, its name always remains black.
Blue The file has been opened for editing. The first time that you attempt to open an editable file, a Studio dialog asks if
you want to open the file for editing.

120 Chapter 5, Getting Started


ClaimCenter 6.0.8 Configuration Guide

Color Description

Green If you link the Studio file system to a SCM system, Studio automatically invokes the SCM Add function on any file
that you create in Studio. A green file name indicates that you have created a file and that Studio has added it to the
SCM system, but that the file has not yet been submitted. Studio then displays a Submit command on the
(right-click) Source Control menu.
• If you submit the file, Studio considers the file as checked into source control and displays the file name in black.
• If you now open the file for editing from within Studio, Studio displays the file name in blue.

Red If you link the Studio file system to a SCM system, Studio displays an Add command on the (right-click) Source Con-
trol menu. You use this command for files that you create outside of Studio, about which the SCM system knows
nothing.
• If you add the file to certain Studio directories, Studio recognizes the file and displays the file name in red.
• If you invoke the Add command on this file, Studio invokes the SCM Add command on the file. It then changes
the file name to green, indicating that the file has been added to the SCM system but not yet submitted.
IMPORTANT There are only very few directories for which Studio displays added files. One example is Web
Resources → web/templates. In general, however, Guidewire does not recommend that you create files outside of
Studio and manually add them to the Studio file system. Especially, do not add files to the ClaimCenter/modules/
cc directory. Any attempt to add files to this directory can cause damage to the ClaimCenter application and pre-
vent it from starting thereafter
Purple (Perforce) The file is editable on the local file system, but the SCM system is not aware that the file is open for edit.
This applies to the Perforce SCM system only.

See Also
• “Linking Studio to a SCM System” on page 91

Resource File Tooltips


If you hold the mouse over a resource name in the Resources tree, Studio generates tooltips that provide additional
information. This includes the file path and information related to the status of the file within any linked SCM
system.

Validating Studio Resources


As you work with the various Studio resources, you can verify or validate your work. Studio provides specific
menu commands that you can use to specify what you want to validate. Selecting Verify from the Studio Tools
menu opens a dialog in which you can make the following verification choices. Unless explicitly stated other-
wise, Studio automatically includes the resource children as well.

Option Description

Verify changed resources (Default) Performs validation on all resources that have changed since the last verify and all
resources that had errors on the last verify operation. The list of resources that have changed
also includes those resources that use other resources that have changed. Studio stores the
fact that a type is erroneous in the TypeInfo database. Guidewire recommends in general that
you use this option as it is much faster than a full verify.
Verify all resources Performs validation on all Studio resources. This can be very slow.
Verify path:[resource name] Performs validation on the selected resource and all of its children.
Verify view:[view name] Performs validation on the resource represented by the currently selected view.

You can also access the Verify dialog by one of the following alternative means:
• By selecting the Verify icon from the toolbar.
• By selecting a resource and choosing Verify Path from the right-click menu.
Studio displays any rule validation issues it encounters in a Verification pane that it opens at the bottom of the
Studio interface. This pane presents the results of the verification process. You can click on a result item to navi-
gate to that item.

Chapter 5, Getting Started 121


ClaimCenter 6.0.8 Configuration Guide

The Verification pane contains the following:


• A Show Errors check box—unchecking this box removes nodes representing errors from the verification tree
• A Show Warnings check box—unchecking this box removes nodes representing warnings from the verification
tree
• A filter text field—typing text in this field filters the nodes in the tree to only those that match the filter text
and its descendants.
• A Verify icon—clicking this icon re-runs the verification with the same settings and update the results tree
• An Expand All icon—clicking this icon expands all nodes in the results tree
• A Collapse All icon—clicking this icon collapses all nodes in the results tree
• A Close icon—clicking this icon closes the current results pane.
Note: If you have unsaved changes, Studio saves your modifications before running the verification
command.

Performing PCF File Verification Manually


It is also possible to verify PCF files outside of Guidewire Studio through the use of the gwcc verify-types
command line utility. You can, for example, run this command manually or use the command in an automated
test process.

122 Chapter 5, Getting Started


chapter 6

Working in Guidewire Studio

This topic discusses a number of common tasks related to working in Guidewire Studio.
This topic includes:
• “Entering Valid Code” on page 123
• “Using Studio Keyboard Shortcuts” on page 128
• “Viewing Keyboard Shortcuts in ClaimCenter” on page 133
• “Using Text Editing Commands” on page 134
• “Navigating Tables” on page 134
• “Refactoring Gosu Code” on page 134
• “Saving Your Work” on page 136

Entering Valid Code


Guidewire Studio provides several different ways of obtaining information about ClaimCenter objects and APIs
to assist you in writing valid rules and Gosu code. These include:
• Code menu commands complete code and object names to assist in writing valid Gosu code and in navigating
within and around Gosu code.
• Dot completion opens a context-sensitive pop-up window that contains all the subobjects and methods that
are valid for this object, in this context. Dot completion also works with Gosu or Java packages.
• SmartHelp displays a list of valid fields and subobjects for the current object.
• Gosu API Reference material provides a searchable reference on the Gosu APIs, methods and properties.
• PCF Reference Guide (or PCF Format Reference) provides a description of the PCF widgets and their attributes
that you can use within the PCF editor.

Chapter 6, Working in Guidewire Studio 123


ClaimCenter 6.0.8 Configuration Guide

• Gosu Reference Guide provides information on the Gosu language. From this menu link, you can access the
entire Guidewire documentation suite.
Note: Keyboard commands provide code completion, code navigation, and code editing shortcuts. See
“Using Studio Keyboard Shortcuts” on page 128 for information on keyboard shortcuts.

The Code Menu


The Code menu contains a number of commands that you can use to navigate within and around your Gosu code.
The following table lists these commands.

Command Keyboard shortcut Description

Go to Type CTRL+N Opens the Go To Type popup that enables quick navigation to other
types. For example, enter a search string to find a Gosu class. You
can perform:
• Simple wildcard searches with multiple asterisks in the search
string
• Camel-case searching in which you type part or all of an acronym.
For example, entering CrA returns a list including CreateActivi-
tyPattern and CreateAttribute.
Go to Symbol ALT+CTRL+SHIFT+N Opens the Go to Symbol popup, which you can use to quickly navigate
to symbols (variables, methods, and similar items.) in all types.
Go to Line CTRL+G Opens the Go To Line popup, which you can use to quickly navigate to
particular lines in a file.
Go to Overridden Impls ALT+CTRL+B Displays a popup of possible implementations, which you can then
use to jump to one of them.
Go to Super Impl CTRL+U Jumps to the super method, if the method has been overridden. This
command works only if you place the caret on a method declaration.
Go to Declaration CTRL+B Jumps to the declaration of the symbol at the current point. To use,
place the caret in any reference to a class, class member, or local
variable and press CTRL+B to go to the corresponding declaration.
For example, placing the caret in Sides in the Triangle class and
pressing CTRL+B takes you to the corresponding declaration in
class Shape.
class Triangle extends Shape {
function Triangle() { Sides = 3 }
}

class Shape {
var _sides : int as Sides
functon Shape() { }
}
Go to Next Error F2 Moves the caret to the first code error in the editor window. Pressing
it again (after correcting the error) moves you to the next error, if
there is one.
Complete Value CTRL+/ Opens a popup for completing the value at the current point (for
example, on the right hand side of an assignment to a typekey.
To activate, type an object or entity name, then press CTRL+Slash to
open the object value selection dialog. For example, typing the fol-
lowing:
Activity.AssignedByUser ==
and then pressing CTRL+Slash, opens a selection dialog in which
you can choose a specific user from the User list.

124 Chapter 6, Working in Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

Command Keyboard shortcut Description

Complete Code CTRL+SPACE Opens a popup for completing the partial expression at the current
point. This includes:
• Completing a partial word.
• Completing a property or method on a partially formed expression.
• Automatically adding a “uses” statement for a type that has not
been imported yet.
To use, type a portion of an object name, then press CTRL+SPACE.
If there are multiple objects that fit the initial letter combination, Stu-
dio opens an Objects and Functions popup window in which you can
choose the correct object. For example, entering Ac then pressing
CTRL+SPACE opens a popup in which you can chose either actions
or Activity.
Complete Class Name ALT+CTRL+SPACE Opens a list of resources starting with the initial letters that you
typed.
Parameter Info CTRL+P Displays information on the parameter at the current point in a
method call.

Using Dot Completion


You can use Studio to complete your code by placing the cursor (or caret) at the end of a valid ClaimCenter
object or subobject and typing a dot (.). This action causes Studio to open a pop-up window that contains all the
subobjects, methods, and properties that are valid for this object, in this context.
As you type, Studio filters this list to include only those choices that match what you have typed thus far. Use the
down arrow to highlight the item you want and press Enter, the space bar, or Tab to select it. After you select an
item, Studio inserts it in the correct location in the code.

Dot Completion Icons


The dot completion pop-up window contains all the subobjects, methods, and properties that are valid for this
object, in this context. In front of each item is a graphical icon that provides additional information. Using these
icons, for example, you can determine if a property (or field) is a native property on the object or if it is derived
from an enhancement.
As you look at the icons, you can see, for example:
• Enhancement methods and properties contain a green plus symbol.
• Private methods and properties contain a padlock symbol.
• Protected methods and properties contain a key symbol.
• Internal methods and properties contain a closed letter symbol.
• Database-backed properties (meaning properties on entities that exist in the database) contain a database
symbol.

Field icons
In the pop-up window, you see various icons before a property on the list. These icons have the following mean-
ings:

Icon Meaning

Public property

Private property

Protected property

Chapter 6, Working in Guidewire Studio 125


ClaimCenter 6.0.8 Configuration Guide

Icon Meaning

Internal property

Public enhancement property

Private enhancement property

Protected enhancement property

Internal enhancement property

Database-backed entity property

Method icons
In the pop-up window, you see various icons before a method on the list. These icons have the following mean-
ings:

Icon Meaning

Public method

Private method

Protected method

Internal method

Public enhancement method

Private enhancement method

Protected enhancement method

Internal enhancement method

Gosu and Java Package Name Completion


Dot completion also works with Gosu or Java packages. You can enter a package name and press dot to get a list
of packages and types within the package name before the dot. Studio can complete all packages and namespaces
within the Studio type system including PCF types. Studio filters the list as you type to include only those
choices that match what you have typed thus far.

Using SmartHelp
As you type in a Studio editor, Studio assists you in entering valid code through the use of its SmartHelp feature.
SmartHelp assists you in entering valid entries for method parameters, object types, entity literals, and other enti-
ties.

126 Chapter 6, Working in Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

Studio uses a light-bulb icon to indicate that SmartHelp is available for the current line of code. Clicking the
SmartHelp icon gives you one of the following:

Item Description

A list of valid types Clicking the icon opens a window that contains a list of valid types from which to choose. If the
field contains values from a typelist, Studio shows only the valid values.
A text field for data entry Clicking the icon opens a text field that you can use to enter the correct type of data, for exam-
ple, a String or Number entry field. However, Studio can sometimes place quotation marks
around a value entered through this method inappropriately. Be especially careful of entering
null in an entry field.

A menu of further choices Clicking the icon provides the following additional choices If Studio is unable to determine your
intent:
• Entity Selection opens a dialog box that displays an object hierarchy that you can expand to
find the correct object. It can take several seconds for the dialog to open as Studio must
build the entity list first.
• Search... opens a dialog box in which you can enter criteria to search for the correct entity.

Accessing the Gosu API Reference


Guidewire provides an API reference that you can use to obtain additional information about the Gosu APIs and
their methods and parameters. There are two ways to access this information:
• Selecting Gosu API Reference from the Help menu opens the full Guidewire Studio Gosu API Reference in a separate
window. Use the Search functionality to find information on an API, or expand the API list and select a field,
parameter or method to view.
• Placing the cursor in a method name in a line of code, and then pressing F1 displays a pop-window with infor-
mation about that method, including information about its parameters.
The Gosu API Reference window contains a search panel, a contents tree, and a display area.
• The contents tree displays a tree view of the type system, organized by package.
• The search panel contains a text field for search terms, a button to clear the text field, a search button, and a
re-index button. It also includes an indication of the time of the last indexing operation.
If the Reference has never been indexed, then you must index it before proceeding.

Accessing the PCF Reference Guide


Guidewire provides a PCF reference, Guidewire ClaimCenter PCF Format Reference, that you can use to obtain
information about PCF widgets and their attributes. To access the reference guide, select PCF Reference Guide from
the Studio Help menu. Studio opens the guide as a searchable HTML page in a browser window.

Accessing the Gosu Reference Guide


It is also possible to access the Guidewire ClaimCenter documentation suite from within Guidewire Studio. To
do so, select Guidewire Gosu Reference from the Studio Help menu. Studio opens a searchable version of the entire
Guidewire ClaimCenter documentation suite in a browser window.

Chapter 6, Working in Guidewire Studio 127


ClaimCenter 6.0.8 Configuration Guide

Using Studio Keyboard Shortcuts


Guidewire Studio provides a number of keyboard commands (keystrokes) that provide important code comple-
tion, navigation, and editing capabilities. The following table lists the command categories:

Gosu Editor • Intelligent Coding Commands


• Find Commands
• Code Navigation Commands
• Refactoring Commands
• Help Commands
• Code Editing Commands
• Testing Commands
• General Commands
PCF Editor • PCF Editing Commands

128 Chapter 6, Working in Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

Gosu Editor
The following keystroke shortcuts work in the Studio Gosu editor, such as in rules and classes.

Intelligent Coding Commands

Key Name Description

CTRL+SPACE Smart Complete Opens a popup for completing the partial expression at the current point.
This includes:
• Completing a partial word.
• Completing a property or method on a partially formed expression.
• Automatically adding a “uses” statement for a type that has not been
imported yet.
To use, type a portion of an object name, then press CTRL+SPACE. If
there are multiple objects that fit the initial letter combination, Studio
opens an Objects and Functions popup window in which you can choose the
correct object. For example, entering Ac then pressing CTRL+SPACE
opens a popup in which you can chose either actions or Activity.
CTRL+/ Complete Value Opens a popup for completing the value at the current point (for example,
on the right hand side of an assignment to a typekey.
To activate, type an object or entity name, then press CTRL+/ to open the
object value selection dialog. For example, type the following:
Activity.AssignedByUser ==
Then press CTRL+/ to open a dialog in which you can choose a specific
user from the User list.
ALT+ENTER Smart Fix Attempts to correct the error nearest the caret.
F2 Go To Next Error Moves the caret to the first code error in the editor window. Pressing it
again (after correcting the error) moves you to the next error if there is
one.

Find Commands

Key Name Description

CTRL+F Find Searches within an open view for the provided text string. You can make
the search case sensitive or search on a regular expression by selecting
the appropriate check box. For example, searching on a regular expres-
sion of \d (digit) highlights 5 in the following Gosu code:
var test = 5
CTRL+R Replace Searches within an open view for a text string and replaces it with the sup-
plied value. You can also make the search case sensitive or search on a
regular expression by selecting the appropriate check box.
F3 Find Next Performs the previous search again without opening up the search dialog.
The search algorithm does not repeat a match until it cycles through all
other matches in the open view.
ALT+F7 Find Usages Searches either through the local view or globally (depending on your
selection) for usages of an item under the cursor in a statement or expres-
sion. For example, placing your cursor in a method signature searches for
other usages of that method.
CTRL+SHIFT+F Find in Path Searches for a resource within Studio using the provided resource name
or text string. For details of this command, see “Using Find-and-Replace”
on page 170.
CTRL+SHIFT+R Replace in Path Searches for a text string and replace its value with the supplied value.
For details of this command, see “Using Find-and-Replace” on page 170.

Chapter 6, Working in Guidewire Studio 129


ClaimCenter 6.0.8 Configuration Guide

Find Commands

Key Name Description

ALT+F1 Find in Resources Highlights the file name of the file currently loaded in the active view. You
can also access this command in the following ways:
• Right-click the active tab and select Find in Resources.
• Select Find Selected View in Resources from the toolbar Window menu.

130 Chapter 6, Working in Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

Code Navigation Commands

Key Name Description

CTRL+N Go To Type Opens the Go To Type popup that enables quick navigation to other types.
For example, enter a search string to find a Gosu class. You can perform:
• Simple wild-card searches with multiple asterisks in the search string.
• Camel-case searches in which you type part or all of an acronym. For
example, entering CrA returns a list including CreateActivityPattern
and CreateAttribute.
Selecting a type from the list opens the editor view for that type. You can
also depress the keyboard Enter key to select the first type in the list.
Note You can use either a camel-case search algorithm or a wild-card
algorithm search. You cannot, however, use both types in the same
search string. For example:
• Entering GL*Enh finds GLCostSetEnhancement. It does not find
GeneralLiabilityLineEnhancement.
• Entering GLL does find GeneralLiabilityLineEnhancement.

CTRL+ALT+SHIFT+N Go To Symbol Opens the Go to Symbol popup, which you can use to quickly navigate to
symbols (class fields, PCF variables, and similar items) in all types.
Selecting a symbol opens the editor view for the type containing the sym-
bol and puts the focus on the symbol in whatever way is appropriate for
the editor.
CTRL+E Go To Recent Opens the Recent Views popup, which you can use to quickly navigate to
recently edited files.
CTRL+G Go To Line Opens the Go To Line popup, which you can use to quickly navigate to par-
ticular lines in a file.
CTRL+B Go To Declaration Jumps to the declaration of the symbol at the current point. To use, place
the caret in any reference to a class, class member or local variable and
press CTRL+B to go to the corresponding declaration.
For example, placing the caret in Sides in the Triangle class and press-
ing CTRL+B takes you to the corresponding declaration in class Shape.
class Triangle extends Shape {
function Triangle() { Sides = 3 }
}

class Shape {
var _sides : int as Sides
functon Shape() { }
}
CTRL+ALT+B Go To Overridden Impl Opens a popup of possible implementations that you can use to jump to
one of them.
CTRL+U Go To Super Impl Jumps to the superclass, if the method has been overridden. The caret
must be on a method declaration for this command to work.
CTRL+H Show Inheritance Opens the inheritance graph popup.
Graph
CTRL+ALT+H Show Call Graph Opens the call graph popup.
CTRL+SHIFT+F7 Highlight Local Displays all the local usages of the variable at the current point.
Usages
CTRL+F12 Show Class Structure Opens a popup of members of the current class. This is active only if cur-
rent view is a class.
ALT+LEFT ARROW Jump Back Jumps back to the last location that you visited in this editor.
ALT+RIGHT ARROW Jump Forward Jumps forward to the location from which you just jumped. (You can also
use this in conjunction with ALT+Left Arrow to jump back and forth
between two files.)

Chapter 6, Working in Guidewire Studio 131


ClaimCenter 6.0.8 Configuration Guide

Refactoring Commands

Key Name Description

CTRL+ALT+V Extract Variable Extracts a variable from the current selection.

Help Commands

Key Name Description

CTRL+F1 Help Window Opens the Help window.


CTRL+Q or F1 Context Help Displays documentation for the element at the current point.
CTRL+T Show Type at Point Displays the program type at the current point.
CTRL+SHIFT+T Copy Type at Point Copies the type of the program at the current point to the clipboard.
CTRL+P Show Parameter Info Displays information on the parameter at the current point in a method
call.

Code Editing Commands

Key Name Description

Tab Bulk Indent If a selection exists, indent all the currently selected lines.
SHIFT+Tab Bulk Unindent If a selection exists, Unindent all the currently selected lines.
CTRL+D Duplicate If a selection exists, duplicate the selection. If none exists, duplicate
the current line.
CTRL+W Expand Selection Expand the current selection to the next enclosing expression, state-
ment or logical block.
CTRL+SHIFT+W Narrow Selection Narrows the current selection to the next enclosing expression,
statement or logical block.
CTRL+X Cut Cuts the current selection. If none exists, cuts the current line.
CTRL+C Copy Copies the current selection. If none exists, copies the current line.
CTRL+SHIFT+V Show Copy Buffer Shows the copy buffer dialog, allowing a previous cut or copy to be
selected for paste.
CTRL+ALT+SHIFT+V Paste Java Code Pastes the Java code (in the clipboard) into the editor, dynamically
translating it to Gosu.
CTRL+SHIFT+UP Move Selection Up Moves the current selection up intelligently. If none exists, moves the
current line.
CTRL+SHIFT+DOWN Move Selection Down Moves the current selection down intelligently. If none exists, moves
the current line.
CTRL+SHIFT+/ Comment/Uncomment Comments or uncomments the selected lines of code.
CTRL+SHIFT+J Join Lines Joins the current line with the next line if no selection exists, or joins
all lines within the current selection if it does.

Testing Commands

Key Name Description

CTRL+F10 Run Current Run the current configuration.


F9 Debug Current Debug the current configuration.
CTRL+SHIFT+F10 Run Current Context Run the test method under the caret or the entire class if caret is not
on a method.
CTRL+SHIFT+F9 Debug Current Context Debug the test method under the caret or the entire class if caret is
not on a method.

132 Chapter 6, Working in Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

General Commands

Key Name Description

CTRL+SHIFT+F12 Toggle Code Window Toggles the main coding area between maximized and restored.
CTRL+Mouse wheel Font size Increase or decrease the font size

PCF Editor
The following keystroke shortcuts work in the Studio PCF editor.

PCF Editing Commands

Key Name Description

CTRL+X Cut Cuts the selected widget. Can be pasted into other applications as
the underlying XML representation.
CTRL+C Copy Copies the selected widget. Can be pasted into other applications as
the underlying XML representation.
CTRL+V Paste Pastes the widget currently on the clipboard. After activation, the
mouse caret changes and the editor highlights the available loca-
tions to paste the widget. To complete the paste, click the appropri-
ate location.
CTRL+D Duplicate Duplicates the selected widget and all its children.
DELETE Delete widget Deletes the selected widget and all its children.
CTRL+drag Copy widget Copies the dragged widget to its new location instead of moving it.
ESC Deselect Deselects the selected widget.
ALT+[letter] Edit property Places the caret in the first property in the properties editor beginning
with [letter].
ALT+/ Widget search Places the caret in the widget toolbox filter box.
CTRL+G Go To Line Opens the Go To Line popup that you can use for quick navigation to
the widget at a specified line in the file.
CTRL+/ Disable/Enable Widget Toggles whether the editor displays the selected widget. (You can
comment out a widget.)

Viewing Keyboard Shortcuts in ClaimCenter


It is possible to view a list of the shortcut keys that are specific to a ClaimCenter screen. It is important to under-
stand that this procedure displays keyboard shortcuts for an individual application screen only and not the appli-
cation as a whole.

To view keyboard shortcuts defined for a ClaimCenter screen


1. Navigate to the desired application screen.

2. Press ALT-SHIFT-J to open the Guidewire JavaScript Inspector.

3. Enter the following and click Inspect:


window.keyShortcuts.toJSONString()

The Inspector displays a list of keyboard shortcuts that are specific to that application screen.

Chapter 6, Working in Guidewire Studio 133


ClaimCenter 6.0.8 Configuration Guide

Using Text Editing Commands


Use the following menu commands to perform common text-editing actions on the selected rule or text. If
desired, you can use conventual Windows keyboard commands to perform these tasks, or use the Studio toolbar
icons.

Command Description Actions you take

Edit → Undo Undoes/repeats the last com- Select Undo (CTRL+Z) or Redo (CTRL+Y) from the Edit menu. This
Edit → Redo pleted command command “undoes” (or repeats) the most recently completed com-
mand.
The undo/redo functionality is context sensitive. For example:
• If you select the Rules tab, undo/redo operates on rule operations
like adding or removing a rule, and similar operations.
• If you select a specific rule, undo/redo operates on operations
within that rule only.
• If you select a class editor, undo/redo operates exclusively on that
editor. This does not affect any changes made in the Rules tab.
Studio permits unlimited undo and redo operations.
Edit → Cut Deletes the currently selected Select a rule (from the center pane), or text (in the right-pane), then
item and copies it to the Studio select Cut from the Edit menu. Using this command deletes the
clipboard selected item from the Studio interface and places it in the Studio
clipboard for further use.
Edit → Copy Copies the currently selected Select a rule (from the center pane), or text (in the right-pane), then
item to the Studio clipboard select Copy from the Edit menu. Using this command places the
selected item in the Studio clipboard, but also leaves it available in
the Studio interface.
Edit → Paste Pastes the contents of the Studio Select a rule (from the center pane), or insert the caret at the desired
clipboard at the caret location place (in the right-hand pane), then select Paste from the Edit menu.
Studio inserts the contents of the clipboard at the indicated position.
Studio continues to insert the same item using the Paste command
until you copy a new item to the clipboard.
Edit → Delete Deletes the currently selected Select the item, then use this command to remove it completely with-
item without copying it to the out copying it to the Studio clipboard.
Studio clipboard.

Navigating Tables
Guidewire provides a number of keyboard shortcuts to aid you in navigating among cells in a table.

Keyboard Shortcuts Action

Arrow keys Move focus between table cells. The Left and Right keys navigate both the selected text and
(Up / Down / Left / Right) move to the next or previous cell after the caret reaches the ending or beginning of the text.
Tab / SHIFT+Tab Move focus to the next horizontally adjacent cell, wrapping around to the next lower or higher
row as appropriate.
PageUp / PageDown Jump focus from the current location to the top-most or bottom-most cell in the column.
Home / End Move the caret to the beginning or end of the selected text. Jump focus to the cell at the begin-
ning or end of the row after the caret reaches the beginning or ending of the text.
CTRL+Home / CTRL+End Perform in a manner similar to PageUp and PageDown.

Refactoring Gosu Code


Guidewire Studio contains functionality that you can use to refactor resource and type references. These include:

134 Chapter 6, Working in Guidewire Studio


ClaimCenter 6.0.8 Configuration Guide

• Renaming a Gosu Resource


• Moving a Gosu Resource

Renaming a Gosu Resource


Using the Studio Rename functionality to rename a PCF or Gosu class file changes the relative type name without
changing the package. ClaimCenter contains multiple resources that use physical files and for which the file
name must match the type name. If you rename one of these resources, Studio also renames the file as well.
To access the rename functionality, first select the resource in the Resources tree, then do one of the following:
• Select Rename Resource from the Code toolbar menu.
• Right-click and select Rename Resource.
The Rename Resource dialog contains a single text field in which you enter the new relative name.
Performing a rename changes all references to that type to use the new name. For any PCF, rule, or class file that
contain a reference to the renamed type, Studio silently opens the file for edit, if it is not open already. (Class files
include class, interface, enhancement, and template files.)

IMPORTANT If you revert a file name change (through the source control system), Studio does not
automatically rename all newly renamed resources. For example, during the renaming process, it is
possible to rename a class file, with this change renaming the resource name in the rule Gosu. If you
revert the class file, Studio changes the class file name back to its original file name. Studio does not
rename the recently changed resource name in the rule Gosu, however. This is the expected behavior,
although it is not necessarily intuitive.

Moving a Gosu Resource


Using the Studio Move functionality to move a resource can change the fully qualified type name. This can
possibly includes changing the package name as well.
• ClaimCenter contains multiple resources that are backed by physical files and for which the file name must
match the type name. If moving one of these resources changes the relative type name, then Studio renames
the file as well.
• ClaimCenter contains multiple resource files that are backed by physical files and for which the location in
the file system must match its package. If moving one of these resources changes the fully qualified type
name (excluding the relative part), then Studio moves the file as well.
Moving a Gosu class resource can involve relocating the resource from one folder to different folder. (Guidewire
also uses the term directory root for a root folder.) Moving a Gosu resource between directory roots moves the
file accordingly.
To access the move functionality, first select the resource in the Resources tree, then do one of the following:
• Select Move Resource from the Code toolbar menu.
• Right-click and select Move Resource.
The Move Resource dialog contains a a text field for the new fully qualified type name and a drop-down to select
the directory root.
Performing a move that changes the fully qualified class name also changes all references to that type to use the
new fully qualified name. However, references to the type by its relative name do not change if the move does
not change the relative type name.
For any resource that contain a reference to the moved type that also needs to change, Studio silently opens the
file for edit, if it is not open already.

Chapter 6, Working in Guidewire Studio 135


ClaimCenter 6.0.8 Configuration Guide

Saving Your Work


ClaimCenter automatically saves any modifications made in Studio under the following conditions:
• You move between different tabs (views) within Studio.
• The Studio main window loses focus, for example, by moving to another application.
However, you also have the option of performing manual saves by using the File menu.

Command Description

File → Save Changes 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 Changes and CTRL+S do.

If you have no unsaved changes pending, these commands are unavailable (grayed out).

136 Chapter 6, Working in Guidewire Studio


part III

Guidewire Studio Editors


chapter 7

Using the Studio Editors

This topic discusses the various editors available to you in Guidewire Studio.
This topic includes:
• “Editing in Guidewire Studio” on page 139
• “Working in the Gosu Editor” on page 140

Editing in Guidewire Studio


Guidewire Studio displays ClaimCenter resources in the left-most Studio pane. After you select a resource,
Studio automatically loads the editor associated with that resource into the Studio work space. Studio contains
the following editors:

Editor Use to... See

Display Keys Graphically create and define display keys. “Using the Display Keys Editor” on page 175
Entity Names Represent an entity name as a text string suitable for “Using the Entity Names Editor” on page 155
viewing in the ClaimCenter interface.
Gosu Create and manage Gosu code used in classes, “Working in the Gosu Editor” on page 140
tests, enhancements, and interfaces.
LOB (Lines of Define the six special typelists that define the “Using the Lines of Business Editor” on
Business) ClaimCenter Lines of Business (LOBs). page 583
Messaging Work with messaging plugins. “Using the Messaging Editor” on page 161
Page Configura- Graphically define and edit page configuration (PCF) “Using the PCF Editor” on page 337
tion (PCF) files, used to render the ClaimCenter Web interface.
Plugins Graphically define, edit and manage Java and Gosu “Using the Plugins Editor”, on page 141
plugins.
Typelist Define typelists for use in the application. “Working with Typelists” on page 315
Workflows Graphically define and edit application workflows. “Using the Workflow Editor” on page 419

Chapter 7, Using the Studio Editors 139


ClaimCenter 6.0.8 Configuration Guide

Working in the Gosu Editor


You use the Gosu editor to manage all code written in Gosu. If you open any of the following from the Resources
pane, Studio automatically opens the file in the Gosu editor:
• Classes
• Enhancements
• Interfaces
• GUnit tests

See Also
• “Working in Guidewire Studio”, on page 123
• “Configuring External Editors” on page 101
• “Classes” on page 169 in the Gosu Reference Guide

140 Chapter 7, Using the Studio Editors


chapter 8

Using the Plugins Editor

This topic covers ClaimCenter plugins. A plugin is a mini-program that you can invoke to perform some task.
This topic includes:
• “What Are Plugins?” on page 141
• “Working with Plugins” on page 143

What Are Plugins?


ClaimCenter plugins are mini-programs (Gosu or Java classes) that ClaimCenter invokes to perform an action or
calculate a result.
• An example of a plugin that calculates a result is a claim number generation plugin, which ClaimCenter
invokes to generate a new claim number as necessary.
• An example of a plugin that performs an action would be a message transport plugin, the purpose of which is
to send a message to an external system.
You can choose to implement a plugin as either a Gosu or Java class. Guidewire recommends, however, that you
implement plugins in Gosu.
Note: For information on how ClaimCenter uses plugins, see “Plugin Overview” on page 101 in the
Integration Guide.

Plugin Classes
A Guidewire plugin class implements a specific interface. Guidewire provides a set of plugin interfaces in the
base configuration for this purpose. Within Studio, if you expand the Plugins node, you see a tree of interfaces,
divided by package. This tree shows every plugin interface available in the base configuration.
• If an implementation of an interface already exists, Studio displays in front of the interface name.
• If it is possible to implement multiple versions of an interface, Studio displays in front of the interface
name.

Chapter 8, Using the Plugins Editor 141


ClaimCenter 6.0.8 Configuration Guide

• If an implementation of an interface does not exist, Studio displays a grayed-out icon in front of the inter-
face name.
• If Guidewire has deprecated an interface, Studio displays the interface with a line through its name.
It is not possible to add a new plugin interface to your ClaimCenter system. You can, however, modify the under-
lying code to create a custom modification of the plugin to suit your business needs. Each plugin name is an
exact copy of the underlying interface name, except for messaging and encryption plugins (as it is possible to
create multiple implementations of these plugin types).
You create, view, and manage plugins through the Studio Plugins editor.

Plugins with Multiple Implementations


In the base configuration, ClaimCenter provides support for multiple implementations of the following types of
plugin interfaces:

Messaging • MessageReply
• MessageRequest
• MessageTransport
Encryption • IEncryption

Typically, an installation has only a single implementation of an encryption plugin. However, you can, for
example, decide to implement a different encryption algorithm (using a different encryption plugin) as part of an
upgrade process. In this case, you must retain your old encryption plugin in order to support the upgrade.
To support multiple implementations of encryption plugins, ClaimCenter provides the following configuration
parameter:
CurrentEncryptionPlugin

Set this configuration parameter to the EncryptionID of the encryption plugin currently in use—if you have con-
figured multiple encryption plugins.
• If you do not provide a value for this configuration parameter, then ClaimCenter uses IEncryption as the
default value.
• If you create multiple implementations of a plugin interface, then you must name each plugin implementa-
tion individually and uniquely.

IMPORTANT ClaimCenter does not provide an encryption algorithm. You must determine the best
method to encrypt your data and implement it.

See Also
• For information on the how to configure your database to support encryption, see “Encryption Integration
Overview” on page 401 in the Integration Guide.
• For information on the steps to take if you upgrade your installation and change your encryption algorithm,
see “Changing Your Encryption Algorithm Later” on page 406 in the Integration Guide.

Startable Plugins
It is possible to register custom code that runs at server start up in the form of a startable plugin implementation.
You can use this type of plugin as a listener, such as listening to a JMS queue. You can selectively start or stop
each startable plugin in an administrative interface, unlike other types of plugins. For more information, see
“Startable Plugins” on page 128 in the Integration Guide.

142 Chapter 8, Using the Plugins Editor


ClaimCenter 6.0.8 Configuration Guide

Working with Plugins


You implement a plugin by selecting an interface and choosing either Implement (for single-implementation
plugins) or Add implementation (for multi-implementation plugins, such as messaging plugins).
• If you select a single-implementation plugin interface for which a plugin already exists, Studio does not
permit you to create another plugin implementation.
• If you select a single-implementation plugin interface for which a plugin does not exist, Studio creates the
plugin and automatically names the new plugin with the interface name.
• If you select a multi-implementation plugin interface (such as a messaging interface), Studio prompts you to
enter a name. (The name must be unique.)
Note: If you choose a single-implementation plugin interface, for which an associated plugin already exists,
Studio does not permit you to create another plugin. You can, however, open the plugin definition in Studio
and add or modify plugin parameters.
This process opens the plugin definition within the Studio Plugins editor. Studio labels the plugin with one the
following:
• with the interface name
• with plugin name, if a messaging plugin

Setting the Plugin Environment


Within the plugin editor, you can set the plugin deployment environment (the Env property) and the server ID (the
server property).
• Use Env to set the deployment environment in which this plugin is active. For example, you may have
multiple deployment environments (a test environment and a development environment) and you want this
plugin to be active in only one of these environments.
• Use server to set a specific server ID. For example, if running ClaimCenter in a clustered environment, you
may want this plugin to be active only on a certain machine within the cluster.
These are global properties for this plugin. You can set either of these two properties on individual plugin prop-
erties. But, if set in this location, these override the individual settings.
Note: For more information on these two properties, see “Reading System Properties in Plugins” on
page 127 in the Integration Guide. See also “Using the registry Element to Specify Environment Proper-
ties” on page 18 in the System Administration Guide.

Adding a New Plugin


Click Add... and select either Gosu or Java, depending on the plugin class that you plan to implement.

Gosu Plugins
If you select Add...Gosu, you see the following:

Class Enter the name of the Gosu class that implements this plugin. In the base configuration, Guidewire
places all Gosu plugin classes in the following location:
Classes.gw.plugin.<package>.impl
Although not mandatory, Guidewire recommends that you follow this practice.
Enter the full package path to the Gosu class. For example, use
gw.plugin.numbergenerator.impl.NumberGenerator for the Gosu INumberGenerator plugin.

Chapter 8, Using the Plugins Editor 143


ClaimCenter 6.0.8 Configuration Guide

Java Plugins
If you select Add...Java, you see the following:

Class Enter the fully qualified path to the Java class that implements this plugin. This is the dot separated pack-
age path to the class. Place all custom (non-Guidewire) Java plugin classes in the following directory:
ClaimCenter/modules/configuration/plugins/
Plugin Directory (Optional) Enter the name of the base plugin directory for the Java class. This is a folder (directory) in the
modules/configuration/plugins directory. If you do not specify a value, Studio assumes that the class
exists in the modules/configuration/plugins/shared directory.

After creating the plugin, you add parameters to it using the Parameters Add functionality. To define a parameter,
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 the Default (null) at the global level for this plugin.

Enabling and Disabling a Plugin


You can choose to make a plugin active or inactive using the Enabled checkbox. You can, for example, enable the
plugin for testing and disable it for production. It is important to understand, however, that you can still access a
disabled plugin and call it from code. Enabling or disabling a plugin is only meaningful for plugins that care
about the distinction. For example, you must enable a plugin for use in messaging in order for the plugin to work
and for messages to reach their destination. If it is a concern, then the plugin user must determine whether a
plugin is enabled.
Note: If you change the status of the plugin (from enabled to disabled, or the reverse), then you must restart
the development server for it to pick up this change.

Customizing Plugin Functionality


If you want to modify the behavior of a plugin, then do one of the following:
• Modify the underlying class that implements the plugin functionality.
• Change the plugin definition to point to an entirely different Java or Gosu plugin class.
Which path you choose depends on the business logic that you want to implement. For information on plugins in
general, see “Plugin Overview” on page 101 in the Integration Guide. For information on creating and deploying
a specific plugin type, see the following:

Plugin type See

Gosu “Deploying Gosu Plugins” on page 111 in the Integration Guide


Java “Deploying Java Plugins” on page 115 in the Integration Guide

144 Chapter 8, Using the Plugins Editor


chapter 9

Working with Web Services

This topic discusses how you define and configure web services within Guidewire Studio.
This topic includes:
• “What Are Web Services?” on page 145
• “Using the Web Services Editor” on page 145
• “Creating a New Web Service Proxy Endpoint” on page 148

What Are Web Services?


Web Services enable remote procedure calls from one system to another without assuming that the technology on
both ends is the same. ClaimCenter exposes its APIs using the platform-neutral and language-neutral web
services SOAP protocol (originally an acronym for Simple Object Access Protocol). If a SOAP implementation
for a programming language exists, then it is a relatively simple task to use web services to connect to APIs or
exchange data.
From Gosu, connecting to a remote SOAP service or publishing a new SOAP service is generally very easy due
to the native SOAP features built into Gosu.

Using the Web Services Editor


Guidewire provides a Web Services editor to create and manage web services within Studio. To create a new web
service, select Web Service in the Studio Resources pane, right-click and select New → Web Service. This opens the
New Web Service dialog in which you enter the name of the web service. You use this name to call this web service
from Gosu code. (As you cannot change this name after you create it, Guidewire recommends that you choose
the name carefully.) You can enter any legal Gosu identifier. For example, a variable name—or to be more

Chapter 9, Working with Web Services 145


ClaimCenter 6.0.8 Configuration Guide

specific, a package name—is acceptable. After setting the name of the web service (and clicking OK), the web
service dialog opens.

IMPORTANT Guidewire recommends that you take care in selecting your web service name. It is this
name that you use to create the SOAP types within Gosu code. You cannot change it after you set it.

The Web Services editor consists of several different areas:

Area Description

URL and Name fields You set the Name field as you create the web service. After you set it, you cannot change it. Click
Edit to enter the URL to the web service WSDL file. The WSDL file can exist on the local file system,
on a local server, or on a remote server.
Configuration tabs Each web service in the base configuration contains an initial “default” configuration setting in which
both the “env” and “server” parameters are set to a null value. You cannot change these parame-
ters in the default web service configuration. You can, however, create a new, named, web service
configuration and set each of these parameters separately in that configuration. See “Adding a New
Configuration Environment” on page 146for more information.
Service Definitions If you click Lookup Services in this area, Studio reads the WSDL file and displays information about
any services defined in the WSDL file. It displays the name of the service and the URL value for the
service defined in the WSDL. It also provides a means for you to enter an “override” or proxy URL (if
you select Enable).
WSDL information After you enter the URL for the WSDL, Studio displays information about the WSDL at the bottom of
the editor in the form of the WSDL JavaDoc.

IMPORTANT You must stop and restart Studio to register your web service.

Adding a New Configuration Environment


Each web service in the base configuration contains an initial “default” setting that sets a null value for both the
“env” and “server” parameters. You cannot change these parameters in the default plugin configuration. You can,
however, create a new, named, plugin configuration and set each of these parameters separately in that configura-
tion.
For these parameters:
• The Env parameter sets the deployment environment in which this plugin is active. You may choose to set this
parameter, if—for example—you have multiple deployment environments (a test environment and a develop-
ment environment). In this case, you may want this plugin to be active in only one of these environments.
• The server parameter sets a specific server ID. You may choose to set this parameter, if—for example—you
implement ClaimCenter in a clustered environment. In this case, you may want this plugin to be active only
on a certain machine within the cluster.
Note: For more information on these two properties, see “Reading System Properties in Plugins” on
page 127 in the Integration Guide. See also “Using the registry Element to Specify Environment Proper-
ties” on page 18 in the System Administration Guide.
To add a new, named, configuration environment, click Add Settings, and set values for the Env and Server parame-
ters. To enter these values as text strings, select the (New) option, then enter your values. Using these two param-
eters, you can create different plugin configuration environments that point to a development, test, or a
production version of a WSDL. You can use the different environments to set different URLs or different authen-
tication, for example.

146 Chapter 9, Working with Web Services


ClaimCenter 6.0.8 Configuration Guide

You can set the following additional fields in this web services dialog:

Field Description

Timeout (seconds) Time to wait (in seconds) for a response from the external system. If exceeded, Gosu Runtime
returns an error in the form of a Gosu exception. A value of zero specifies no time-out. Therefore,
the system waits infinitely for a response. (Other factors might also time out the request if it takes
too long, such as the ClaimCenter web application container if it contains a time-out value.)
Authentication Type of authentication to use. This can be either None or HTTP. If you choose HTTP, then you must
also enter a valid user name and password.
User Name/Password The user name and password to use with this web service. Studio displays these fields only if you
choose HTPP for the authentication value. If using Windows authentication, see the following
“Using Web Services with Windows Authentication” on page 147.

After setting these fields, click Lookup Services, which is located near the bottom of the screen. This action popu-
lates the large text area with the JavaDoc associated with this web service.

Using Web Services with Windows Authentication


If you want to authenticate a web service that uses NTLM Authentication (Windows Integrated authentication),
do the following:
1. Set the web service Authentication parameter to HTTP.

2. For the user name, specify the domain, followed by a backslash (“\”), followed by the domain user.

3. Enter a valid password.

To illustrate, suppose that you have the following:

Windows parameter Value

User domain winserver


User name soapuser
Password abc

For this example:


1. Set the HTTP user name value to this string:
winserver\soapuser
This is a concatenation of the domain, a backslash (“\”), and the user name.
2. Set the password as you would usually.

See also
• For information on working with web services in Guidewire ClaimCenter, see “Web Services (SOAP)” on
page 25 in the Integration Guide.
• For an example of setting up a web service, see “Calling Web Services from Gosu” on page 73 in the
Integration Guide.

Chapter 9, Working with Web Services 147


ClaimCenter 6.0.8 Configuration Guide

Creating a New Web Service Proxy Endpoint


It is possible to set a proxy override URL. If set, Studio automatically forwards the service to the proxy web
server. To illustrate, suppose that you have the following:

Web service parameter Value

Web Service Name IUserAPI


Proxy Web Service http://localhost:8480/cc/soap/IUserAPI?wsdl
Proxy Override http://remotehost:8000/cc/soap/IUserAPI

The goal of this example is to proxy this web service so that all requests are not sent to
http://localhost:8480/cc/soap/IUserAPI

Instead, ClaimCenter forwards the requests to a proxy location


http://remotehost:8000/cc/soap/IUserAPI

To create a new web service proxy endpoint


1. Start Studio, if it is not already running.

2. Navigate to the Web Services node.

3. Right-click and select New → Web Service from the submenu.

4. Enter the web service name. This is the name of the web service as called from code.
Guidewire defines SOAP stubs to an endpoint within Gosu using the following:
soap.<Web Service Name>.api.<API Name>
For example, if the web service name is “Test” and the API name is “IUserAPI”, you would enter the follow-
ing in Gosu code to access the web service:
soap.Test.api.IUserAPI

5. In the web services dialog, click Edit (next to the URL field) and set the URL of the WSDL. Studio uses this
URL to reach the web service. For example, to continue the previous example, enter the following:
http://localhost:8480/cc/soap/IUserAPI?wsdl

6. Click Refresh. This populates the WSDL JavaDoc at the bottom of the screen.

7. In the Services Definition area, click Lookup Services. In general—with a few exceptions—each WSDL defines a
single service. Studio displays the name of the service and its URL as defined in the WSDL (if any). It also
displays a read-only Override URL field. You enter the URL of your proxy server in this location. Studio auto-
matically forwards the service to the proxy web server.
8. Select the Enable checkbox, which makes the Override URL field editable. Enter your proxy server URL. For
example, enter the following:
http://remotehost:8000/cc/soap/IUserAPI

148 Chapter 9, Working with Web Services


chapter 10

Implementing QuickJump
Commands

This topic discusses how you can configure, or create new, QuickJump commands.
This topic includes:
• “What Is QuickJump?” on page 149
• “Adding a QuickJump Navigation Command” on page 150
• “Checking Permissions on QuickJump Navigation Commands” on page 152

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 ClaimCenter 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 ClaimCenter. (Therefore, to remove the QuickJump box from the ClaimCenter interface, remove all
commands from the QuickJump configuration editor.)
Note: 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:

Type Use for

QuickJumpCommandRef Commands that navigate to a page that accepts one or more static (with respect to
the command being defined) user-entered parameters. See “Implementing Quick-
JumpCommandRef Commands” on page 150 for details.
StaticNavigationCommandRef Commands that navigate to a page without accepting user-entered parameters. See
“Implementing StaticNavigationCommandRef Commands” on page 152.

Chapter 10, Implementing QuickJump Commands 149


ClaimCenter 6.0.8 Configuration Guide

Type Use for

ContextualNavigationCommandRef Commands that navigate to a page that takes a single parameter, with the parame-
ter determined based on the user's current location. See “Implementing Contextual-
NavigationCommandRef Commands” on page 152.

Adding a QuickJump Navigation Command


If you add a command, first set the command type, then define the command by setting certain parameters. The
editor contains a table with each row defining a single command and each column representing a specific com-
mand parameter. You use certain columns with specific command types only. ClaimCenter enables only those
row cells that are appropriate for the command, meaning that you can only enter text in those specific fields.

Column Only use with Description

Command Name • QuickJumpCommandRef Display key specifying the command string the user types
• StaticNavigationCommandRef to invoke the command.
• ContextualNavigationCommandRef

Command Class • QuickJumpCommandRef Class that specifies how to implement the command. This
class must be a subclass of QuickJumpCommand.
Guidewire intentionally makes the base
QuickJumpCommand class package local. To implement,
override one of the subclasses described in Implementing
QuickJumpCommandRef Commands.
You only need to subclass QuickJumpCommand if you plan
to implement the QuickJumpCommandRef command type.
For the other two command types, you use the existing
base class appropriate for the command—either
StaticNavigationCommand or
ContextualNavigationCommand—and enter the other
required information in the appropriate columns.
Command Target • StaticNavigationCommandRef Target page ID.
• ContextualNavigationCommandRef

Command Arguments • StaticNavigationCommandRef Comma-separated list of parameters used in the case in


which the target page accepts one or more string parame-
ters. (This is not common.)
Context Symbol • ContextualNavigationCommandRef Name of a variable on the user's current page.
Context Type • ContextualNavigationCommandRef Type of context symbol (variable).

Implementing QuickJumpCommandRef Commands


To implement the QuickJumpCommandRef navigation command type, subclass QuickJumpCommand or one of its
existing subclasses. See the following sections for details:

Subclass Section
StaticNavigationCommand Navigation Commands with One or More Static Parameters
ParameterizedNavigationCommand Navigation Commands with an Explicit Parameter (Including Search)
ContextualNavigationCommand Navigation Commands with an Inferred Parameter
EntityViewCommand Navigation to an Entity-Viewing Page

Note: All QuickJumpCommand subclasses must define a constructor that takes a single parameter—the
command name—as a String.

150 Chapter 10, Implementing QuickJump Commands


ClaimCenter 6.0.8 Configuration Guide

Navigation Commands with One or More Static Parameters


To perform simple navigation to a page that accepts one or more parameters (which are always the same for a
given command), subclass StaticNavigationCommand. The class constructor must call the super constructor,
which takes the following arguments:
• The command name (which you pass into your subclass's constructor)
• The target location's ID
Your subclass implementation must override the getLocationArgumentTypes and getLocationArguments
methods to provide the required parameters for the target location.
It is possible to create a no-parameter implementation by subclassing StaticNavigationCommand. However,
Guidewire recommends that you use the StaticNavigationCommandRef command type instead as it reduces the
number of extraneous classes needed. See “Implementing StaticNavigationCommandRef Commands” on
page 152 for details.

Navigation Commands with an Explicit Parameter (Including Search)


To create a command that performs simple navigation to a page that accepts a single user parameter, subclass
ParameterizedNavigationCommand. The constructor takes the same two arguments as
StaticNavigationCommand. Your subclass must override the getParameterSuggestions method, which
provides the list of auto-complete suggestions for the parameter. It must also override the getParameter method,
which creates or fetches the actual parameter object given the user's final input.
Subclasses of ParameterizedNavigationCommand must also implement getCommandDisplaySuffix.
ClaimCenter displays the command in the QuickJump box as part of the auto-complete list (before the user has
entered the entire command). Therefore, ClaimCenter displays the command name followed by the command
display suffix. This is typically some indication of what the parameter is, for example bean name or policy
number.

Navigation Commands with an Inferred Parameter


To implement a command that navigates to a page that accepts a single parameter, with the parameter based on
the user's current location, subclass ContextualNavigationCommand. The constructor takes the same two argu-
ments as StaticNavigationCommand, plus two additional arguments:
• The name of a PCF variable. If this variable exists on the user's current location, Studio makes the command
available and uses the value of the variable as the parameter to the target location.
• The type of the variable.
Guidewire recommends, however, that you use the ContextualNavigationCommandRef command type instead
of subclassing ContextualNavigationCommand. See “Implementing ContextualNavigationCommandRef
Commands” on page 152 for details.

Navigation to an Entity-Viewing Page


For commands that navigate to a page that simply displays information about some entity, subclass
EntityViewCommand. The constructor takes the following arguments:
• The name of the command (which you pass into your subclass's constructor)
• The type of the entity
• A property on the entity to use in matching the user's input (and providing auto-complete suggestions)
• The permission key that determines whether the user has permission to know the entity exists (This is typi-
cally a “view” permission.)
• The target location's ID
Subclasses must override handleEntityNotFound to specify behavior on incomplete or incorrect user input. A
typical implementation simply throws a UserDisplayableException. Subclasses must also implement

Chapter 10, Implementing QuickJump Commands 151


ClaimCenter 6.0.8 Configuration Guide

getCommandDisplaySuffix, which behaves in the fashion described previously in “Navigation Commands with
an Explicit Parameter (Including Search)” on page 151.
By default, parameter suggestions and parameter matching use a query that finds all entities of the appropriate
type in which the specified property starts with the user's input. If this query is too inefficient, the subclass can
override getQueryProcessor (for auto-complete) and findEntity (for parameter matching). If you do not want
some users to see the command, then the subclass must also override the isPermitted method.
By default, the auto-complete list displays each suggested parameter completion as the name of the command
followed by the value of the matched parameter. Subclasses can override getFullDisplay to change this
behavior. However, the suggested name must not stray too far from the default, as it does not change what
appears in the QuickJump box after a user selects the suggestion. Entity view commands automatically chain to
any appropriate contextual navigation command (for example, “Claim <claim #> Financials”).

Implementing StaticNavigationCommandRef Commands


StaticNavigationCommandRef specifies a command that navigates to a page without accepting user-entered
parameters. It is the simplest to implement. You specify the Command Name and Command Target in exactly the
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.

Implementing ContextualNavigationCommandRef Commands


ContextualNavigationCommandRef specifies a command that navigates to a page that takes a single parameter.
(The user's current location determines the parameter.) You specify the Command Name and Command Target in
exactly the same manner as for a static navigation command. You must also specify the Context Symbol and the
Context Type. These parameters have the following meanings:
• Context Symbol specifies that name of a variable on the user’s current page.
• Context Type specifies that variable’s type.
ClaimCenter passes the value of this variable to the target location as the only parameter. If no such variable
exists on the current page, then the command is not available to the user and the command does not appear in the
QuickJump box’s auto-complete suggestions.

If the Context Type is an entity, then any EntityViewCommands matching the entity type can automatically be
“chained” by the user into the ContextualNavigationCommand. (See “Navigation to an Entity-Viewing Page” on
page 151 for more information.) For instance, suppose that there is an EntityViewCommand called Claim that
takes a claim number and navigates to a Claim. Also, suppose that there is a ContextualNavigationCommand
called Contacts whose context type is Claim. In this case, the user can type Claim 35-402398 Contacts to invoke
the Contacts command on the specified Claim.

Checking Permissions on QuickJump Navigation Commands


Keep the following security issues in mind as you create navigation commands for the QuickJump box.

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.

152 Chapter 10, Implementing QuickJump Commands


ClaimCenter 6.0.8 Configuration Guide

For example, suppose that you create a new QuickJump navigation for NewNotePopup. Then suppose that previ-
ously you had placed a permission check on all New Note buttons. In that case ClaimCenter 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 destina-
tion 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, ClaimCenter performs stan-
dard 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, ClaimCenter 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 manually determine whether to display the command to the user, check for permission using the over-
ridden isPermitted method. (This might be, for example, from the destination's canVisit attribute.)

Chapter 10, Implementing QuickJump Commands 153


ClaimCenter 6.0.8 Configuration Guide

154 Chapter 10, Implementing QuickJump Commands


chapter 11

Using the Entity Names Editor

This topic describes entity names and entity name types. and how to work with the entity names in the Studio
Entity Names editor.

This topic includes:


• “The Entity Names Editor” on page 155
• “The Variable Table” on page 156
• “The Gosu Text Editor” on page 157
• “Including Data from Subentities” on page 158
• “Entity Name Types” on page 159

The Entity Names Editor


It is possible to define an entity name as text string, which you can then use in the ClaimCenter interface to repre-
sent that entity. Thus, you often see the term display name associated with this feature as well, especially in code
and in GosuDoc.
ClaimCenter uses the DisplayName property on an entity to represent the entity name as a text string. You can
define this entity name string as a simple text string or use a complicated Gosu expression to generate the name.
ClaimCenter uses these entity name definitions in generating database queries that return the limited information
needed to construct the display name string. This ensures that ClaimCenter does not load the entire entity and its
subentities into memory simply to retrieve the few field values necessary to generate the display name.
The use of the Entity Name feature helps to avoid loading entities into memory unless you are actually going to
view or edit its details. The use of display names improves overall application performance.
The Entity Names (display names) editor consists of two parts:
• A table in which you manage variables for use in the Gosu code that defines the entity name

Chapter 11, Using the Entity Names Editor 155


ClaimCenter 6.0.8 Configuration Guide

• A Gosu editor that contains the Gosu code that defines the entity name

IMPORTANT To deploy your changes, you must stop and restart the application server.

The 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,
duplicate, and remove variables using the function buttons by the table. The columns in the table have the
following meanings:

Name Name of the variable.


Entity Path Entity.property that the variable represents.

Sort Path Defines the values that ClaimCenter uses in a sort.


Sort Order Defines the order in which ClaimCenter sorts the Sort Path values.
Use Entity Name? Sets whether to use this value as the entity display name.

The Entity Path Column


Only use actual columns in the database as members of the Entity Path value. This means that ClaimCenter
declares the column in the metadata and that the Data Dictionary does not label that entity column (field) as vir-
tual. Thus:
• You cannot use ClaimContactRole fields in the Entity Path, such as Exposure.Incident.Injured. This is
because the Injured contact role on Incident does not have a denormalized column.
• You can, however, use special denormalized fields for certain claim contacts, such as
Exposure.ClaimantDenorm or Claim.InsuredDenorm. The description of the column indicate which
ClaimContactRole value it denormalizes.

The Use Entity Names? Column


The last column in the variable table is Use Entity Name? The column takes a Boolean true/false value, or the col-
umn can be empty.
• A value of true is meaningful only if the value of Entity Path is an entity type. A value of true instructs the
Entity Name utility to calculate the Entity Name for that entity, instead of loading the entity into memory. The

156 Chapter 11, Using the Entity Names Editor


ClaimCenter 6.0.8 Configuration Guide

variable for that subentity is of type String and you can use the variable in the Gosu code that constructs the
current Entity Name.

IMPORTANT If the value of Entity Path is an entity, then you must set the value of Use Entity Type? to
true. Otherwise, a variable entry that ends in an entity value uploads that entire entity, which defeats
the purpose of using Entity Names.

• A value of false indicates that ClaimCenter does not use the Entity Path value as an entity display name.
• An empty column is the same as a value of false. This is the default.
Set Use Entity Name value to true if you want to include the entire Entity Name for a particular subentity. For
example, suppose that you are editing the Exposure entity name and that you create a variable called claimant
with an Entity Path of Exposure.ClaimantDenorm. Suppose also that you set the value of Use Entity Name to true. In
this case, the entity name for the Claimant, as defined by the Contact entity name definition, would be included
in a String variable called claimant. ClaimCenter would then use this value in constructing the entity name for
the Exposure entity.

Evaluating Null Values


If the value of Use Entity Name is true, then ClaimCenter always evaluates the entity name definition, even if the
foreign key is null. By convention, in this case, the entity name definition usually returns the empty string "". In
other words, the entity name string can never be null even if the foreign key is null. You can use the
HasContent enhancement property on String to test whether the display name string is empty.

Thus, as you write entity name definitions, Guidewire recommends that you return the empty string if all the
variables in your entity name definition are null or empty. Guidewire uses the empty string (instead of returning
null) to prevent Null Pointer Exceptions. For example, suppose that you construct an entity name such as
"X-Y-Z", in which you add a hyphen between variables X,Y, and Z from the database. In this case, be sure you
return the empty string "" if X,Y, and Z are all null or empty and not " - - ".

The Sort Columns


The two columns Sort Path and Sort Order do not, strictly speaking, involve variable replacement in the entity name
Gosu code. Rather, you use them to define how to sort beans of the same entity.

Sort Path Defines the values that ClaimCenter uses in a sort


Sort Order Defines the order in which ClaimCenter sorts the Sort Path values

Therefore, if ClaimCenter 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.
Note: These columns specify the default sort order. Other aspects of Guidewire ClaimCenter can override
this sort order, for example, the sort order property of a list view cell widget.

The Gosu Text Editor


You enter the actual Gosu code used to construct the entity name in the code definition pane underneath the vari-
able table. Studio then replaces the variable with mapped property.
The following Gosu definition code for the Contact entity name shows these mappings.
var retString = ""

if ( SubType != null && Person.isAssignableFrom( Type.forName("entity." + SubType) ) ) {

Chapter 11, Using the Entity Names Editor 157


ClaimCenter 6.0.8 Configuration Guide

if (FirstName != null and FirstName.length() > 0) {


retString = retString + FirstName + " "
}
if (LastName != null and LastName.length() > 0) {
retString = retString + LastName + " "
}
if (Suffix != null) {
retString = retString + gw.api.util.TypeKeyUtil.toDisplayName(Suffix) + " "
}

} else {
retString = Name != null and Name.length() > 0 ? Name : ""
}
return retString

To use the Contact entity name definition, you can embed the following in a PCF page, for example.
<Cell id="Name" value="contact.DisplayName" ... />

Including Data from Subentities


Many times, you want to include information from subentities of the current entity in its Entity Name. For exam-
ple, this happens often with Contacts related to the current entity. Guidewire recommends that you do one of the
following to include data from a subentity. (The two options are mutually exclusive. You must do one or the
other.)

Option 1: Use the DisplayName for a Subentity


To use the DisplayName value for a subentity, you must set the value of Use Entity Name to true on the variable
definition. This means, for example, that for Contacts, it has to be through an explicit Denorm column, such as
Exposure.ClaimantDenorm. To illustrate:

Name Entity Path Use Entity Name?


claimantDisplayName Exposure.ClaimantDenorm true
incidentDisplayName Exposure.Incident true

Option 2: Reference Fields on the Subentity


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:

Name Entity Path Use Entity Name?


claimantFirstName Exposure.ClaimantDenorm.FirstName false
claimantLastName Exposure.ClaimantDenorm.LastName false
severity Exposure.Incident.Severity false
incidentDesc Exposure.Incident.Description false

You can then use these variables in Gosu code (in the text editor) to include the Claimant and Incident informa-
tion 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. Other-
wise, ClaimCenter 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.

158 Chapter 11, Using the Entity Names Editor


ClaimCenter 6.0.8 Configuration Guide

Denormalized Columns
Within the ClaimCenter data model, it is possible for a column to end in Denorm for (at least) two different rea-
sons:
• 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.

Entity Name Types


Guidewire calls an entity name definition the entity name type. Thus, most—but not all—entity names have a
single type. However, it is possible for certain entities in the base application to have multiple, alternate names
(types) and thus, multiple entity name definitions. Again, these can be either simple text strings, or more compli-
cated Gosu expressions.
Studio displays each entity name type as a separate tab or code definition area at the bottom of the screen. You
cannot add or delete an entity name type to the base application. You can, however, change the Gosu definition
of an entity name type. Guidewire recommends, however, that you not modify an entity name type definition
without a great deal of thought.
Most entity names have only the single type named Default. You can access the Default entity name from Gosu
code by using the following code:
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. ClaimCenter 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.

IMPORTANT It is not possible for you to either add or delete an entity name type from the base appli-
cation 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.

Chapter 11, Using the Entity Names Editor 159


ClaimCenter 6.0.8 Configuration Guide

160 Chapter 11, Using the Entity Names Editor


chapter 12

Using the Messaging Editor

This topic covers how you use the Messaging editor in Guidewire Studio.
This topic includes:
• “The Messaging Editor” on page 161
• “Working with Email Attachments” on page 164

The 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. Typi-
cally, 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 ClaimCenter 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 infor-
mation.

See Also
• “Message Destination Overview” on page 148 in the Integration Guide
• “Implementing Messaging Plugins” on page 177 in the Integration Guide
• “Messaging and Events” on page 139 in the Integration Guide

Adding a Message Environment


You can define multiple message environments to suit different purposes. For example, you can set up different
message environments for the following:
• A development environment

Chapter 12, Using the Messaging Editor 161


ClaimCenter 6.0.8 Configuration Guide

• A test environment
• A production environment
Guidewire provides a single default message environment in the ClaimCenter base configuration. You see it
listed as (Default) in the Env drop-down.

To create a new message environment


1. Select (New) from the Env drop-down list.

2. Enter a name for the message environment.

3. Add message destinations as required. See “Adding a Message Destination” on page 162 for details.

To remove a message environment


1. Select the name of the message environment from the Env drop-down list.

2. Click Remove. ClaimCenter deletes the message environment without asking for confirmation.

IMPORTANT ClaimCenter disables the message environment Remove button if only one message envi-
ronment exists. However, if there are several message environments, and you have added message
destinations to each environment, then there are multiple Remove options available. The Remove button
at the top of the screen removes the currently selected message environment. The other Remove option
removes the currently selected message destination from the list of destinations. Be careful not to inad-
vertently click the top Remove button as ClaimCenter deletes the message environment without any
additional warning. You cannot undo this action.

Adding a Message Destination


To add a message destination, open the Messaging editor, select a message environment, click Add, and fill in the
required fields. Notice that Studio requires that you enter a plugin name, for example, for the Transport plugin. It
is important to understand the difference between the implementation class name and the plugin name. After you
write code that implements a messaging plugin, you must register it in Studio. As you register an implementation
of the new messaging plugin, Studio prompts you for a plugin name. The plugin name is different from the imple-
mentation class name. The plugin name is a short arbitrary name that identifies a plugin implementation. Studio
only prompts you for a plugin name for plugin interfaces that support more than one implementation. (For
example, it is possible to create multiple distinct messaging and encryption plugins.)
After you click Add 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.
For more information on message IDs, see:
• “Implementing a Message Transport Plugin” on page 179 in the Integration Guide

Name The name to use for this messaging destination.

162 Chapter 12, Using the Messaging Editor


ClaimCenter 6.0.8 Configuration Guide

Transport Plugin The name of the MessageTransport plugin implementation that knows how to send messages for this
messaging destination. A destination must define a message transport plugin that sends a Message
object 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

For more information, see the following:


• “Messaging Overview” on page 140 in the Integration Guide
• “Implementing a Message Transport Plugin” on page 179 in the Integration Guide

If you select a specific row in the message ID table, you see additional fields. These fields have the following
meanings:

Field Description

Request Plugin A destination can optionally define a message request (MessageRequest) plugin to prepare or pre-
process a Message object before a message is sent to the message transport. For example, the
MessageRequest plugin can:
• Translate strings or codes in a text-type message payload to codes for a remote system.
• Translate name/value pairs in a text-type message payload into XML.
• Set messaging-specific data model extension properties on the Message object before sending it.

To use a message reply plugin, in this Messaging editor field, type the name of the MessageRequest
plugin implementation. If the destination requires no special message preparation, omit the request
plugin entirely for the destination.
For implementation details, see the following:
• “Implementing a Message Request Plugin” on page 178 in the Integration Guide
• “Message Destination Overview” on page 148 in the Integration Guide

Reply Plugin A destination can optionally define a message reply (MessageReply) plugin to asynchronously
acknowledge a Message object. For instance, this plugin can implement a trigger from an external
system to notify ClaimCenter that the message send succeeded or failed. To use a message reply
plugin, in this Messaging editor field, type the name of the MessageReply plugin implementation. If
the destination requires no asynchronous acknowledgement or asynchronous post-processing,
omit the reply plugin configuration settings.
For implementation details, see the following:
• “Implementing a Message Reply Plugin” on page 180 in the Integration Guide
• “Message Destination Overview” on page 148 in the Integration Guide

Poll Interval Each messaging destination pulls messages from the database (from the send queue) in batches of
messages on the batch server. The application does not query again until this amount of time
passes. Use this field to set the value of the polling interval to wait. After the current round of send-
ing, the messaging destination sleeps for the reminder of the poll interval. If the current round of
sending takes longer than the poll interval, than the thread does not sleep at all and continues to the
next round of querying and sending.
For details on how the polling interval works, see the following:
• “Message Ordering and Multi-Threaded Sending” on page 170 in the Integration Guide

IMPORTANT The value you choose for the poll interval value can significantly affect messaging
performance. If you change this value, carefully test the performance implications under realistic
conditions. If your performance issues relate primarily to many messages for each claim for each
destination, then the polling interval is the most important messaging performance setting.
Initial Retry Interval The amount of time (in milliseconds) to wait before attempting to retry sending a message after a
retryable error condition occurs.
Max Retries The number of retries to attempt before the retryable error becomes non-retryable.
Retry Backoff Multiplier The amount to increase the time between retries, specified as a multiplier of the time previously
attempted. For example, if the last retry time attempted was 5 minutes and you set this value to 2,
ClaimCenter attempts the next retry in 10 minutes.

Chapter 12, Using the Messaging Editor 163


ClaimCenter 6.0.8 Configuration Guide

Field Description

Number Sender Threads To send messages associated with a claim (safe-ordered messages), ClaimCenter can create mul-
tiple sender threads for each messaging destination to distribute the workload. These are threads
that actually call the messaging plugins to send the messages. Use this field to configure the num-
ber of sender threads for safe-ordered messages. ClaimCenter ignores this setting for
non-claim-specific messages, since those are always handled by one thread for each destination.
If your performance issues primarily relate to many messages but few messages for each claim
for each destination, then this is the most important messaging performance setting.
For more information, see the following:
• “Message Ordering and Multi-Threaded Sending” on page 170 in the Integration Guide

Chunk Size The number of messages that the messaging subsystem retrieves from the database in each round
of sending, if possible. By default, Guidewire sets this value to 100,000. This number is usually suf-
ficient to include all sendable messages currently in the send queue. Be careful not to set this num-
ber too low.
For more information, see the following:
• “Message Ordering and Multi-Threaded Sending” on page 170 in the Integration Guide

Shutdown Timeout Messaging plugins have methods to handle the administrative commands suspend, resume, and
preparing for the messaging system to shutdown. During the suspend, shutdown, and resume
methods of the plugin, the plugin must not call any APIs that suspend or resume messaging desti-
nations. (This includes—but is not limited to—IMessageToolsAPI web service APIs.) Doing so cre-
ates circular application logic. Guidewire forbids such actions.
The shutdown timeout value is the length of time to wait before attempting to shutdown the messag-
ing subsystem.
For more information, see the following:
• “Handling Messaging Destination Suspend, Resume, Shutdown” on page 184 in the Integration
Guide.

Associating Event Names with a Message Destination


To define one or more specific events for which you want this message destination to listen, click Add under
Events. Each event triggers the Event Fired rule set for that destination. Use the special event name wildcard
string "(\w)*" to listen for all events.
To get notifications using Event Fired rules when specific types of data changes occur, you must specify one or
more messaging destinations to listen for that event. If no messaging destination listens for an event,
ClaimCenter does not call the Event Fired rules for that combination of event and destination.
If more than one destination listens for that event, the Event Fired rules run multiple times, varying only in the
destination ID. To get the destination ID in your Event Fired rules, check the property messageContext.destID.
For much more information about events and the messaging system, refer to “Messaging and Events” on
page 139 in the Integration Guide.

See Also
• For a list of built-in events that ClaimCenter triggers, see “List of Messaging Events in ClaimCenter” on
page 156 in the Integration Guide.

Working with Email Attachments


By default, the emailMessageTransport plugin interacts with an external document management system as the
system user during retrieval of a document attached to an email. It is possible, however, to retrieve the document
on behalf of the user who generated the email message instead. To do this, you need to set the
UseMessageCreatorAsUser property in the emailMessageTransport plugin.

164 Chapter 12, Using the Messaging Editor


ClaimCenter 6.0.8 Configuration Guide

To set the UseMessageCreatorAsUser property


1. In Studio, navigate to the following location:
Configuration → Plugins → gw → plugin → messaging → MessageTransport → emailMessageTransport
2. In the Parameters area, click Add to create a new parameter entry.

3. Enter the following:

Name UseMessageCreatorAsUser

Value true

Chapter 12, Using the Messaging Editor 165


ClaimCenter 6.0.8 Configuration Guide

166 Chapter 12, Using the Messaging Editor


chapter 13

Using the Rules Editor

This topic describes the Studio Rules editor and how you use it to work with Gosu business rules.
This topic includes:
• “Working with Rules” on page 167
• “Changing the Root Entity of a Rule” on page 171
• “Validating Rules and Gosu Code” on page 173
• “Making a Rule Active or Inactive” on page 173

Working with Rules


ClaimCenter organizes and displays rules as a hierarchy within the center pane of Guidewire Studio, with the
rule set itself appearing at the root (top level) of the hierarchy tree. Studio displays the Rule menu only if you first
select a rule set category in the Resources pane. Otherwise, it is unavailable.
There are a number of operations involving rules that you can perform in the Studio Rules (Gosu) editor. See the
following for details:
• To view or edit a rule
• To change rule order
• To create a new rule set category
• To create a new rule set
• To create a new rule
• To access a rule set from Gosu code
• To find or replace text in the current view
• To find usages of an expression or statement
• To find or replace text throughout the resource tree
• To change the root entity of a rule

Chapter 13, Using the Rules Editor 167


ClaimCenter 6.0.8 Configuration Guide

To view or edit a rule


1. Expand the Rule Sets drop-down list in the left-hand (Resources) pane, and then expand the rule set category.

2. Select the rule set to view or edit. All editing and saving within the tool occurs at the level of a rule set.

To change rule order


If you want to change the order of your rules, you can drag and drop rules within the hierarchy.
1. Click on the rule that you want to move, hold down the mouse button, and move the pointer to the new loca-
tion for the rule. Studio then displays a line at the insertion point of the rule. Release the mouse button to
paste the rule at that location.
2. To make a rule a child of another rule, select the rule you want to be the child, and then choose Edit → Cut.
Click on the rule that you want to be the parent, and then choose Edit → Paste.
3. To move a rule up a level, drag the rule next to another rule at the desired level in the hierarchy (the reference
rule). Notice how far left the insertion line extends.
• If the line ends before the beginning of the reference rule’s name, Studio inserts the rule as a child of the
reference rule.
• If the line extends all the way to the left, Studio inserts the rule as a peer of the reference rule.
By moving the cursor slightly up or down, you can indicate whether you want to insert the rule as a child or a
peer.
If you move rules using drag and drop, then ClaimCenter moves the chosen rule and all of its children as a group.
This makes it easy to reposition entire branches of the hierarchy.
ClaimCenter also supports standard cut, copy, and paste commands, which can be used to move rules within the
hierarchy. If you paste a cut or copied rule, Studio inserts the rule as if you added a new rule. It becomes the last
child of the currently selected rule.

To create a new rule set category


Guidewire divides the sample rule sets into categories, or large groupings of rules that center around a certain
business process, for example, assignment or validation. In the rules hierarchy, rule set categories consist of rule
sets, which, in turn, further subdivide into individual rules.
• Rules sets are logical groupings of rules that specific to a business function with Guidewire ClaimCenter.
• Rules contain the Gosu code (condition and action) that perform the actual business logic.
It is possible to create new rule set categories through Guidewire Studio.
1. Select Rule Sets in the Studio Resources tree.

2. Right-click and select New → Rule Set Category from the menu.

3. Enter a name for the rule set category.

Studio inserts the rule set category in the category list in alphabetic order.

To create a new rule set


In the base configuration, Guidewire provides a number of business rules, divided into rules sets, which organize
the business rules by function. It is possible to create new rule sets through Guidewire Studio.
1. Expand the Rule Sets node in the Studio Resources tree. Although Guidewire labels the node as rule sets, the
node itself actually lists rule set categories.
2. Select a rule set category or create a new rule set category.

3. Right-click and select New → Rule Set from the menu.

168 Chapter 13, Using the Rules Editor


ClaimCenter 6.0.8 Configuration Guide

4. Enter the following information:

Field Description

Name Studio displays the rule name in the middle pane, under Rules. For the Guidewire recommendations on
rule set names, see “Rule and Rule Set Naming Conventions” on page 33 in the Rules Guide.
In general, however, if you create a rule set for a custom entity named Entity_Ext, then you must name
your rule set Entity_Ext<RuleSet>. Thus, if you want the custom entity to invoke the Preupdate rules,
then name your rule set Entity_ExtPreupdate. There are some variations in how to name a rule set. See
the existing rule sets in that category to determine the exact string to append and follow that same pattern
with new rule sets in that category.
Description Studio displays the description in a tab at the right of the Studio if you select the rule set name in the mid-
dle pane.
Guidewire recommends that you make the description meaningful, especially if you have multiple people
working on rule development. In any case, a meaningful rule description is particularly useful as time
passes and memories fade.
Entity Type ClaimCenter uses the entity type as the basis on which to trigger the rules in this rule set. For example,
suppose that you select a rule set, then a rule within the set. Right-click and select Complete Code from the
menu. Studio displays the entity type around which you base the rule actions and conditions.

To create a new rule


1. Select the rule set to contain the new rule in the Studio Resources pane.

2. Do one of the following:


• If the new rule is to be a top-level rule, select the rule set name in the middle pane.
• If the new rule is to be a child rule, expand the rule set hierarchy in the middle pane and select the parent
rule.
3. Select New Rule from the Rule menu, or right-click and select New Rule. (You can also press Ctrl+Shift+N.)

4. Enter a name for the new rule in the New Rule dialog box. Studio creates the new rule as the last child rule of
the currently selected rule (or rule set).

To access a rule set from Gosu code


You can access a rule set within a rule set category (and thus, all the rules within the rule set) by using the
following Gosu invoke method. You can use this method to invoke a rule set in any place that you use Gosu
code.
rules.RuleSetCategory.RuleSet.invoke(entity)

You can only invoke a rule set through the Gosu invoke method, not individual rules. Invoking the rule set trig-
gers evaluation of every rule in that rule set, in sequential order. If the conditions for a rule evaluate to true, then
ClaimCenter executes the actions for that rule.

Renaming or Deleting a Rule


Use the following menu commands to rename a rule or to delete it entirely from the rule set. You can also access
these commands by right-clicking on a rule and selecting the command from the drop-down list.

Command Description Actions you take

Rule → Rename Renames the currently selected Select the rule that to rename in the center pane of Studio, then
rule select Rename from the Rule menu (or right-click and select Rename).
Enter the new name for the rule in the Input dialog box. You must
save the rule for the change to become permanent.

Chapter 13, Using the Rules Editor 169


ClaimCenter 6.0.8 Configuration Guide

Command Description Actions you take

Edit → Delete Deletes the currently selected Select the rule to delete in the center pane of Studio, then select
rule Delete from the Edit menu (or right-click and select Delete). (There is
no secondary dialog window that asks you to confirm your selection.)
You can only use the Delete command to delete rules.

Renaming a rule. At a structural level, Guidewire ClaimCenter stores each rule as a separate Gosu class, with a
.gr extension. The name of the Gosu class corresponds to the name of the rule that you see in the Studio
Resources tree. ClaimCenter stores the rule definition classes in several different locations, for example:
ClaimCenter/modules/pl/config/rules/...
ClaimCenter/modules/cc/config/rules/...
ClaimCenter/modules/configuration/config/rules/...

If you rename a rule set, ClaimCenter renames the class definition file in the directory structure and any internal
class names. It also renames the directory name if the rule has children. Thus, ClaimCenter ensures that the rule
class names and the file names are always in synchronization.

Using Find-and-Replace
The Guidewire Studio Search menu provides a number of ways that you can search for text or objects in the active
Studio resources. You can also access some of the search commands by using the right-click menu of the
currently selected resource. Search commands work in one of three modes:

Find/Replace, Find Next Searches/replaces text in the currently focused view.


Find Usage Searches for usages of an expression or statement throughout the active resources.
Find/Replace in Path Searches/replaces text through all or part of the resource tree.

Viewing Search Results


Studio displays the results of a search in a Search pane at the bottom of the screen. This pane contains a Text Filter
entry field that you can use to further refine your search. For example, suppose that the search returns 105
instances of the use of the word Activity in a global search. You can further refine your search by entering
Activity.Subject in the Text Filter field. Studio filters the search results and displays (for example) the three
occurrences of the search results that contain this specific text.

To find or replace text in the current view


1. Open a rule or class in its Gosu editor. This is the currently selected view.

2. Select either Find... or Replace... from the Search menu.


• If you chose Find…, you can search for text in the currently selected view.
• If you chose Replace…, you can search for and replace text in the currently selected view. To replace text,
enter the text string on which to search, and its replacement in the appropriate fields. If Studio finds a text
match, it presents you with the option of replacing the text in this one match or in all matches it finds.
Notice that you have several search options from which to choose. These include:
• Case sensitive - If checked, Studio searches for an exact text string match, including capitalization.
• Regular expression - If checked, Studio uses the provided text string as a search pattern. For example, enter-
ing “[Cc]laim” matches to either “claim” or “Claim”, but not to “CLAIM”.
If it finds a match, Studio highlights the text. To move to the next occurrence of the found text, select Find Next
from the Search menu, or press F3.

170 Chapter 13, Using the Rules Editor


ClaimCenter 6.0.8 Configuration Guide

To find usages of an expression or statement


1. Place the cursor in an expression or statement within the currently selected view. Studio uses the text at the
cursor location as the search item. For example, if you place your cursor in the first word in the following
expression:
Activity.Priority=="high"
Studio searches for all usages of the word Activity.
2. Select Find Usages from the Search menu.

3. Select the scope for the search:


• Global - Searches for usages throughout all active resources.
• Current view - Searches for usages in the current view only.

Studio displays the results of a search in a Search pane at the bottom of the screen.

To find or replace text throughout the resource tree


1. Select a resource.

2. Select either Find in path… or Replace in path… from the Search menu, depending on your purpose.
• If you chose Find in path…, then you can search for text or all/part of a resource name.
• If you chose Replace in path…, then you can both search for and replace text. To replace text, enter the text
string on which to search, and its replacement in the appropriate fields. If Studio finds a text match, it
presents you with the option of replacing the text in this one match or in all matches it finds.
Notice that you have multiple options for the search. These include:
• Search all active resources - If checked, Studio searches for all active resources, not just the currently selected
view.
• Search in view - If checked, Studio searches in the current view only.
• Case sensitive - If checked, Studio searches for an exact text string match, including capitalization.
• Regular expression - If checked, Studio uses the provided text string as a search pattern. For example, enter-
ing “[Cc]laim” matches to either “claim” or “Claim”, but not to “CLAIM”.
• Recursive search - If unchecked, Studio performs the search in the current node only. If checked Studio per-
forms the search in the current node and all its subnodes.
Studio displays the results of the search in a Search pane at the bottom of the screen.

Changing the Root Entity of a Rule


ClaimCenter bases each Gosu rule on a specific business entity. In general, the rule set name reflects this entity.
For example, in the Preupdate rule set category, you have Activity Preupdate rules and Contact Preupdate rules.
This indicates that the root entity for each rule set is—respectively—the Activity object and the Contact object.
You can also determine the root entity for a specific rule by using the Studio code completion functionality:
1. Create a sample line of code similar to the following:
var test =

2. Right-click after the = sign and select Complete Code from the menu. The Studio code completion functionality
provides the root entity. For example:
activity : Activity
contact : Contact

Note: You can also use CTRL-Space to access the Studio code completion functionality.
ClaimCenter provides the ability to change the root entity of a rule through the use of the right-click Change Root
Entity command on a rule set.

Chapter 13, Using the Rules Editor 171


ClaimCenter 6.0.8 Configuration Guide

Why Change a Root Entity?


The intent of this command is to enable you to edit a rule that you otherwise cannot open in Studio as the decla-
rations failed to parse. Guidewire does not recommend the use of this command in other circumstances.
For example, suppose that you have the following sequence of events:
1. You create a new entity in ClaimCenter, for example, TestEntity. Studio creates a TestEntity.eti file and
places it in the following location:
modules/configuration/config/extensions

2. You create a new rule set category called TestEntityRuleSetCategory in Rule Sets, setting TestEntity as the root
entity. Studio creates a new folder named TestEntityRuleSetCategory and places it in the following loca-
tion:
modules/configuration/config/rules/rules

3. You create a new rule set under TestEntityRuleSetCategory named TestEntityRuleSet. Folder TestEntityRuleSetCategory
now contains the rule set definition file named TestEntityRuleSet.grs. This file contains the following
(simplified) Gosu code:
@gw.rules.RuleName("TestEntityRuleSet")
class TestEntityRuleSet extends gw.rules.RuleSetBase {
static function invoke(bean : entity.TestEntity) : gw.rules.ExecutionSession {
return invoke( new gw.rules.ExecutionSession(), bean )
}
...
}
Notice that the rule set definition explicitly invokes the root entity object: TestEntity.
4. You create one or more rules in this rule set that use TestEntity object, for example, TestEntityRule. Studio
creates a TestEntityRule.gr file that contains the following (simplified) Gosu code:
internal class TestEntityRule {
static function doCondition(testEntity : entity.TestEntity) : boolean {
return /*start00rule*/true/*end00rule*/
}
...
}
Notice that this definition file also references the TestEntity object.
5. Because of upgrade or other reasons, you rename your TestEntity object to TestEntityNew by changing the
file name to TestEntityNew.eti and updating the entity name in the XML entity definition:
<?xml version="1.0"?>
<entity xmlns="http://guidewire.com/datamodel"
entity="TestEntityNew" ... >
</entity>
This action effectively removes the TestEntity object from the data model. This action does not remove
references to the entity that currently exist in the rules files.
6. You update the database by stopping and restarting the application server.

7. You stop and restart Studio.

As Studio reopens, it presents you with an error message dialog. The message states that Studio could not parse
the listed rule set files. It is at this point that you can use the Change Root Entity command to shift the root entity in
the rule files to the new root entity. After you do so, Studio recognizes the new root entity for these rule files.

To change the root entity of a rule


1. Select a rule set.

2. Right-click and select Change Root Entity for the drop-down menu. Studio prompts you for an entity name.

3. Enter the name of the new root entity.

After you supply a name:


• Studio performs a check to ensure that the name you supplied is a valid entity name.

172 Chapter 13, Using the Rules Editor


ClaimCenter 6.0.8 Configuration Guide

• Studio replace occurrences of the old entity in the function declarations of all the files in the rule set with the
new entity. This only works, however, if the old root type was in fact an entity.
• Studio changes the name of the entity instance passed into the condition and action of each rule.
• Studio does not propagate the root entity change to the body of any affected rule. You must correct any code
that references the old entity manually.

IMPORTANT The intent of this command is to enable you to edit a rule that you otherwise cannot
open in Studio as the declarations failed to parse. Guidewire does not recommend the use of this
command in other circumstances.

Validating Rules and Gosu Code


Guidewire Studio provides several means to verify the validity of the rules and Gosu code that you construct.
The simplest and most visible is to view the validation status indicators located at the bottom of the right-most
Studio pane (or subpanes, for rules). The validation status indicates the following conditions:
• It shows green if the code you enter passes the Studio internal validation.
• It shows yellow if the code is valid but contains deprecated references.
• It shows red if the Gosu code does not pass validation.
If you enter non-valid code, Studio provides an error message next to the validation status indicator.

Making a Rule Active or Inactive


The Rule engine skips any inactive rule, acting as if its conditions are false. (This causes it to skip the child rules
of an inactive rule, also.) You can use this mechanism to temporarily disable a rule that is causing incorrect
behavior (or that is no longer needed) without deleting it. Sometimes, it is helpful to keep the unused rule around
in case you need that rule or something similar to it in the future.
Use the following menu command to make a rule active or inactive.

Command Description Actions you take

Rule → Active Toggles the rule active status Select a rule in center pane, then select Active from the Rule menu to
make it active. Active rules have a double check mark next to Active
in the Rule menu besides a check in the box next to the rule name in
the center pane.
You can also do the following:
• Check the box next to the rule to make it active.
• Uncheck the box next to the rule to make it inactive.

Chapter 13, Using the Rules Editor 173


ClaimCenter 6.0.8 Configuration Guide

174 Chapter 13, Using the Rules Editor


chapter 14

Using the Display Keys Editor

This topic discusses how to work with the display key editor that is available to you in Guidewire Studio.
This topic includes:
• “The Display Keys Editor” on page 175
• “Creating Display Keys in a Gosu Editor” on page 176
• “Retrieving the Value of a Display Key” on page 176

The Display Keys Editor


A DisplayKey represents a single user-viewable text string. Guidewire strongly recommends that any string
constant that can potentially reach the eyes of the user be kept as a DisplayKey rather than a hard-coded String
constant.
ClaimCenter stores each display key in a display.properties file. If there is no localization, ClaimCenter
stores this file in the following location:
ClaimCenter/modules/cc/config/locale/en_US

However, if you do localize one or more display keys, then ClaimCenter uses additional display.properties
files, one for each locale that you create. See “Localizing Display Keys” on page 483 for more information.
ClaimCenter represents display keys within a hierarchical name space.
• Within Studio, this translates to a tree structure with expandable nodes.
• Within display.properties, this translates into a “.” separating the levels of the hierarchy.
Within the Display Keys editor, Studio does the following automatically:
• It sorts display keys alphabetically—both at the root level and at the package level—as you create the display
key.
• It removes empty display keys—those for which no value was set—upon a save operation.
Studio does not, however, save changes made in the Display Keys editor automatically. You must explicitly save
your work. Studio saves your work automatically, however, if you navigate to a different editor.

Chapter 14, Using the Display Keys Editor 175


ClaimCenter 6.0.8 Configuration Guide

In Studio, you access the Display Keys editor by selecting its node in the Resources tree. You can also place your
cursor in a text string and press ALT-Enter to open the Create Display Key dialog.
Using the Display Keys editor, you can do the following:

Task Actions

View a display key Navigate to the display key that you want to view by expanding nodes. To nar-
row your search, enter a path in the Filter box. For example, if you type
Validation. (with the dot), ClaimCenter displays multiple choices for
Java.Validation.*.

Modify the text of an existing display key Select the display key that you want to modify, then modify the string in the text
box as desired. (ClaimCenter does not save your work automatically unless
you navigate to a different editor.)
Create a new display key Select the root path of the new display key, then click to open the Create Dis-
play Key dialog. Enter the display key name and default value. To add a new
root, open the Create Display Key dialog, delete the existing root, and enter a
new root.
Delete an existing display key Select the display key that you want to delete and click to remove it.
Localize an existing display key Select a different locale and enter the localized text. See “Localizing Display
Keys” on page 483.

Creating Display Keys in a Gosu Editor


You can also immediately create a display key from within a Gosu editor by entering a string literal. As you do
so, Studio queries you as to your intention. (Studio also displays a wavy line beneath a text string for which you
can create a display key.) If you press ALT-Enter, Studio opens the Create Display Key dialog, from which you can
create a display key directly.
For example, suppose that you enter the following in the Rule Actions pane in the Rule editor:
var errorString = “SendFailed”

Studio displays a wavy line under the “SendFailed” string. If you press ALT-Enter, Studio opens the Create
Display Key dialog and populates the Display Key Name field with the string text that you entered in the Rule editor.
The dialog contains a text entry field in which you can enter the localized text for the string that you entered in
the Rule editor.
After you enter the text and click OK, Studio shows the following in the Rule editor:
var errorString = displaykey.SendFailed

If you want to enter multiple entries for multiple locales, then select the Specify values for each locale checkbox. You
can enter a localized string for each locale that exists in Guidewire ClaimCenter.
You can find the new display key by entering its name in the Studio Display Keys editor filter.

See Also
• “Localizing Display Keys” on page 483

Retrieving the Value of a Display Key


Some display keys contain a place holder argument or parameter, designated by {}. ClaimCenter replaces each of
these parameters with actual values at run-time. For example, in the display.properties file, you see the
following:
Java.Activities.Error.CannotPerformAction = You do not have permission to perform actions on the
following activities\: {0}.

176 Chapter 14, Using the Display Keys Editor


ClaimCenter 6.0.8 Configuration Guide

Thus, at run-time, ClaimCenter 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.

Class displaykey
Use the displaykey class to return the value of the display key. Use the following syntax:
displaykey.[path to display key].[display key name]

For example:
displaykey.Java.Admin.User.DuplicateRoleError

returns
User has duplicate roles

This also works with display keys that require a parameter or parameters. To retrieve the parameter value, use the
following syntax.
displaykey.[path to display key].[display key name](arg1)

For example, file display.properties defines the following display key with placeholder {0}:
Java.UserDetail.Delete.IsSupervisorError = Cannot delete user because that user is the supervisor
of the following groups\: {0}

Suppose that you have the following display key code:


displaykey.Java.UserDetail.Delete.IsSupervisorError( GroupName )

If you have already retrieved a value for GroupName, this display key returns the following:
Cannot delete user because they are supervisor of the following groups: WesternRegion

The same syntax works with multiple arguments as well:


displaykey.[path to display key].[display key name](arg1, arg2, ...)

Chapter 14, Using the Display Keys Editor 177


ClaimCenter 6.0.8 Configuration Guide

178 Chapter 14, Using the Display Keys Editor


part IV

Data Model Configuration


chapter 15

Working with the Data Dictionary

Guidewire provides the Data Dictionary as a tool to use to understand and visualize the ClaimCenter 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. The Data
Dictionary also includes information on associated fields and their attributes for the data entities and data exten-
sion entities.
This topic includes:
• “What is the Data Dictionary?” on page 181
• “What Can You View in the Data Dictionary?” on page 182
• “Using the Data Dictionary” on page 183

What is the Data Dictionary?


The Data Dictionary documents all the entities and typelists in your ClaimCenter installation. Provided that you
regenerate it following any customizations to the data model, the dictionary documents both the base
ClaimCenter data model and your extensions to it. Using the Data Dictionary, you can view information about
each entity, such as fields and attributes on it.
You must manually generate the Data Dictionary after you install Guidewire ClaimCenter. Guidewire strongly
recommends that you perform this task as part of the installation process. Also, as you extend the data model, it
is important that you regenerate the Data Dictionary as needed in order to view your extensions to the data
model.
To generate the ClaimCenter Data Dictionary, run the following command from the ClaimCenter/bin directory:
gwcc regen-dictionary

ClaimCenter stores the current version of the Data Dictionary in the following directory:
ClaimCenter/build/dictionary/data/

To view the Data Dictionary, open the following file:


ClaimCenter/build/dictionary/data/index.html

Chapter 15, Working with the Data Dictionary 181


ClaimCenter 6.0.8 Configuration Guide

See also
• “Regenerating the Data Dictionary and Security Dictionary” on page 32 for instructions on how to regenerate
these dictionaries.

What Can You View in the Data Dictionary?


IMPORTANT If you use a third-party tool to edit ClaimCenter configuration files, Guidewire recom-
mends that you work with one that fully supports UTF-8 file encoding. If the editing tool does not
handle UTF-8 characters correctly, it can create errors that you then see in the Guidewire Data
Dictionary. This is not an issue with the Data Dictionary. It occurs only if the third-party tool cannot
handle UTF-8 values correctly.

After you open the Data Dictionary (at ClaimCenter/build/dictionary/data/index.html), Guidewire pres-
ents you with multiple choices. For example, you can choose to view either Data Entities or Data Entities (Conversion
View).

The standard and conversion views are similar but not identical. You use each for a different purpose. In general:
• Use the standard view to view a full set of entities associated with the ClaimCenter application and the
columns, typekeys, arrays and foreign keys associated with each entity. “Using the Data Dictionary” on
page 183 discusses the standard Data Dictionary view in more detail.
• Use the conversion view to assist you in converting data from a legacy application. This view provides a
subset of the information in the standard view of the application entities that is more useful for those working
on the conversion of legacy data.

The Conversion View of the Data Dictionary


The standard Data Dictionary view separates out entity subtypes from the main entity supertype. In brief, a
supertype relates to a subtype in a parent-child relationship. For example, if a Contact data entity is the super-
type, then Person and Company are examples of its subtypes. Thus, an entity subtype inherits the characteristics
of its supertype and adds individual variations particular to it.
This separation into supertype and subtype is not particularly useful for data conversion (the process of
importing data into ClaimCenter from an external legacy application). Therefore, the conversion view of the
Data Dictionary differs from the standard view in the following respects:
1. The conversion view displays subtype fields interspersed with supertype fields. For example:
• fieldA
• fieldB (only for subtype XYX)
• fieldC (only for subtype DFG)
• fieldD

2. The conversion view does not show virtual fields or virtual arrays.

3. The conversion view does not show non-loadable columns. For example, it does not show createUserID or
createTime.

4. The conversion view omits any non-persistent entities.

5. The conversion view omits entities that are persistent but non-loadable. For example, Group is not loadable.
Therefore, the conversion view does not display it.

182 Chapter 15, Working with the Data Dictionary


ClaimCenter 6.0.8 Configuration Guide

Using the Data Dictionary


You use the Data Dictionary to do the following:
• To determine what a field means that you see in a data view definition.
• To see what fields are available to add to a view, or to use in rules, or to export in an integration template, and
more.
• To view the list of options for an associated typekey field. (See “What is a Typelist?” on page 315 for infor-
mation on typelists.)
You navigate the dictionary like a web site, with links leading you to associated pages. You can use the Back and
Forward controls of your browser to take you to previously visited pages. Within the Data Dictionary, you have
the option to navigate to the Data model or the Typelists views. If you click Data model, ClaimCenter displays a left-
side pane listing all of the entities in ClaimCenter. Then, on the right-side, ClaimCenter displays a pane that
shows the details of the selected item in the left-side pane.
Within the details of an object, you can follow links to related objects or view the allowed values for a typelist.
The following topics describe:
• Object Attributes
• Entity Subtypes
• Data Column and Field Types
• Virtual Properties on Data Entities

Object Attributes
An object in the ClaimCenter 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
Transaction entity has the attributes Abstract, Editable, Extendable, Keyed, Loadable, Sourceable, Supertype, and Version-
able.

Chapter 15, Working with the Data Dictionary 183


ClaimCenter 6.0.8 Configuration Guide

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 instanti-
ate the supertype entity itself. An abstract entity is appropriate if the supertype serves only to collect logic or
common fields, but does not make sense 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, it tracks who created it and the time, and who
last edited it and the time.
Extendable It is possible to extend the entity with additional custom fields added to it.
Final It is not possible to subtype this entity. You can, however, extend it 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 pri-
mary key named ID. ClaimCenter 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 iden-
tify the external application and 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
application 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. ClaimCenter deletes
the entity after the operation is complete.
Versionable The entity has a version number that increases every time the entity changes. The ClaimCenter cache uses
the version number to determine if updates have been made to an entity.

Note: To view the definition of a particular attribute, click the tiny question mark (?) by the attribute name
in the attribute list in the Guidewire Data Dictionary.

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 ClaimCenter 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.
ClaimCenter 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.
ClaimCenter also looks at the subtype as it decides which fields to show in the ClaimCenter interface. You can
check which subtype a contact is by looking at its subtype field (for example, in a Gosu rule or class).

Data Column and Field Types


You can use the Data Dictionary to view the type of each object field. The following list describes some of the
possible field types on an object:

Type Description

array Represents a one-to-many relationship, for example, contact to addresses. There is no actual column in
the database table that maps to the array. ClaimCenter stores this information in the metadata.
column As the name specifies, it Indicates a column in the database.
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.

184 Chapter 15, Working with the Data Dictionary


ClaimCenter 6.0.8 Configuration Guide

Type Description

typekey Represents a discrete value picked from a particular list, called a typelist.
virtual property Indicates a derived property. ClaimCenter does not store virtual properties in the ClaimCenter physical
database.

Virtual Properties on Data Entities


The Data Dictionary lists certain entity properties as virtual. ClaimCenter does not store virtual properties in the
ClaimCenter physical database. Instead, it derives a virtual property through a method, a concatenation of other
fields, or from a pointer (foreign key) to a field that resides elsewhere.
For example, if you view the Account entity in the Data Dictionary (for PolicyCenter), you see the following
next to the AccountContactRoleStubypes field:
Derived property returning gw.api.database.IQueryResult (virtual property)

Examples
The following examples illustrate some of the various ways that Guidewire applications determine a virtual
property. The examples use the ClaimCenter application for illustration.

Virtual Property Based on a ForeignKey


Claim.BenefitsDecisionReason is a virtual property that simply pulls its value from the cc_claimtext table,
which stores ClaimText.ClaimTextType = BenefitsDecisionReason. It returns a mediumtext value. The other
fields in cc_claimtext and cc_exposuretext work in a similar fashion.

Virtual Property Based on an Associated Role


Claim.claimant is a virtual property that retrieves the Contact associated with the Claim with the
ClaimContactRole of claimant. It returns a Person value.

Virtual Property Based on a Typelist


Contact.PrimaryPhoneValue is a virtual property that calculates its return value based on the value from
Contact.PrimaryPhone. It retrieves the telephone number stored in the field represented by that typekey. This
can be one of the following:
• Contact.HomePhone
• Contact.WorkPhone
• Person.CellPhone

It returns a phone value.

Chapter 15, Working with the Data Dictionary 185


ClaimCenter 6.0.8 Configuration Guide

186 Chapter 15, Working with the Data Dictionary


chapter 16

The ClaimCenter Data Model

This topic describes the data objects (entities) that Guidewire provides as part of the base data model configura-
tion.
This topic includes:
• “What Is the Data Model?” on page 187
• “Overview of Data Entities” on page 189
• “Base ClaimCenter Data Objects” on page 196
• “Data Object Subelements” on page 209

What Is the Data Model?


At its simplest, the Guidewire data model is merely an XML-formatted list of entities and typelists.

Entities Each entity has a set of fields defined for it. You can add the following kinds of fields to an entity:
• Column
• Type key
• Array
• Foreign key

Typelists A typelist is a list of predefined code/value pairs (also called type codes) that you can apply to the fields
on an entity. There are several different types:
• Internal typelists - You cannot modify internal typelists as the application depends upon them for inter-
nal 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 ClaimCenter loads the application metadata files on startup. This instantiates the data model as a
collection of columns and rows in the database that interact with Java or Gosu objects in the application domain.

Chapter 16, The ClaimCenter Data Model 187


ClaimCenter 6.0.8 Configuration Guide

The Data Model in Guidewire Application Architecture


Guidewire applications employ a metadata approach to data objects. ClaimCenter uses metadata about applica-
tion domain objects to drive both database persistence objects and the Gosu and Java interfaces to these objects.
This architecture provides enormous power to extend Guidewire application capabilities. Typically, you alter
enterprise-level software applications through customization, wherein you change the behavior of the software
by editing the code itself. In contrast, a Guidewire application uses XML files that provide default behavior,
permissions and objects in the base configuration. You change the behavior of the application by modifying the
base XML files and by creating Gosu business rules, classes, enhancements, and other objects.

The Base Data Model


One trade-off for this configurability is that it does require an extensive understanding of the application’s base
data model. The base data model specifies the entities, fields, and other definitions that comprise a default instal-
lation of ClaimCenter.
For example, in its base data model, ClaimCenter defines a Claim entity and several fields on it such as
ClaimNumber, LossDate, and Description.

Guidewire expressly designed ClaimCenter so that you can change the base data model to accommodate your
business needs. You define changes to the data model through XML files. ClaimCenter stores these files in the
following application directory
ClaimCenter/modules/configuration/config/extensions

However, you always access the data model files through ClaimCenter Studio.
Guidewire calls these changes data model extensions. For example, you can extend the data model by adding
new fields to the User entity, or you can create entirely new entities. The complete ClaimCenter data model
consists of a base model combined with any custom data model extensions that you create.

WARNING Do not attempt to modify any files other than those in the ClaimCenter/modules/
configuration directory. Any attempt to modify files outside of this directory can cause damage to the
ClaimCenter application sufficient to prevent the application from starting thereafter.

Using Dot Notation


There are many places within ClaimCenter that you need information about fields within the application, espe-
cially while you configure ClaimCenter. For example, within Gosu (either a business rule, or class or enhance-
ment), there can be a need to check the owner of an assignable object. Or, there can be a need to check the date
and time of object creation. ClaimCenter provides an easy and consistent method of referring to fields within the
data model, using relative references based on a root object.
The root object is the starting point for any field reference. It is easiest to understand what a root object is by
considering an example. If you run Gosu rules on a claim, the claim is the root object and you can access
anything that relates to this claim. On the other hand, if you run an assignment rule for an activity, the activity is
the root object. In this case, you have access to fields that relate to the activity, including the claim associated
with the activity.
Guidewire applications uses dot notation for relative references. This is mostly likely familiar to people with
experience in object-oriented programming languages. For example, assume that your Guidewire application has
Claim as the root object. For a simple reference to a field on the claim such as LossDate, you simply use:
claim.LossDate

188 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

However, suppose that you want to reference a field on an entity that relates to the claim, such as the policy expi-
ration date. You must first describe the path from the claim to the policy, then describe the path from the policy to
to the expiration date of the policy:
claim.Policy.ExpirationDate

Overview of Data Entities


Data entities are the high-level business objects used by ClaimCenter, such as a Claim, Exposure, or Policy. An
entity serves as the root object for data views, rules, Gosu classes, and most other data-related areas of
ClaimCenter. Guidewire defines a set of data objects in the base ClaimCenter configuration from which it derives
all other objects and entities. For many of the Guidewire base entities, you can also create entity extensions that
enhance the base entities and provide additions required to support your particular business needs. In some cases,
you can even define entirely new entities.

Data Object Files

WARNING Do not modify any of the base data object definitions. You can invalidate your installa-
tion and prevent it from starting thereafter. You can view these files (in read-only mode) in Studio in
the Data Model Extensions folder. Studio displays a dim (less bright) icon for those files that are read-only
and which you must never modify. In particular, never attempt to modify any file in the Data Model Exten-
sions → metadata folder.

To better understand the syntax of the object or entity metadata, it is sometimes helpful to look at the
ClaimCenter base data model definitions. ClaimCenter defines each base entity (and extension entity) in its own
separate metadata file. The file extension of the metadata file depends on the entity type. The file extension of the
metadata file determines its purpose, according to the following table.

Extension Meaning Contains Entity type


.dti Data Type Info A single data type definition. datatype

.eix Entity Internal eXtension A single entity internal extension for internalExtension
use by Guidewire only.
.eti Entity Type Information A single entity declaration. The name component
of the file corresponds to the name of delegate
deleteEntity
the entity. entity
nonPersistentEntity
subtype
viewEntity
.etx Entity Type eXtension A single entity extension. extension
viewEntityExtension
.tix Typelist Internal eXtension A single typelist extension for use by internalTypelistExtension
Guidewire only.
.tti Typelist Type Info A single typelist declaration. The typelist
name of the file corresponds to the
name of the typelist.
.ttx Typelist Type eXtension A single typelist extension. typelistExtension

The following list describes the location of the metadata declaration files.

File type Location


.dti cc/config/datatypes
pl/config/datatypes
.eix cc/config/metadata

Chapter 16, The ClaimCenter Data Model 189


ClaimCenter 6.0.8 Configuration Guide

File type Location


.eti cc/config/extensions
cc/config/metadata
pl/config/metadata
.etx cc/config/extensions
configuration/config/extensions
.tix cc/config/metadata
.tti cc/config/extensions
cc/config/metadata
pl/config/metadata
.ttx cc/config/extensions

Example Activity Files


For example, in the base configuration, ClaimCenter defines the following files, all of which relate to the
Activity entity:

File Location Purpose


Activity.eti pl/config/metadata Main entity definition, not modifiable.
Activity.eix cc/config/metadata Internal entity extension, not modifiable.
Activity.etx cc/config/extensions Guidewire entity extension. You cannot modify this entity
definition. You can, however, override certain attributes of
the entity definition by creating your own Activity.etx
file.

If you extend the Activity entity, then you need to create the following extension file through Guidewire Studio.

File Location Purpose


Activity.etx configuration/config/extensions User-created entity extension. You can both create an
entity extension of this type and you can modify an exist-
ing one.
WARNING Any entity declaration file that you create,
you need to create through Guidewire Studio to ensure
that it resides in the correct location. If you attempt to man-
ually create entity declaration files and do so incorrectly,
you can invalidate your Guidewire installation.

You define data entities through XML elements in the metadata files. The root element of an entity definition
specifies the kind of entity, and any attributes that apply. Subelements of the entity define the entity components,
such as columns (fields) and foreign keys.

The Metadata Directory


The metadata directory contains the data model definitions that make up the Guidewire base data model. This
directory is a multi-directory. This means that Guidewire merges all versions of a file in all module directories
called metadata to create the complete file. A metadata directory contains the following files types:
• Declaration files (those with file extensions *.eti and *.tti) can appear only a single time in any of the
metadata directories.
• Internal extension files (those with file extensions *.eix or *.tix) can appear only a single time in any of the
metadata directories.

190 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

The Extensions Directory


The configuration/config/extensions directory contains the data model definitions that make up your exten-
sions to the Guidewire base data model. This directory is a virtual directory. This means that Studio uses all the
files in the extensions directories from all the various modules. However, if a file appears twice, then Studio
uses the one in the highest module and ignores all the others. In this way, you can create an extension that over-
rides a Guidewire base configuration entity extensions.

The ‘extensions.properties’ File


In general, if you change the data model (by creating entity extensions, for example), Guidewire ClaimCenter
performs a database upgrade the next time you start the application server. However, it is possible to force
ClaimCenter to perform a database upgrade without changing any of the data model .etx files.
The Data Model → extensions folder contains an extensions.properties file that contains a single numeric prop-
erty. After a database upgrade, ClaimCenter stores the value of this property in the database. At application
server start up, ClaimCenter checks the value of the property in the extensions file against the value in the data-
base. If the two values do not match, ClaimCenter performs a database upgrade.
Thus, to force a database upgrade, increment the value in the extensions file. This action instructs ClaimCenter
to perform a database upgrade.
The use of extensions.properties in a development environment is optional. However, in a production envi-
ronment, it is mandatory that you increment the version number if you make changes to the data model and
restart the application server.

See Also
• For information on how Guidewire ClaimCenter creates merged virtual directories and the directory hier-
archy in general, see “ClaimCenter Configuration Files” on page 88.
• For a discussion of exactly how Guidewire determines the highest-level module, see “How ClaimCenter
Interprets Modules” on page 89.

Working with Data Object Files


In working with data object files, you typically want to perform the following operations:
• Search for an existing data object or entity
• Create a new data object
• Extend an existing data object
The following steps describe these procedures.

To search for an entity


1. Within Guidewire Studio, press CTRL-N. This action opens the Enter type name dialog.

2. Enter the name of the object or entity that you want to find. Studio displays a list of matching entries that start
with the character string you entered.
3. Pay close attention to the file extension. For example, if you enter Activity, Studio displays a number of
matches, including Activity.eti and Activity.etx. These are two very different files. Ensure that you are
select the correct file.

To create a new data object


1. Within Guidewire Studio, highlight Data Model Extensions → extensions.

2. Right-click and select New → Other file from the submenu.

Chapter 16, The ClaimCenter Data Model 191


ClaimCenter 6.0.8 Configuration Guide

3. Enter the name of the object or entity and enter the .eti file extension. You must add the file extension your-
self. Studio does not add it for you.
Studio creates an empty file and places it in the extensions folder in Studio. Guidewire ClaimCenter stores this file
in the application file structure in the following location.
.../modules/configuration/config/extensions

To extend an existing data object


1. Within Guidewire Studio, do either of the following:

a. Open Data Model Extensions → extensions and select the entity that you wish to extend.

b. Press CTRL-N and search for the entity that you want to extend.

IMPORTANT You must select the entity name that ends with the .eti file extension.

2. Right-click on the entity that you want to extend and select Create extension file from the submenu. Studio
creates a skeleton version of the file and displays it in a view tab.
Studio creates the file and places it in the extensions folder in Studio. Guidewire ClaimCenter stores this file in the
application file structure in the following location.
.../modules/configuration/config/extensions

Important Reminders
As you work with the data objects, remember the following:
• If you are extending an existing entity, always select the .eti version of the entity and then choose Create new
extension.
• If you are creating a new entity, always choose New → Other file and add the .eti file extension.
• If you are modifying an existing entity, use CTRL-N to find the entity and always modify the .etx version in
the extensions folder.

ClaimCenter Data Objects


ClaimCenter uses metadata XML files to define all entities (data objects). ClaimCenter stores the base data
object definitions in datamodel.xsd. You never need modify this file. You can view a read-only version of this
file in the Data Model Extensions folder in Studio.

WARNING Do not attempt to modify datamodel.xsd. You can invalidate your ClaimCenter installa-
tion and prevent it from starting thereafter. You can view a read-only version of this file in Studio in the
Data Model Extensions folder.

File datamodel.xsd defines the following:


• The set of allowable or valid data objects
• The attributes associated with each data object
• The allowable subelements on each data object
All ClaimCenter objects (or entities) must correspond to its definition in datamodel.xsd.
Using XML files, Guidewire defines a data entity as a particular data object, as a root element in an XML file
that bears its name. For example, Guidewire defines the Activity object with the following Activity.eti file:
<?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"

192 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

javaClass="com.guidewire.pl.domain.activity.ActivityBase"
platform="true"
table="activity"
type="retireable">
...
</entity>

At application server start up, ClaimCenter loads the XML definitions of the data objects into the application
database.

Editing XML Data Object Files

WARNING Do not modify any of the base data object definitions. You can invalidate your installa-
tion and prevent it from starting thereafter. You can view these files (in read-only mode) in Studio in
the Data Model Extensions folder. Studio displays a dim (less bright) icon for those files that are read-only
and which you must never modify. In particular, never attempt to modify any file in the Data Model Exten-
sions → metadata folder. If you create a new extension file manually, you must place it in the proper
modules/configuration/config/extensions folder.

It is possible to configure Studio to open .xml files directly in an XML editor that is external to Guidewire
Studio. To facilitate this process, Guidewire provides an XML attribute named xmlns. The xmlns attribute
defines the namespace for the XML elements in the file. This namespace (analogous to a package in Java) serves
to further qualify a class name, primarily to avoid collisions between like-named elements from other schemas.
You can configure many XML editors to associate a namespace with an XSD. However, merely defining the
namespace within Guidewire ClaimCenter is not sufficient to inform the XML editor which XSD to use in vali-
dating an XML document. You must configure the XML editor manually to associate the namespace with the
XSD.

IMPORTANT The xmlns attribute is currently optional. However, Guidewire strongly recommends
that you add it to your entity and typelist files as Guidewire reserves the right to make this attribute
required in the future.

Entity files. Use the following for entity files (.eti and .etx):
<entity xmlns="http://guidewire.com/datamodel" ...

Typelist files. Use the following for typelist files (.tti and .ttx):
<typelist xmlns="http://guidewire.com/typelists" ...

IMPORTANT If you use a third-party tool to edit ClaimCenter configuration files, Guidewire recom-
mends that you work with one that fully supports UTF-8 file encoding. If the editing tool does not
handle UTF-8 characters correctly, it can create errors. For XML files, it is possible to use a different
file encoding, as long as you specify it in the XML prolog. For all other files, use UTF-8.

See Also
• “Configuring External Editors” on page 101

Data Objects and the Application Database


Guidewire defines each base data object or entity as a root XML element in the file that bears its name. For
example, Guidewire defines the Activity data object in Activity.eti:
<entity xmlns="http://guidewire.com/datamodel"
entity="Activity"
...
type="retireable">
...
</entity>

Chapter 16, The ClaimCenter Data Model 193


ClaimCenter 6.0.8 Configuration Guide

Notice that for the base configuration Activty object, Guidewire sets the type attribute to retireable. This
type attribute that determines how Guidewire ClaimCenter manages the data object in the ClaimCenter database.
For example:
• If a data object has a type value of versionable, ClaimCenter stores that object in the database with a
specific ID and version number.
• If a data object has a type value of retireable, ClaimCenter stores that object in the database forever.
However, you can retire or hide the object so that ClaimCenter does not display the object in the interface.

IMPORTANT For each data object in the base configuration and for each entity or object that you
create, ClaimCenter automatically generates a field named ID that is of data type key. This is the inter-
nally managed primary key for the object. Do not attempt to create objects of data type key. This 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 attribute marked as
general use to create or extend an data object. Do not attempt to create or extend an entity with a type attribute
marked as Internal-use.

Type attribute Usage Description


editable Internal use An editable entity is a versionable entity. ClaimCenter automatically stores
the version number of an editable entity. In addition to the standard versionable
attributes of version and ID, an editable entity has the following additional
attributes:
• CreateUser and CreateTime
• UpdateUser and UpdateTime

Guidewire recommends that you do not attempt to create an entity with a type
attribute of editable.
joinarray Internal use A joinarray entity works in a similar manner to a versionable entity.
Guidewire recommends that you do not use this entity type. Use versionable
instead.
keyable Internal use A keyable entity that has an ID, but it is not editable. It is possible to delete enti-
ties of this type from the database. Guidewire recommends that you do not use
this entity type. Use versionable instead.
nonkeyable Internal use An entity that does not have a key. Use this type of entity in a reference or
lookup table, for example. It is possible to delete entities of this type from the
database.
Guidewire recommends that you do not attempt to create an entity with a type
attribute of nonkeyable.
purgeable Internal use An editable entity that you can purge from the system. You do not delete
objects of this type from the database. Rather, you mark them as retired.
Guidewire recommends that you do not attempt to create an entity with a type
attribute of purgeable.

194 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

Type attribute Usage Description


retireable General use The retireable entity is an extension of the editable entity, and is the most
common type of entity. Most base entities are of this type.
After ClaimCenter adds an instance of a retireable data object to the data-
base, ClaimCenter never deletes the object. Instead, ClaimCenter retires the
object. For example, if you select a retireable object in a list view and then
click Delete, ClaimCenter preserves the data in the database. However,
ClaimCenter inserts an integer in the Retired column for the row represented
by that object. Any non-zero value in the Retired column indicates that
ClaimCenter considers the object retired.
ClaimCenter automatically creates the following fields for a retireable entity:
• ID and PublicID
• CreateUser and CreateTime
• UpdateUser and UpdateTime
• Retired
• BeanVersion

These are the same fields as those ClaimCenter creates for the editable
object, with the addition of Retired property.
versionable General use An entity that has a version and ID. Entities of this type can detect concurrent
updates. In general practice, Guidewire recommends that you use this entity
type instead of keyable. Versionable extends keyable.
It is possible to delete entities of this type from the database.

Data Objects and Scriptability


Guidewire defines scriptability as the ability of code to set (write) or get (read) a scriptable item such as a prop-
erty (column) on an entity. To do so, you set the following attributes:
• getterScriptability
• setterScriptabiliy

The following table lists the different types of scriptability:

Type Description
all Exposed in Gosu, wherever Gosu is valid, for example, in rules and PCF files
doesNotExist Not exposed in Gosu
hidden Not exposed in Gosu

If you do not specifiy a scriptability annotation, then ClaimCenter defaults to a scriptability of all.

IMPORTANT There are subtle differences in how ClaimCenter treats entities and fields marked as
doesNotExist and hidden. However, these differences relate to internal ClaimCenter 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.

Scriptability Behavior on Entities


If you set setterScriptability at the entity level (if you set the value to hidden or doesNotExist), then
Guidewire does not generate constructors for the entity. In essence, this means that you cannot create a new

Chapter 16, The ClaimCenter Data Model 195


ClaimCenter 6.0.8 Configuration Guide

instance of the entity in Gosu. Within the ClaimCenter data model, you can set the following scriptability annota-
tion on <entity> objects:

Object Set (write) Get (read)

<entity> Yes No1


1. <entity> does not contain a getterScriptability attribute.

Scriptability Behavior on Fields (Columns)


If you set setterScriptability at the field level, then the value that you set controls the writability of the asso-
ciated property in Gosu. Within the ClaimCenter data model, you can set the following scriptability annotation
on fields on <entity> objects:

Field Set (write) Get (read)

<array> Yes Yes


<column> Yes Yes
<edgeForeignKey> Yes Yes
<foreignkey> Yes Yes
<onetoone> Yes Yes
<typekey> Yes Yes

Base ClaimCenter Data Objects


All ClaimCenter objects exist as one of the base data objects or as a subtype of a base object. The following table
lists the data objects that Guidewire defines in the base ClaimCenter configuration.

Data object Extension Folder


<component> .eti metadata, extensions
<delegate> .eti metadata, extensions
<deleteEntity> .eti extensions
<entity> .eti metadata, extensions
<extension> .etx extensions
<nonPersistentEntity> .eti metadata, extensions
<subtype> .eti metadata, extensions
<viewEntity> .eti metadata
<viewEntityExtension> .etx extensions

IMPORTANT There is an additional data object, <internalExtension>, that Guidewire uses for
internal purposes. Do not attempt to create or extend this type of data entity.

Component Data Objects


A Component data object is similar to a compound property in that it represents a group of fields that all go
together. Guidewire defines this object in the data model metadata files as the <component> root XML element.
Note: ClaimCenter stores all database columns on the Component entity on the parent entity.

196 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

Example Implementation
Suppose that you define a MoneyComponent data object that represents a monetary amount. The XML definition
of the <component> element includes the following subelements:
• a <column> element that represents the numeric amount
• a <typekey> element that represents the currency type
The following example illustrates the monetary amount component named MoneyComponent.
<component name="MoneyComponent">
<column name="Amount" type="money"/>
<typekey name="Currency" typelist="Currency"/>
</component>

Note: If you need to reference a Component object from another data object, then use the element
<componentref> element to create an instance of the component. For an example of how to use the
<componentref> element, see “<componentref>” on page 216.

Attributes of <component>
The <component> element contains the following attributes. A value of Internal indicates that although the
attribute exists, Guidewire uses it for internal purposes only.

<component> attributes Description Default


javaClass Internal. None
name Required. None

Subelements on <component>
The <component> element contains the following subelements:

<component>
subelements Description
column See “<column>” on page 212.
foreignkey See “<foreignkey>” on page 220.
fulldescription See “<fulldescription>” on page 223.
typekey See “<typekey>” on page 229.

Delegate Data Objects


A Delegate data object is a reusable entity that contains an interface and a default implementation of that inter-
face. This permits an entity to implement an interface while delegating the implementation of that interface to
another class, that of the delegate. You often use a delegate with objects that share code. The delegate imple-
ments the code rather than each class duplicating the shared code. Thus, a delegate is an entity associated with an
implemented interface that multiple parent entities can reuse.
Guidewire defines this object in the data model metadata files as the <delegate> XML root element. You can
both extend existing delegates (if a delegate is marked as extendable) and create your own delegates.
Note: As with the Component data object, ClaimCenter stores all database columns on the Delegate entity
on the parent entity.

Implementing Delegate Objects


To implement most delegate objects, you merely need to add the following to an entity definition or extension.
<implementsEntity name=”SomeDelegate”/>

Chapter 16, The ClaimCenter Data Model 197


ClaimCenter 6.0.8 Configuration Guide

For example, in the base configuration, the Account entity implements the Validatable delegate using the
following:
<entity entity="Account" ... >
<implementsEntity name="Validatable"/>
...
</entity>

It is possible for an entity to implement multiple delegates, just as a Gosu or Java class can implement multiple
interfaces.
Delegates that you can not implement directly. There are some delegates that you cannot implement directly
through the use of the <implementsEntity> element. They are:
• Versionable
• KeyableBean
• Editable
• Retireable

Instead of using the <implementsEntity> element, you specify these delegate using the type attribute on the
entity declaration. The basic syntax looks similar to the following:
<entity name=”SomeEntity” ... type=”SomeDelegate”>

For example, in the base configuration, the Account entity also implements the Retirable delegate by setting the
entity type attribute to retireable.
<entity entity="Account" ... type=”retireable”>
<implementsEntity name="Validatable"/>
...
</entity>

Delegates that you cannot implement through extension. Guidewire does not permit you to extend base entities
(those that Guidewire provides in the base configuration) with certain delegates. These delegates determine the
graph to which an entity belongs. Guidewire sets these delegates carefully in the base configuration and you
cannot change them thereafter. These delegates include the following:
• Extractable

IMPORTANT Do not attempt to change the graph to which a Guidewire base entity belongs through
extension. In other words, do not attempt to change the delegate that a Guidewire base entity imple-
ments through an extension entity using <implementsEntity>. ClaimCenter generates an error if you
attempt to do so.

See Also
• For an example of how to create a delegate object, see “Creating a New Delegate Object” on page 241.
• For a discussion of working with delegates in Gosu classes, see “Using Gosu Composition” on page 195 in
the Gosu Reference Guide.

Attributes of <delegate>
The <delegate> element contains the following attributes.

IMPORTANT The requires attribute on <delegate> is strongly interlinked with the adapter attribute
on <implementsEntity>. See that element discussion for details.

<delegate> attributes Description Default


base Internal. False

extendable Internal. False

javaClass Internal.The Java class that provides an implementation of the interface. None
name Required. None

198 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

<delegate> attributes Description Default


requires Optional. Specifies an interface for which the implementors of this delegate None
must provide an implementation. By implementors, Guidewire means those
entities that refer to the delegate using <implementsEntity>.
IMPORTANT This attribute is inter-related with the adapter attributes on
<implementsEntity>.
• If you specify a value for the requires attribute, then the implementors of
this delegate must specify a value for the adapter attribute on
<implementsEntity>. The value of the adapter attribute must be the name
of a type that implements the interface specified by the requires attribute of
the associated delegate.
• If you do not specify a value for the requires attribute, then the implemen-
tors must not specify an adapter attribute on <implementsEntity>.

Subelements on <delegate>
The <delegate> element contains the following subelements.

<delegate> subelements Description


column See “<column>” on page 212.
datetimeordering Internal.
foreignkey See “<foreignkey>” on page 220.
fulldescription See “<fulldescription>” on page 223.
implementsEntity See “<implementsEntity>” on page 224.
implementsInterface See “<implementsInterface>” on page 225.
index See “<index>” on page 226.
param A parameter to pass as an argument to a delegate. It contains the following attributes:
• name (use = required)
• required (default = False)

typekey See “<typekey>” on page 229.

Guidewire Recommendations
Guidewire recommends that you use delegates in the following scenarios:
• Implementing a Common Interface
• Subtyping Without Single-Table Inheritance
• Using Entity Polymorphism

Implementing a Common Interface


Guidewire recommends that you use a delegate if you want both of the following:
• If you want to have multiple entities implement the same interface
• If you want most of the implementations of the interface to be common
Guidewire defines a number of delegates in the base configuration, for example:
• Assignable
• Modifiable
• Validatable
• ...

Chapter 16, The ClaimCenter Data Model 199


ClaimCenter 6.0.8 Configuration Guide

To determine the list of base configuration delegate entities, search the metadata file folder for files that contain
the following text:
<?xml version="1.0"?>
<delegate xmlns="http://guidewire.com/datamodel"
...

Subtyping Without Single-Table Inheritance


Guidewire recommends that you create a delegate entity rather than define a supertype entity if you do not want
to store subtype data in a single table. ClaimCenter stores information on all subtypes of a supertype entity in a
single table. This can create a table that is extremely large and extremely wide. This is true especially if you have
an entity hierarchy with a number of different subtypes that each have their own columns. Using a delegate
avoids this single-table inheritance while preserving the ability to define the fields and behavior common to all
the subtypes in one place.
Guidewire recommends that you consider carefully before making a decision on how to model your entity hier-
archy.

Using Entity Polymorphism


Guidewire recommends that you create a delegate entity if you wish to use polymorphism on class methods. For
core ClaimCenter classes defined in Java, it is not possible to override these class methods on its Gosu subtypes.
You can, however, push all methods and behaviors that can possibly be poloymorphic into an interface (rather
than the Java superclass). You can then require (through the use of the delegate requires attribute) that all
implementors of the delegate implement that interface (through <implementsEntity>). This delegate usage
permits the use of polymorphism and enables delegate implementations to share common implementations on a
common superclass.

Delete Entity Data Objects


You use the deleteEntity data object to remove a base configuration extension entity from the base data model.
Guidewire defines this object in the data model metadata files as the <deleteEntity> XML root element.

Attributes on <deleteEntity>
The <deleteEntity> element contains the following attributes.

<deleteEntity> attributes Description Default


name Required. The name of the base extension entity to delete. None

See Also
• “Removing a Base Extension Entity” on page 250

Entity Data Objects


An Entity data object is the standard persistent data object that Guidewire uses to define many—if not most—of
the ClaimCenter entities. Guidewire defines this object in the data model metadata files as the <entity> XML
root element.

Attributes on <entity>
The <entity> element contains the following attributes.

<entity> attributes Description Default


abstract If True, it denotes that you cannot create an object of this type (you must False
create a subtype instead) and that any the generated code is abstract.

200 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

<entity> attributes Description Default


admin Whether the tables declared for this object are administration tables. You False
can always reference rows in the administration tables from rows in the
staging tables.
base Internal. Do not use. (The default is false.). Guidewire reserves the right False
to remove this attribute in a future release.
cacheable Internal. If set to false then Guidewire disallows entities of this type (and True
all its subtypes) from existing in the global cache.
consistentChildren Internal. False

desc A description of the purpose and use of the entity. None


displayName Optional. Generally, use to create a more human-readable form of the None
entity name. You can access this name using the following:
entity.DisplayName
ClaimCenter uses this value of the name of the subtype key (if you sub-
type this entity). If you do not specify a value for this attribute, then
ClaimCenter uses the name value of the entity attribute as
displayName, instead.
entity Required. The name of the entity. You use this name to access the entity None
in data views, rules, and other areas within ClaimCenter.
exportable If true, the entity is available to the ClaimCenter SOAP APIs. False

extendable Internal. If true, it is possible to extend this entity. True

final If true, you cannot subtype the entity. If false, you can define subtypes True
using this entity as the supertype.
generateInternallyIfAbsent Internal. False

ignoreForEvents If you change (or add, or remove) an entity X that does not generate False
events, then ClaimCenter searches for all event-generating entity
instances that refer to X. If ClaimCenter finds any of these event-generat-
ing entity instances, it generates Changed events for those entity
instances.
To determine what entities reference a non-event-generating entity,
ClaimCenter 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 ClaimCenter ignores that link as it
determines what entities refer to 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.
instrumentationTable Internal. False

javaClass Internal. None


loadable If true, you can load the entity through staging tables. True

lockable Internal. False

overwrittenInStagingTable Internal. If true (and the entity is loadable), it indicates that the loader pro- False
cess auto-populates the staging table during import.
IMPORTANT If set to true, do not attempt to populate the table yourself
as the loader import process overwrites this table.
platform Internal. Do not use. (The default is false.). Guidewire reserves the right False
to remove this attribute in a future release.
priority The priority of the corresponding subtype key. This value is only meaning- -1
ful for entities participating in a subtype hierarchy, which can be either the
<subtype> entities or the root <entity>.
readOnly Optional. None

Chapter 16, The ClaimCenter Data Model 201


ClaimCenter 6.0.8 Configuration Guide

<entity> attributes Description Default


setterScriptability If you choose to set this, use all. If you do not set this value, then all
ClaimCenter defaults to all. See “Data Objects and Scriptability” on
page 195 for more information.
size Internal. The size of the database table that contains this entity. Large

superTypeEntity Obsolete. Do not use. Guidewire reserves the right to remove this attri- None
bute in a future release.
table Required. The database table name in which ClaimCenter stores the data None
for this entity. ClaimCenter automatically prepends cc_ (for base entities)
or ccx_ (for extension entities) to this name.
Guidewire recommends that you use the following table naming conven-
tions:
• Do not begin the table name with any product-specific extension.
• Use all lower-case letters.
• Use letters only.

Guidewire enforces the following restrictions on the maximum 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 ClaimCenter uses False
only during installation or upgrade.
ClaimCenter deletes all temporary tables after it completes the installation
or the upgrade.
type Required. See “Overview of Data Entities” on page 189 for a discussion of None
data entity types.
validateOnCommit Internal. If true, ClaimCenter validates this entity during a commit of a True
bundle that contains this entity.

Subelements on <entity>
The <entity> element contains the following subelements.

<entity> subelements Description


array See “<array>” on page 210.
aspect Internal.
checkconstraint Internal.
column See “<column>” on page 212.
componentref See “<componentref>” on page 216.
customconsistencycheck Internal.
datetimeordering Internal.
dbcheckbuilder Internal.
edgeForeignKey See “<edgeForeignKey>” on page 217.
events See “<events>” on page 220.
foreignkey See “<foreignkey>” on page 220.
fulldescription See “<fulldescription>” on page 223.
implementsEntity See “<implementsEntity>” on page 224.
implementsInterface See “<implementsInterface>” on page 225.
index See “<index>” on page 226.
jointableconsistencycheck Internal.
onetoone See “<onetoone>” on page 227.
remove-index See “<remove-index>” on page 228.

202 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

<entity> subelements Description


tableAugmenter Internal.
typekey See “<typekey>” on page 229.
validatetypekeyinset Internal.
validatetypekeynotinset Internal.

Extension Data Objects


An Extension data object is the standard data object that you use to extend an already existing data object or
entity. Guidewire defines this object in the data model metadata files as the <extension> XML root element.

See Also
• For information on how to extend the base data objects, see “Modifying the Base Data Model” on page 233.

Attributes on <extension>
The <extension> element contains the following attributes.

<extension>
attributes Description Default
entityName Required. None

Subelements on <extension>
The <extension> element contains the following subelements.

<entity> subelements Description


array See “<array>” on page 210.
array-override Use to override (flip) the value of the triggersValidation attribute of an <array> element
definition on a base data object. See “Working with Attribute Overrides” on page 239 for
details.
column See “<column>” on page 212.
column-override Use to override certain very specific attributes on a base data object. See “Working with Attri-
bute Overrides” on page 239 for details.
componentref See “<componentref>” on page 216.
description A description of the purpose and use of the entity.
edgeForeignKey See “<edgeForeignKey>” on page 217.
foreignkey See “<foreignkey>” on page 220.
foreignkey-override Use to override (flip) the value of the triggersValidation attribute of a <foreignkey> ele-
ment definition on a base data object. See “Working with Attribute Overrides” on page 239 for
details.
implementsEntity See “<implementsEntity>” on page 224.
implementsInterface See “<implementsInterface>” on page 225.
index See “<index>” on page 226.
internalonlyfields Internal.
onetoone See “<onetoone>” on page 227.
onetoone-override Use to override (flip) the value of the triggersValidation attribute of an <ontoone> element
definition on a base data object. See “Working with Attribute Overrides” on page 239 for
details.
remove-index See “<remove-index>” on page 228.
typekey See “<typekey>” on page 229.

Chapter 16, The ClaimCenter Data Model 203


ClaimCenter 6.0.8 Configuration Guide

<entity> subelements Description


typekey-override Use to override certain specific attributes (fields) of a <typekey> element definition on a base
data object. See “Working with Attribute Overrides” on page 239 for details.

Nonpersistent Entity Data Objects


A NonPersistentEntity data object defines a temporary (nonpersistent) entity that ClaimCenter creates and
uses only during the time that the ClaimCenter server is running. If the server shuts down, ClaimCenter discards
the entity data. Guidewire defines this object in the data model metadata files as the <nonPersistentEntity>
XML root element.

IMPORTANT You cannot extend a persistent entity with a nonpersistent entity.

Guidewire Recommendations
Guidewire recommends, however, that you do not create or extend nonpersistent entities as a general rule. In
general, do not use nonpersistent entities to obtain some desired behavior. A major issue with nonpersistent enti-
ties is that they do not interact well with data bundles. Passing a nonpersistent entity to a PCF page, for example,
is generally a bad idea as it generally does not work in the manner that you expect.
The nonpersistent entity 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 nonpersistent entity from
one context to another, the entity loses any nested arrays or links associated with it. Thus, it is possible to lose
parts of the entity graph as it moves around. Entity serialization is also less efficient and less controllable than
using a custom class that contains only the data that it really needs.
Guidewire recommends, therefore, that you use a Gosu class in situations in which you want the behavior of a
nonpersistent entity. For example:
• If you want the behavior of a nonpersistent entity in web services, do not use a nonpersistent entity. Instead,
Guidewire recommends that you create a Gosu class and then expose that as a web service rather than relying
on nonpersistent entities and entity serialization.
• If you want a field that behaves, for example, as nonnegativeinteger column, do not use a nonpersistent
entity. Instead, as you can specify a data type through the use of annotations, add the wanted data type
behavior to properties on Gosu classes. See “Defining a Data Type for a Property” on page 301 for informa-
tion on how to associates data types with object properties using the annotation syntax.

Attributes on <nonPersistentEntity>
The <nonPersistentEntity> element contains the following attributes.

<nonPersistentEntity>
attributes Description Default
abstract If True, it denotes that you cannot create an object of this type (you must create False
a subtype instead) and that any the generated code is abstract.
desc A description of the purpose and use of the entity. None
displayName Optional. Generally, use to create a more human-readable form of the entity None
name. You can access this name using the following:
entity.DisplayName
ClaimCenter uses this value of the name of the subtype key (if you subtype this
entity). If you do not specify a value for this attribute, then ClaimCenter uses
the name value of the entity attribute as displayName, instead.
entity Required. The name of the entity. You use this name to access the entity in None
data views, rules, and other areas within ClaimCenter.
exportable Whether the entity is available to the ClaimCenter SOAP APIs. False

204 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

<nonPersistentEntity>
attributes Description Default
extendable If true, it is possible to extend this entity. True

final If true, you cannot subtype the entity. If false, you can define subtypes using True
this entity as the supertype.
javaClass Internal. None
priority The priority of the corresponding subtype key. This value is only meaningful for -1
entities participating in a subtype hierarchy, which can be either the <subtype>
entities or the root <entity>.

Subelements on <nonPersistentEntity>
The <nonPersistentEntity> element contains the following subelements.

<nonPersistentEntity>
subelements Description
array See “<array>” on page 210.
aspect Internal.
column See “<column>” on page 212.
componentref See “<componentref>” on page 216.
edgeForeignKey See “<edgeForeignKey>” on page 217.
foreignkey See “<foreignkey>” on page 220.
fulldescription See “<fulldescription>” on page 223.
implementsEntity See “<implementsEntity>” on page 224.
implementsInterface See “<implementsInterface>” on page 225.
onetoone See “<onetoone>” on page 227.
typekey See “<typekey>” on page 229.

Subtype Data Objects


A Subtype entity defines an entity that is a subtype of another entity. The subtype entity has all of the fields and
elements of its supertype and it can also have additional ones. Guidewire defines this object in the data model
metadata files as the <subtype> XML root element.
ClaimCenter does not associate a separate database table with a subtype. Instead, ClaimCenter stores all subtypes
of a supertype in the table of the supertype and resolves the entity to the correct subtype based on the value of the
Subtype field. To accommodate this, ClaimCenter stores all fields of a subtype in the database as nullable
columns—even the ones defined as non-nullable. However, if you define a field as non-nullable, then the
ClaimCenter metadata service enforces this for all data operations.
It is only possible to define a subtype for any entity whose final attribute is set to false. (This means that it is
impossible to create a subtype of any entity whose final attribute is set to true). If an entity is non-final, then
ClaimCenter automatically creates a Subtype field for it.

Attributes on <subtype>
The <subtype> element contains the following attributes:

<subtype>
attributes Description Default
abstract If true, it denotes that you cannot create an object of this type. Instead, you must create False
a subtype.
desc A description of the purpose and use of the subtype. None

Chapter 16, The ClaimCenter Data Model 205


ClaimCenter 6.0.8 Configuration Guide

<subtype>
attributes Description Default
displayName Optional. Occasionally, there is the desire to identify a given object's subtype in the None
ClaimCenter interface. Use this attribute to set a specific string to use if you want to dis-
play the subtype of an object.
The use of this parameter is optional. If you do not specify a value for this parameter, then
ClaimCenter displays the name of the entity. The entity name is often not user-friendly.
Thus, you can use this value to set a more user-friendly version of the subtype name.
See also the description of the displayName attribute at “Entity Data Objects” on
page 200.
entity The name of the subtype entity. Use this name to access the entity in data views, rules, None
and other areas within ClaimCenter.
final If true, the entity definition is final and you cannot define any subtypes for it. If false, False
then you can define a subtype using this entity as the supertype.
javaClass Internal.
priority The relative position of the subtype in a list of peer subtypes. ClaimCenter often displays -1
the Subtype field in a supertype as a typelist. Thus, this attribute serves the same pur-
pose as the priority attribute of a typecode in a typelist.
readOnly Optional. None
supertype The name of the supertype of this subtype. None

Subelements on <subtype>
The <subtype> element contains the following subelements.

<subtype>
subelements Description
array See “<array>” on page 210.
aspect Internal.
checkconstraint Internal.
column See “<column>” on page 212.
customconsistencycheck Internal.
datetimeordering Internal.
dbcheckbuilder Internal.
edgeForeignKey See “<edgeForeignKey>” on page 217.
events See “<events>” on page 220.
foreignkey See “<foreignkey>” on page 220.
fulldescription See “<fulldescription>” on page 223.
implementsEntity See “<implementsEntity>” on page 224.
implementsInterface See “<implementsInterface>” on page 225.
index See “<index>” on page 226.
jointableconsistencycheck Internal.
onetoone See “<onetoone>” on page 227.
tableAugmenter Internal.
typekey See “<typekey>” on page 229.
validatetypekeyinset Internal.
validatetypekeynotinset Internal.

206 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

View Entity Data Objects


A viewEntity is a logical view of entity data. You can use it to enhance performance during the viewing of
tabular data. A viewEntity provides a logical view of data for an entity, plus other entities, of interest to a List-
View. A viewEntity can also include paths from the root or primary entity to other related entities. For example,
from the ActivityView, you can specify a column with a Claim.ClaimNumber value. The Activity entity is the
primary entity of the ActivityView. The Activity entity has a corresponding viewEntity entity called
ActivityView.

Unlike a standard entity, the viewEntity entity type does not have an underlying database table. ClaimCenter
does not persist view entities to the database. A viewEntity cannot create a materialized view in the database. (A
materialized view is one in which ClaimCenter caches the results of a database query as a database table.) Rather,
a viewEntity serves as a way of restricting the amount of data that a database query returns.
A viewEntity entity improves the performance of ClaimCenter on frequently used pages that list entities. Like
other entities, you can subtype viewEntity entities. For example, the My Activities page makes use of a
viewEntity entity—the ActivityDesktopView, which is a subtype of the ActivityView.

As ClaimCenter can export viewEntity entities, it generates SOAP interfaces for them.
Guidewire defines this object in the data model metadata files as the <viewEntity> XML root element.

Attributes on <viewEntity>
The <viewEntity> element contains the following attributes:

<viewEntity>
attributes Description Default
abstract If true, it denotes that you cannot create an object of this type. Instead, you must create False
a subtype.
desc A description of the purpose and use of the entity. None
entity Required. Name of this viewEntity object. None
exportable If true, the viewEntity object is available to the ClaimCenter SOAP APIs. True

extendable If true, it is possible to extend this entity. True

final If true, the entity definition is final and you cannot define any subtypes for it. If false, True
then you can define a subtype using this entity as the supertype.
javaClass Internal. None
primaryEntity Required. The primary entity type for this viewEntity object. The primary entity must None
be keyable. See “Data Objects and the Application Database” on page 193 for informa-
tion on keyable entities.
showRetiredBeans Whether to show retired beans in the view. None
supertypeEntity The name of supertype of this entity. None

Subelements on <viewEntity>
The <viewEntity> elements contain the following subelements:

<viewEntity>
subelements Description
computedcolumn Specifies a column that has some type of transformation applied to it during querying from the data-
base. Typical transformations are columns that compute a simple value. Sample calculations
include col1 + col2 or even aggregate columns SUM(col1).
computedtypekey Specifies a typekey that has some type of transformation applied to it during querying from the data-
base.
fulldescription See the discussion following the table.
viewEntityColumn Represents a column in a viewEntity table

Chapter 16, The ClaimCenter Data Model 207


ClaimCenter 6.0.8 Configuration Guide

<viewEntity>
subelements Description
viewEntityLink Uses to access another entity through a foreign key. Typically, you use this value within the
ClaimCenter interface to create a link to that entity.
viewEntityName Represents an entity name column in a viewEntity table. An entity name is a string column that
contains the name of an entity that is suitable for viewing in the ClaimCenter interface.
viewEntityTypekey Represents a typekey column in a viewEntity table.

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:
<viewEntityName name="RelActAssignedUserName" path="RelatedActivity.AssignedUser"/>

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:
<computedcolumn name="Amount" expression="${1}" paths="LineItems.Amount" function="SUM"/>

The expression for this column can take multiple column values ${column_num} passed from the ClaimCenter
interface. For example, a valid expression is: ${1} - ${2} with ${1} the first column and ${2} the second
column. The function value must be a 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, ClaimCenter applies a SQL group automatically.

View Entity Extension Data Objects


You use the viewEntityExtension entity to extend the definition of a viewEntity entity. Guidewire defines this
object in the data model metadata files as the <viewEntityExtension> XML root element.

Attributes on <viewEntityExtension>
The <viewEntityExtension> element contains the following attributes:

<viewEntityExtension>
attributes Description Default
entityName Required. Name of the view entity to extend. None

208 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

Subelements on <viewEntityExtension>
The <viewEntityExtension> element contains the following subelements:

<viewEntityExtension>
subelements Description
computedcolumn Specifies a column that has some type of transformation applied to it during querying from the
database. Typical transformations are columns that compute a simple value. Sample calcula-
tions include col1 + col2 or even aggregate columns SUM(col1).
computedtypekey Specifies a typekey that has some type of transformation applied to it during querying from the
database.
description A description of the purpose and use of the entity.
viewEntityColumn Represents a column in a viewEntity table.
viewEntityLink Uses to access another entity through a foreign key. Typically, you use this value within the
ClaimCenter interface to create a link to that entity.
viewEntityName Represents an entity name column in a viewEntity table. An entity name is a string column
that contains the name of an entity that is suitable for viewing in the ClaimCenter interface.
viewEntityTypekey Represents a typekey column in a viewEntity table.

Important Caution
Guidewire strongly recommends that you do not create a view entity extension (ViewEntityExtension) that
causes traversals into revisioned (effdated) data. This has the possibility of returning duplicate rows if any revi-
sioning 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.

Data Object Subelements


The ClaimCenter data model contains the following subelements that you can use with entities. The list does not
contain elements that Guidewire reserves for internal use.

• <array> • <implementsEntity>

• <column> • <implementsInterface>

• <componentref> • <index>

• <edgeForeignKey> • <onetoone>

• <events> • <remove-index>

• <foreignkey> • <typekey>

• <fulldescription>

Do not use the following entity subelements. Guidewire uses these for internal purposes only. As these entity
subelements are for internal use, there is no discussion of them in the following topics.

• <aspect> • <jointableconsistencycheck>

• <checkconstraint> • <tableAugmenter>

• <customconsistencycheck> • <validatetypekeyinset>

• <datetimeordering> • <validatetypekeynotinset>

• <dbcheckbuilder>

Chapter 16, The ClaimCenter Data Model 209


ClaimCenter 6.0.8 Configuration Guide

<array>
An array defines a set of additional entities (which are all of the same type) to associate with the main entity. For
example, a Claim entity includes an array of Document entities.

Attributes on <array>
The <array> element contains the following attributes:

<array> attributes Description Default


arrayentity Required. The name of the entity that makes up the array. None
arrayfield Optional. Name of the field in the array table that is the foreign key back to this None
table. However, you do not need to define a value if the array entity has exactly
one foreign key back to this entity.
In that case, the owning table can only have one array field for the edge table.
Thus, arrayfield must match the name of the field in the array table that cor-
responds to the owning row.
cascadeDelete If true, then ClaimCenter deletes the array elements also if you delete the False
array container.
deprecated If true, then ClaimCenter marks the item as deprecated in the Data Dictionary False
and places a Deprecated annotation on it in the Guidewire Studio API Refer-
ence.
If you deprecate an item, use the description to explain why.
desc A description of the purpose and use of the array. None
exportable Whether the entity is available to the ClaimCenter SOAP APIs. If true, then True
ClaimCenter can transmit this column as part of any SOAP argument or result,
in which case ClaimCenter transmits only a subset of the containing entity.
ClaimCenter ignores this attribute if you do not mark the containing table as
exportable.
If this field applies to a foreign key field, then ClaimCenter creates a reference
to a Data object of the type defined by the referenced table.
generateCode Internal. true

getterScriptability If you choose to set this, use all. If you do not set this value, then ClaimCenter all
defaults to all. See “Data Objects and Scriptability” on page 195 for more
information.
ignoreforevents If you change (or add, or remove) an entity X that does not generate events, False
then ClaimCenter searches for all event-generating entity instances that refer
to X. If ClaimCenter 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,
ClaimCenter 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 ClaimCenter ignores that link as it deter-
mines what entities refer to 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.
name Required. The name of the property corresponding to this array None
owner If true, this entity owns the objects in the array. False
• If you delete owning object, then ClaimCenter deletes the array items as
well.
• If you update the contents of the array, then ClaimCenter considers the
owner as updated as well.

210 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

<array> attributes Description Default


requiredmatch One of the following values None
• all—There must be at least one matching row in the array for every row
from this table. For example, there must be at least one check payee for
every check.
• none—There is no requirement for matching rows.
• nonretired—There must be at least one matching row for every non-retired
row from this table.
setterScriptability If you choose to set this, use all. If you do not set this value, then ClaimCenter all
defaults to all. See “Data Objects and Scriptability” on page 195 for more
information.
trackssynchstate If true, this value denotes that ClaimCenter uses the associated table to track False
the external synchronization state for the owning table.
triggersValidation Whether changes to the entity pointed to by this array trigger validation. False
Changes to the 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 also the discussion on this attribute that follows this table.

The triggersValidation attribute. This attribute—if set to true—can trigger additional ClaimCenter process-
ing. Exactly what it does cause to happen depends on several different factors:
• If the parent entity (the containing entity for the array) is validatable, then any modification to the array trig-
gers the execution of the Preupdate and Validation rules on that entity. (For an entity to be validatable, it must
implements the Validatable delegate.) This occurs as ClaimCenter attempts to commit a bundle to the data-
base that contains the parent entity.
• If the parent entity has preupdate rules, but no validation rules, then ClaimCenter executes the preupdate rules
on the commit bundle. This is the cases only if configuration parameter UseOldStylePreUpdate is set to
true, which it is by default. If this configuration parameter is set to false, ClaimCenter invokes the
IPreUpdateHandler plugin on the commit bundle instead. ClaimCenter then executes the logic defined in the
plugin on the commit bundle.
• If the parent entity has validation rules, but no preupdate rules, then ClaimCenter executes the validation rules
on the commit bundle.
• If the parent entity has neither preupdate nor validation rules then the following occurs:
a. ClaimCenter does nothing (in the case of UseOldStylePreUpdate=true).

b. ClaimCenter executes the logic in the IPreUpdateHandler plugin on the commit bundle
(UseOldStylePreUpdate=false).
• In any case, any ClaimCenter processing of the commit bundle excludes the Closed and Reopened validation
rules.

Chapter 16, The ClaimCenter Data Model 211


ClaimCenter 6.0.8 Configuration Guide

Subelements on <array>
The <array> element contains the following subelements:

<array> subelements Description


array-association This subelement contains the following attributes:
• hasContains (default = false)
• hasGetter (default = true)
• hasSetter (default = false)
• valueField (default = ID)

It also contains the following subelements of its own, each of which can exist, at most, one time:
• constant-map
• subtype-map
• typelist-map

See “Typelist Mapping Associative Arrays” on page 258 for more information.
fulldescription See “<fulldescription>” on page 223.
link-association This subelement contains the following attributes:
• hasGetter (default = true)
• hasSetter (default = false)
• valueField (default = ID)

It also contains the following subelements of its own, each of which can exist, at most, one time:
• constant-map
• subtype-map
• typelist-map

See “Subtype Mapping Associative Arrays” on page 256 for more information.

<column>
The <column> element defines a single-value field in the entity.
Note: For a discussion of <column-override>, see “Working with Attribute Overrides” on page 239 for
details.

Attributes on <column>
The <column> element contains the following attributes:

<column> attributes Description Default


columnName Optional. Name of the corresponding database column. This is different None
from the name attribute, which specifies the name of the property in the
type system. If you do not specify a value for this attribute, then
ClaimCenter uses the name value.
createhistogram Whether to create a histogram on the column during an update to the False
database statistics.
Note: It is possible to override this attribute on an existing column in an
extension (*.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 previously 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 the following:
• “maintenance_tools Command” on page 171 in the System
Administration Guide
• “Working with Attribute Overrides” on page 239

default Default value given to the field during new entity creation. None

212 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

<column> attributes Description Default


deprecated If true, then ClaimCenter marks the item as deprecated in the Data Dic- False
tionary and places a Deprecated annotation on it in the Guidewire Studio
API Reference.
If you deprecate an item, use the description to explain why.
desc A description of the purpose and use of the field. None
exportable If true, then you can transmit this column as part of a SOAP argument or True
result. If the containing table is not also marked exportable, then
ClaimCenter ignores this attribute.
generateCode Internal. true
getterScriptability If you choose to set this, use all. If you do not set this value, then all
ClaimCenter defaults to all. See “Data Objects and Scriptability” on
page 195 for more information.
ignoreforevents If you change (or add, or remove) an entity X that does not generate False
events, then ClaimCenter searches for all event-generating entity
instances that refer to X. If ClaimCenter finds any of these event-generat-
ing entity instances, it generates Changed events for those entity
instances.
To determine what entities reference a non-event-generating entity,
ClaimCenter 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 ClaimCenter ignores that link as it
determines what entities refer to 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 can True
contain a column mapping to the field.
name The name of the property on the entity. Also the name of the database col- None
umn, unless the you specify the columnName attribute. Use this name to
access the column in data views, rules, and other areas within
ClaimCenter.
nullok Whether the column can contain null values. True

In general, this is always true, as many tables include columns that do


not require a value at different points in the process.
overwrittenInStagingTable Internal. If true (and the entity is loadable), it indicates that the loader pro- False
cess auto-populates the staging table during import.
IMPORTANT If set to true, do not attempt to populate the table yourself
as the loader import process overwrites this table.
scalable Whether this value scales as the effective and expired dates change. It False
only applies to number-type values. (For example, you cannot scale a
varchar.) Also, it only applies to effective dated types.
setterScriptability If you choose to set this, use all. If you do not set this value, then all
ClaimCenter defaults to all. See “Data Objects and Scriptability” on
page 195 for more information.
soapnullok If true, then you can set the value of this column to null in SOAP calls. If None
you do not set this value, it defaults to the value of nullok.
supportsLinguisticSearch Applies only to columns of varchar-based data types. False
• If true, searches performed on this field are linguistic.
• If false, searches are binary.

Chapter 16, The ClaimCenter Data Model 213


ClaimCenter 6.0.8 Configuration Guide

<column> attributes Description Default


type Required. Data type of the column (field). In the base configuration, None
Guidewire defines a number of data types and stores their metadata defi-
nition files (*.dti files) in the following locations:
• modules/pl/config/datatypes for system-level data types
• modules/cc/config/datatypes for optional application-specific data
types
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 ClaimCenter treats that value in memory.
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. ClaimCenter 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:
• ClaimCenter represents a column whose type is datetime in memory
as instances of java.util.Date.
• ClaimCenter stores this type of value in the database as TIMESTAMP.

WARNING Do not attempt to modify a base configuration data type


file. You can invalidate your ClaimCenter application and prevent it from
starting thereafter.
See Also
• For general information data on types, see “Data Types” on page 299.
• For a list of the data types that you can modify or customize, see “Cus-
tomizing Base Configuration Data Types” on page 303.
• For information on how to define new data types, see “Defining a New
Data Type: Required Steps” on page 310.

Subelements on <column>
The <column> element contains the following subelements:

<column>
subelements Description Default
columnParam See “The <columnParam> Subelement” on page 214. None
fulldescription See “<fulldescription>” on page 223. None
localization See “The <localization> Subelement” on page 216. None

The <columnParam> Subelement


You use the <columnParam> element to set the parameters that the data type of the column requires. It is the data
type of the column that determines which parameters you can set (or modify) on the column using the
<columnParam> element. From the type attribute, you can determine the list of parameters by looking at the defi-
nition of the type—the definition of the type as defined in the its .dti file.
For example, if you have a mediumtext column, then you can determine the valid parameters for that column by
examining file mediumtext.dti. This file indicates that you can modify the following attributes on a mediumtext
column:
• encryption
• logicalSize
• trimwhitespace

214 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

• validator

As 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 following directories:
• modules/pl/config/datatypes for system-level data types
• modules/cc/config/datatypes for optional application-specific data types
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>

Which Parameters Can You Define Using <columnParam>?


The following list describes the parameters that you can define using <columnParam>. These parameters are valid
with many—but not all—of the data types.

Parameter Description
encryption Whether ClaimCenter stores this column in encrypted format. This only applies to text-based col-
umns.
Guidewire allows indexes on encrypted columns (fields). However, as Guidewire stores encrypted
fields as encrypted in the database, you must encrypt the input string and search for an exact match
to it.
logicalSize The size of this field in the ClaimCenter interface. You can use this value for String columns that do
not have a maximum size in the database (for example, 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 param-
eter.
precision The precision of the field. This applies only if the data type of the field allows a precision attribute.
(Precision is the total number of digits in the number.)
scale The scale of the field. This applies only if the data type of the field allows a scale attribute. (Scale is
the number of digits to the right of the decimal point.)
size Integer size value for columns of type TEXT and VARCHAR. Use with these column types only. This
parameter specifies the maximum number of characters (as opposed to bytes) the column can hold.
WARNING The database upgrade utility automatically detects if the definition of a column has
lengthened or shortened the column. If shortening (narrowing) the column, the utility assumes that
the instigator of the change has written a version check or otherwise verified that the change does
not truncate any data. For both Oracle and SQL Server, if narrowing a column causes data to be
lost, the ALTER TABLE statement fails and the upgrade fails.
trimwhitespace Applies to text-based data types. If true, then ClaimCenter automatically removes leading and trail-
ing white space from the data value.
validator The name of a ValidatorDef in fieldvalidators.xml. See “<ValidatorDef>” on page 295.

The following parameters are specific to certain data types:

Parameter Use with data type Description


currencyProperty currencyamount Name of a property on the owning entity that returns the cur-
rency for this column.

Chapter 16, The ClaimCenter Data Model 215


ClaimCenter 6.0.8 Configuration Guide

Parameter Use with data type Description


secondaryAmountProperty currencyamount Name of a property on the owning entity that returns the sec-
ondary amount related to this currency amount column.
exchangeRateProperty currencyamount Name of a property on the owning entity that returns the
exchange rate to use during currency conversions.
countryProperty localizedstring Name of a property on the owning entity that returns the country
to use for localizing the data format for this column.

See Also
• See “Overriding Data Type Attributes” on page 240 for an example of using a nested <columnParam> subele-
ment within a <column-override> element to set the encryption attribute on a column.

The <localization> Subelement


The <localiztion> subelement has one attribute, tableName, which is the table name of the localization join
table. See “Localized Entities” on page 502 for a discussion of the column <localization> element with exam-
ples on how to use it.

<componentref>
To review, a Component data object is similar to a compound property in that it represents a group of fields that
all go together. A common example is a MoneyComponent that represents a monetary amount. This money
component includes a numeric amount and the currency type for that monetary amount.
To reference a Component object from another data object, you use the ComponentRef object element. Guidewire
defines this element in the data model metadata files as the <componentRef> XML subelement.

Attributes on <componentref>
The <componentref> element contains the following attributes:

<componentref>
attributes Description Default
deprecated If true, then ClaimCenter marks the item as deprecated in the Data Dictionary False
and places a Deprecated annotation on it in the Guidewire Studio API Refer-
ence.
If you deprecate an item, use the description to explain why.
desc A description of the purpose and use of the array. None
exportable Whether the entity is available to the ClaimCenter SOAP APIs. If true, then True
ClaimCenter can transmit this component as part of a SOAP argument or
result. ClaimCenter ignores this attribute if you do not mark the containing table
as exportable.
flatten Whether to expose a single property representing the <component> (false), or False
to expose the individual fields included by the component (true).
For example, this attribute controls whether an entity including a component
called MoneyComponent has a property that returned the MoneyComponent, or
two properties for the Amount and Currency.
generateCode Internal. true

getterScriptability If you choose to set this, use all. If you do not set this value, then ClaimCenter all
defaults to all. See “Data Objects and Scriptability” on page 195 for more
information.
name Required. (Although required, it is only important if the value of flatten is None
false.)

Specifies the name of the property on the entity.

216 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

<componentref>
attributes Description Default
prefix An optional prefix to use if defining properties related to the included None
component. You must use a prefix if you want to include the same component
twice on the same entity.
ref Required. The name of the component being included (for example, None
MoneyComponent.
setterScriptability If you choose to set this, use all. If you do not set this value, then ClaimCenter all
defaults to all. See “Data Objects and Scriptability” on page 195 for more
information.

Subelements on <componentref>
The <componentref> element contains the following subelements:

<componentref>
subelements Attributes Description Default
annotation • name Creates a name and value pair. The subelement must contain both None
• value attributes.
fulldescription None See “<fulldescription>” on page 223.

<edgeForeignKey>
You use the <edgeForeignKey> element in a similar manner to the <foreignkey> element, to define a reference
to another entity. Guidewire defines this element in the data model metadata files as the <edgeForeignKey>
XML subelement.
Edge foreign keys, however, provide the ability to avoid cyclic references in the data model. Cyclic references
make an object graph that ClaimCenter cannot follow correctly. Guidewire does not permit cyclic foreign keys as
there is no guarantee of a safe ordering of inserted elements into the object graph. For example, suppose that
there are two entities, A and B, each of which has a foreign key to the other. Because of this relationship, it is
possible that you cannot insert entity A into the object graph. This is because entity A refers to entity B, which
does not yet exist in the object graph.
An edge foreign key works by creating a join array table. This table has two columns:
• OwnerID
• ForeignEntityID

If entity A has an edge foreign key to entity B, ClaimCenter creates a separate row in the edge foreign key table.
In the row, OwnerID points to A and ForeignEntityID points to B.
As you traverse or de-reference the foreign key, ClaimCenter 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 ClaimCenter follows the ForeignEntityID on the row.
Guidewire designs edge foreign keys to work in a similar manner to standard foreign keys. You can query an
edge foreign key as if it is a standard foreign key. You can also get and set edge foreign key attributes, just as you
do with standard foreign keys.
Use an edge foreign key only if it is the sole way to avoid cycles in the data model that prevent a safe ordering of
tables. The following are the primary cases for using an edgeForeignKey:
• Use if you have self-referencing foreign keys, which includes foreign keys between subtypes.
• Use if you have foreign keys from table A to table B and there is already another foreign key from table B to
table A. (Even more complicated cycles are possible.)

Chapter 16, The ClaimCenter Data Model 217


ClaimCenter 6.0.8 Configuration Guide

There are more performance issues for an edge foreign key than for a standard foreign key because you must
manage an entirely separate table just for that one relationship. Also, queries that require references to that
column must join to an extra table. Additionally, nullability constraints do not work with edge foreign keys. You
must enforce any nullability constraints by using consistency checks.
Note: ClaimCenter labels edge foreign key elements in the Guidewire Data Dictionary as foreign keys. You
access edge foreign keys in Gosu code in the same manner as you access foreign keys.

WARNING Any entity that is part of the domain graph must implement the Extractable delegate by
including the statement <implementsEntity name=”Extractable”/>. Otherwise, the server refuses to
start. In addition, if you add an edge foreign key to an entity that is part of the domain graph, the edge
foreign key must also implement the Extractable delegate. The edge foreign key does not inherit the
<implementsEntity> delegate from the enclosing entity. If you do not add it manually, the application
server refuses to start.

Attributes on <edgeForeignKey>
The <edgeForeignKey> element contains the following attributes.

<edgeForeignKey>
attributes Description Default
createhistogram Whether to create a histogram on the column during an update to the False
database statistics.
Note: It is possible to override this attribute on an existing column in
an extension (*.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 previously 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 the following:
• “maintenance_tools Command” on page 171 in the System
Administration Guide
• “Working with Attribute Overrides” on page 239

deletefk Obsolete. Do not use. False

deprecated If true, then ClaimCenter marks the item as deprecated in the Data False
Dictionary and places a Deprecated annotation on it in the
Guidewire Studio API Reference.
If you deprecate an item, use the description to explain why.
desc A description of the purpose and use of the edge foreign key. None
edgeTableEntityName The name of the edge table entity. If you do not specify one, then None
ClaimCenter creates one automatically.
edgeTableName Required. The name of the edge (join array) table to create. None
exportable Whether the column is available to the ClaimCenter SOAP APIs. True
ClaimCenter ignores this attribute if the containing entity is not also
marked as exportable.
exportasid If specified, ClaimCenter exposes the field in SOAP APIs as a string, False
whose value represents the PublicID of the referenced object.
fkentity Required. The entity to which this foreign key points. None
generateCode Internal. true
getterScriptability If you choose to set this, use all. If you do not set this value, then all
ClaimCenter defaults to all. See “Data Objects and Scriptability” on
page 195 for more information.

218 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

<edgeForeignKey>
attributes Description Default
ignoreforevents If you change (or add, or remove) an entity X that does not generate False
events, then ClaimCenter searches for all event-generating entity
instances that refer to X. If ClaimCenter 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,
ClaimCenter 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 ClaimCenter
ignores that link as it determines what entities refer to 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 True
staging table can be a reference to an existing object. (This is the
publicID of a row in the source table for the referenced object.)
loadable If true, then ClaimCenter creates a staging table for the edge table. False

name Specifies the name of the property on the entity. None

nullok Whether the column can contain null values. This value is meaning- True
less for edgeForeignKey objects.
ondelete Only affects purge actions. If you delete the object referenced by the cascade
foreign key, this attribute indicates the action to take on this object
• cascade—Also delete this object.
• setnull—Set the foreign key on this object to null (if nullable).
• noaction—Do nothing.

overwrittenInStagingTable Internal. If true (and the edge table is loadable), it indicates that the False
loader process auto-populates the staging table during import.
IMPORTANT If set to true, do not attempt to populate the table
yourself as the loader import process overwrites this table.
setterScriptability If you choose to set this, use all. If you do not set this value, then all
ClaimCenter defaults to all. See “Data Objects and Scriptability” on
page 195 for more information.
soapnullok If true, then you set the value of this column to null in SOAP calls. None
If you do not set this attribute, it defaults to the value of nullok.

Subelements on <edgeForeignKey>

IMPORTANT The <edgeForeignKey> element does not inherit the <implementsEntity> delegate
from its enclosing entity. You must specify a value for the name attribute on <implementsEntity> if
you wish to associate a delegate with this edge foreign key.

<edgeForeignKey>
subelements Attributes Description
fulldescription None See “<fulldescription>” on page 223.
implementsEntity • adapter - Interelated with the requires attri- Applies to the edge table type created by the
bute on <delegate> <edgeForeignKey>.
• name - name of delegate entity to implement See also the description for the requires attri-
(required = true) bute for “Delegate Data Objects” on page 197.

Chapter 16, The ClaimCenter Data Model 219


ClaimCenter 6.0.8 Configuration Guide

See Also
• “<implementsEntity>” on page 224
• “Delegate Data Objects” on page 197

<events>
If the <events> element appears within an entity, it indicates that the entity raises events. Usually, the code indi-
cates the standard events (add, change, and remove) by default. If the <events> element does not appear in an
entity, that entity does not raise any events. You cannot modify the set of the events associated with a base entity
through extension. However, you can add events to a base entity that does not have events associated with it.
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>

Attributes on <events>
There are no attributes on the <events> element.

Subelements on <events>
The <events> element contains the following subelements.

<events>
subelements Description
event Defines an additional event to fire for the entity. Use multiple <event> elements to specify multiple
events. This subelement contains the following attributes:
• description (required = true)
• name (required = true)

The attributes are self-explanatory. The <event> element requires each one.

<foreignkey>
The <foreignkey> element defines a foreign key reference to another entity.

Attributes on <foreignkey>
The <foreignkey> element contains the following attributes.

<foreignkey>
attributes Description Default
columnName Optional. Name of the corresponding database column. This is differ- None
ent from the name attribute, which specifies the name of the property
in the type system. If you do not specify a value for this attribute,
then ClaimCenter uses the name value.
IMPORTANT A common (and recommended) practice is to use the
suffix ID for the column name. For example, for a foreign key with
name Claim, set the columnName to ClaimID.
While Guidewire does not strictly require this, Guidewire strongly
recommends that you adopt this practice as it is a way to help in ana-
lyzing the database and identify foreign keys.

220 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

<foreignkey>
attributes Description Default
createConstraint If true, the database creates a foreign key constraint for this foreign True
key.
createbackingindex If true, the database automatically creates a backing index on the True
foreign key. If set to false, the database does not create a backing
index.
See “Attribute createbackingindex” on page 223 for more
information.
createhistogram Whether to create a histogram on the column during an update to the False
database statistics.
Note: It is possible to override this attribute on an existing column in
an extension (*.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 previously 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 the following:
• “maintenance_tools Command” on page 171 in the System
Administration Guide
• “Working with Attribute Overrides” on page 239

deletefk Obsolete. Do not use. False

deprecated If true, then ClaimCenter marks the item as deprecated in the Data False
Dictionary and places a Deprecated annotation on it in the
Guidewire Studio API Reference.
If you deprecate an item, use the description to explain why.
desc A description of the purpose and use of the field. None
existingreferencesallowed If both of the following are set to false (which is not the default): True
• loadable
• importableagainstexistingobject

then, the value in the staging table can only be a reference to an


existing object. That is, if there are no rows in the matching source
table that reference that same object.
exportable Whether the field is available to the ClaimCenter SOAP APIs. True
ClaimCenter ignores this attribute if you do not also mark the con-
taining entity as exportable.
exportasid If specified, ClaimCenter exposes the field in SOAP APIs as a string, False
whose value represents the PublicID of the referenced object.
fkentity Required. The entity to which this foreign key refers. None
generateCode Internal. True
getterScriptability If you choose to set this, use all. If you do not set this value, then all
ClaimCenter defaults to all. See “Data Objects and Scriptability” on
page 195 for more information.

Chapter 16, The ClaimCenter Data Model 221


ClaimCenter 6.0.8 Configuration Guide

<foreignkey>
attributes Description Default
ignoreforevents If you change (or add, or remove) an entity X that does not generate False
events, then ClaimCenter searches for all event-generating entity
instances that refer to X. If ClaimCenter 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,
ClaimCenter 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 ClaimCenter
ignores that link as it determines what entities refer to 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 True
staging 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 False
for the foreign 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 col-
umns.
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 True
can contain a column for the public ID of the referenced entity.
name Specifies the name of the property on the entity. None
nullok Whether the field can contain null values. True

ondelete Only affects purge actions. If you delete the object referenced by the cascade
foreign key, this indicates the action to take upon this object. It can
take one of the following values:
• cascade—Also delete this object.
• setnull—Set the foreign key on this object to null (if nullable).
• noaction—Do nothing.

overwrittenInStagingTable Internal. If true (and the table is loadable), it indicates that the loader False
process auto-populates the staging table during import.
IMPORTANT If set to true, do not attempt to populate the table
yourself as the loader import process overwrites this table.
owner If true, it indicates that even if it is a foreign key, the row from the False
other table that this key references is a child node.
setterScriptability If you choose to set this, use all. If you do not set this value, then all
ClaimCenter defaults to all. See “Data Objects and Scriptability” on
page 195 for more information.
soapnullok If true, then you can set the value of this column to null in SOAP None
calls. If you do not set this value, it defaults to the value of nullok.
triggersValidation Whether changes to the entity referred to by this foreign key trigger False
validation.

222 Chapter 16, The ClaimCenter Data Model


ClaimCenter 6.0.8 Configuration Guide

Attribute createbackingindex
Suppose that you want to create a unique, single column (nullable) index on a foreign key. To do this, you must
turn off the automatic creation of a backing index on the foreign key. If the database automatically creates a
backing index and you add a unique index, the database identifies the unique index as redundant and removes it.
The following example entity illustrates this concept.
<entity xmlns="http://guidewire.com/datamodel"
desc="Table for testing unique indexes that allow nulls"
entity="TestUniqueAl