Config PDF
Config PDF
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).
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
4 Contents
ClaimCenter 6.0.8 Configuration Guide
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
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
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
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
Contents 13
ClaimCenter 6.0.8 Configuration Guide
14 Contents
ClaimCenter 6.0.8 Configuration Guide
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
16 Contents
ClaimCenter 6.0.8 Configuration Guide
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
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
Contents 19
ClaimCenter 6.0.8 Configuration Guide
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
22 Contents
ClaimCenter 6.0.8 Configuration Guide
Contents 23
ClaimCenter 6.0.8 Configuration Guide
24 Contents
ClaimCenter 6.0.8 Configuration Guide
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
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 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.
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
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
• 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.
• 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.
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.
This command generates the ClaimCenter Data Dictionary and ClaimCenter Security Dictionary in the
following locations:
ClaimCenter/build/dictionary/data
ClaimCenter/build/dictionary/security
See “Commands Reference” on page 69 in the Installation Guide for information on the Guidewire command
line tools for use in a development environment.
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.
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
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.
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.
For example:
var businessDayEnd = gw.api.system.PLConfigParameters.BusinessDayEnd.Value
var forceUpgrade = gw.api.system.PLConfigParameters.ForceUpgrade.Value
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.
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.
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.
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
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.
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
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()
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.
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.
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.
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
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
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.
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
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
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.
Default: None
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):
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
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
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
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:
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
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
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
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
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.
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
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
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:
Default: view
MultiCurrencyDisplayMode
Sets whether Guidewire ClaimCenter displays money values in a single currency or in multiple currencies. Use
one of the following:
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.
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,
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 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
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.
• 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 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.
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
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.
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
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
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.
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
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
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
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
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
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.
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
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
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
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
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
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
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
AutoCompleteLimit
The maximum number of autocomplete suggestions to show.
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
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
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
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
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
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
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
IMPORTANT Do not create installation directories that have spaces in the name. This can prevent
Guidewire Studio from functioning properly.
IMPORTANT Guidewire supports Guidewire Studio running on the Microsoft Windows platform
only.
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.
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.
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,
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.
*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
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.
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.
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>
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.
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.
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.
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.
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.
Filter Displays
See Also
• “Working with Studio Resources” on page 120
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.
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.
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).
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.
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.
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.)
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.
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.
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
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.
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(\\.*)*
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.
• 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.
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.
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
SmartFix automatically creates the display key for you and lets you edit the name.
• 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.
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.
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.
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.
• *.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.
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.
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.
See Also
• For information on configuring Studio for different locales, see “Localizing the Development Environment”
on page 491.
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
• 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.
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.
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.
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.
4. Enter the name for this class. (You can also set the resource context for this class at this time.)
See also
• “ClaimCenter Base Configuration Classes” on page 108
• “Class Visibility in Studio” on page 109
• “Preloading Gosu Classes” on page 109
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.
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 )
• ...
In this case, the activity and admin packages contain read-only classes. The address package is visible in
Studio, in the Classes folder.
To access the class functionality, first create a new class in the following Studio Classes package:
gw.webservice.pc.ccintegration.v2.ccentities
uses java.util.Date
uses gw.api.web.product.ProducerCodePickerUtil
uses gw.api.web.producer.ProducerUtil
construct() { }
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
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.
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.
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.)
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.
2. Click New.
5. In the Value box, set the parameter value. The value must be valid for the specified parameter type.
6. Click Save.
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.
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.
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.
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.
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.
Copy the selection to the Studio clipboard and remove it from the interface Ctrl+X
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
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
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.
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.
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.
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
Note: Selecting a view tab and using the right-click menu provides you with an additional way to access
several of the Window commands.
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.
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.
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
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.
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
• 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.
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.
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.
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
Icon Meaning
Internal 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
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.
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.
Gosu Editor
The following keystroke shortcuts work in the Studio Gosu editor, such as in rules and classes.
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
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.
Find Commands
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.
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.)
Refactoring Commands
Help Commands
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
General Commands
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.
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.)
The Inspector displays a list of keyboard shortcuts that are specific to that application screen.
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.
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.
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.
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).
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
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
See Also
• “Working in Guidewire Studio”, on page 123
• “Configuring External Editors” on page 101
• “Classes” on page 169 in the Gosu Reference Guide
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
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.
• 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.
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.
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.
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.
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
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.
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.
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.
2. For the user name, specify the domain, followed by a backslash (“\”), followed by the domain user.
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.
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
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
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:
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.
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.
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
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.
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”).
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.
Subclassing StaticNavigationCommand
Commands that implement this subclass check the canVisit permission by default to determine whether a user
has the necessary permission to see that QuickJump option in the QuickJump box. The permission hole in this case
arises if permissions were in place for all approaches to the destination but not on the destination itself.
For example, suppose that you create a new QuickJump navigation for NewNotePopup. Then suppose that 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.)
This topic describes entity names and entity name types. and how to work with the entity names in the Studio
Entity Names editor.
• 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.
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:
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.
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 " - - ".
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.
} 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" ... />
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.
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.
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.
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
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
• 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.
3. Add message destinations as required. See “Adding a Message Destination” on page 162 for details.
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.
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
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
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.
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.
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.
Name UseMessageCreatorAsUser
Value true
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
2. Select the rule set to view or edit. All editing and saving within the tool occurs at the level of a rule set.
2. Right-click and select New → Rule Set Category from the menu.
Studio inserts the rule set category in the category list in alphabetic order.
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.
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).
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.
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.
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:
Studio displays the results of a search in a Search pane at the bottom of the screen.
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.
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.
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.
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.
2. Right-click and select Change Root Entity for the drop-down menu. Studio prompts you for an entity name.
• 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.
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.
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
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.
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.
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
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}
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
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
ClaimCenter stores the current version of the Data Dictionary in the following directory:
ClaimCenter/build/dictionary/data/
See also
• “Regenerating the Data Dictionary and Security Dictionary” on page 32 for instructions on how to regenerate
these dictionaries.
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.
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.
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.
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.
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).
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.
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.
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.
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
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.
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.
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
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.
.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.
If you extend the Activity entity, then you need to create the following extension file through Guidewire Studio.
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.
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.
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.
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
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.
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.
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.
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
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.
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.
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.
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.
instance of the entity in Gosu. Within the ClaimCenter data model, you can set the following scriptability annota-
tion on <entity> objects:
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.
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.
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.
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.
javaClass Internal.The Java class that provides an implementation of the interface. None
name Required. None
Subelements on <delegate>
The <delegate> element contains the following subelements.
Guidewire Recommendations
Guidewire recommends that you use delegates in the following scenarios:
• Implementing a Common Interface
• Subtyping Without Single-Table Inheritance
• Using Entity Polymorphism
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"
...
Attributes on <deleteEntity>
The <deleteEntity> element contains the following attributes.
See Also
• “Removing a Base Extension Entity” on page 250
Attributes on <entity>
The <entity> element contains the following attributes.
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
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
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.
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.
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.
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
<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.
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
<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.
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
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
<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.
Attributes on <viewEntityExtension>
The <viewEntityExtension> element contains the following attributes:
<viewEntityExtension>
attributes Description Default
entityName Required. Name of the view entity to extend. None
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.
• <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>
<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:
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.
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.
Subelements on <array>
The <array> element contains the following subelements:
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:
default Default value given to the field during new entity creation. None
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
• 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>
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.
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.
<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.)
<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.)
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
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.
<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
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.
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.
<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
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
<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.
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