Summary of PolicyCenter plugins

The following tables summarize the plugin interfaces that PolicyCenter defines.

Plugins for general purpose use

Plugin Interface Description

BackgroundTaskLoadBalancingPlugin

Defines strategies for managing the load balancing of messaging destinations and startable services.

ClusterBroadcastTransportFactory

ClusterFastBroadcastTransportFactory

ClusterUnicastTransportFactory

RedisBroadcastTransportFactory

Provides support for communication among nodes in a Guidewire PolicyCenter cluster. See Cluster communication for more information.

IActivityEscalationPlugin

Overrides the behavior of activity escalation instead of simply calling rule sets. See Exception and escalation plugins.

IAddressAutocompletePlugin

Configures how address automatic completion and fill-in operate. See Automatic address completion and fill-in plugin.

IBaseURLBuilder

Generates a base URL to use for web application pages affiliated with this application, given the HTTP servlet request URI (HttpServletRequest). See Defining base URLs for fully qualified domain names.

IBatchCompletedNotification

Launches custom actions after a work queue or batch process completes processing a batch of items.

IEmailTemplateSource

Retrieves email templates. In the base configuration, the templates are retrieved from the server file system, but the plugin can be customized to access an alternative location.

IEncryptionPlugin

Encodes or decodes a String based on an algorithm you provide to hide important data, such as bank account numbers or private personal data. PolicyCenter does not provide any encryption algorithm in the product. PolicyCenter simply calls this plugin implementation, which is responsible for encoding an unencrypted String or reversing that process. The implementation of this plugin in the base configuration does nothing. See Encryption integration.

You can register multiple implementation for this interface.

IGroupExceptionPlugin

Overrides the behavior of group exceptions instead of simply calling rule sets. See Exception and escalation plugins.

InboundIntegrationStartablePlugin

High performance inbound integrations, with support for multi-threaded processing of work items. See Multi-threaded inbound integration.

You can register multiple implementation for this interface to communicate with multiple external systems.

INoteTemplateSource

Retrieves note templates. In the base configuration, the templates are retrieved from the server file system, but the plugin can be customized to retrieve them from a document management system.

IPhoneNormalizerPlugin

Normalizes phone numbers that users enter through the application and that enter the database through data import. See Phone number normalizer plugin.

IPreupdateHandler

Implements your preupdate handling in plugin code rather than in rules. See Preupdate handler plugin.

IProcessesPlugin

Instantiates custom batch processing classes so they can be run on a schedule or on demand. See Implementing IProcessesPlugin.

IRestDispatchPlugin Processes REST API requests, including the following:
  • Preprocess incoming REST API requests
  • Rewrite outgoing API responses
  • Control how and what PolicyCenter logs for each API request

IScriptHost

Evaluates Gosu code to provide context-sensitive data to other services. For example, this service could evaluate a String that has the Gosu expression "policy.myFieldName" at run time.

IStartablePlugin

Creates new plugins that immediately instantiate and run on server startup. See Startable plugins.

You can register multiple implementation for this interface.

ITestingClock

Used for testing complex behavior over a long span of time, such as multiple billing cycles or timeouts that are multiple days or weeks later. This plugin is for development (non-production) use only. It programmatically changes the system time to accelerate passing of time in PolicyCenter.

See Testing clock plugin (for non-production servers only).

IUserExceptionPlugin

Overrides the behavior of user exceptions instead of simply calling rule sets. See Exception and escalation plugins.

IWorkItemPriorityPlugin

Calculates a the processing priority of a work item. See Work item priority plugin.

ManagementPlugin

The external management interface for PolicyCenter, which enables you to implement management systems, such as JMX and SNMP. See Management integration.

Plugins specific to Guidewire PolicyCenter

Plugin Interface

Description

AccountLocationPlugin

For account locations and policy locations, customizes how PolicyCenter performs the following operations:

  • Determine that two locations are the same
  • Clone a location

See Location plugin.

ConversionOnRenewal

Configures actions to perform if a renewal fails during converting. See Conversion on renewal plugin.

IAccountPlugin

Manipulates accounts. See Account plugin.

IArchivingSource

Stores and retrieves archived policies from an external backing source. See Archiving integration.

IAuditSchedulePatternSelectorPlugin

Customizes how PolicyCenter chooses the audit schedule pattern for cancellation and expiration. See Audit schedule selector plugin.

IBillingSummaryPlugin

Generates billing summaries for the billing summary screen. See Implementing the billing summary plugin

IBillingSystemPlugin

Interacts with an external billing system for actions that PolicyCenter initiates. See Implementing the billing system plugin

IChargeBreakdownCommissionablePlugin

Specifies to the billing system whether an individual charge breakdown in an itemized charge is commissionable. See Charge breakdown commissionable plugin.

IClaimSearchPlugin

Searches for claims. See Claim search from PolicyCenter.

IEffectiveTimePlugin

Determines the time of day (since midnight) for a job. See Effective time plugin.

IETLProductModelLoaderPlugin

Extracts product model data from the running PolicyCenter server, and stores the information in ETL product model tables in the PolicyCenter database. See ETL Product Model Loader plugin.

IExchangeRateSet

Internal only. Never use or implement this plugin.

IFXRatePlugin

Handles exchange rate conversion.

IImpactTestingPlugin

Only for customers who license Guidewire Rating Management.

This plugin configures rating routine impact testing.

IJobCreation

Creates a job process. See Job process creation plugin

IJobProcessCreationPlugin

Creates the right job process subtype. See Job process creation plugin.

ILossHistoryPlugin

Handles loss history summaries for a policy. See Loss history plugin.

IMotorVehicleRecordPlugin

Generates a request to the motor vehicle record (MVR) provider and returns the MVR data. See Motor vehicle record (MVR) plugin.

INotificationPlugin

Customizes the minimum lead time and the maximum lead time for different types of notifications. See Notification plugin.

IPolicyEvaluationPlugin

Customizes how PolicyCenter adds underwriter issues (UWIssue objects) on a policy period. See Policy evaluation plugin.

IPolicyNumGenPlugin

Generates policy numbers of two types: core policy numbers and current policy revision numbers. See Policy number generator plugin.

IPolicyPaymentPlugin

Returns the filtered reporting plans based on the policy. See Policy payment plugin.

IPolicyPeriodDiffPlugin

Customizes how PolicyCenter generates and filters difference items that represent comparing two policies for policy changes, multi-version policy comparisons, and other contexts. See Policy difference and comparison customization.

IPolicyPeriodPlugin

Various important policy period customizations, including the following:

  • Calculating the period end date from a TermType
  • Calculating a TermType from period start and end dates
  • Dynamically setting the initial wizard step in the job wizard
  • Creating a job process
  • Prorating bases from cancellation
  • Specifying types to omit while copying a PolicyPeriod
  • Customizing behavior after creating draft branch in new period
  • Customizing behavior before promoting a branch
  • Customizing behavior after handing a preemption

See Policy period plugin.

IPolicyPlugin

Informs PolicyCenter whether it is OK to start various jobs, based on dynamic calculations on the policy. See Policy plugin.

IPolicyTermPlugin

Calculates values related to policy terms. See Policy term plugin

RateBookPreloadPlugin

Only for customers who license Guidewire Rating Management.

The preloading Rating Management components feature and precompiling rate routines JAR feature use this plugin. See Rate book preload pluginConfiguration Guide.

IRateQueryLookupPlugin

Only for customers who license Guidewire Rating Management.

This plugin enables you to customize the rate query fail-over logic in PolicyCenter.

IRateRoutinePlugin

Only for customers who license Guidewire Rating Management.

This plugin configures processing of rate routines.

IRatingPlugin

This is the main plugin interface that defines the interaction between the application and a rating engine. See Rating integration.

IReferenceDatePlugin

Evaluates the type of date to use to calculate the reference date on a given object. See Reference date plugin.

IRenewalPlugin

Handles renewals. See Renewal plugin.

IUWCompanyPlugin

Finds all the underwriting companies that are available for the jurisdictions in the set. See Underwriting company plugin.

IVinPlugin

Allows an external system to provide information about vehicles. See Vehicle identification number plugin.

JobNumberGenPlugin

Generates a new, unique job number. See Policy number generator plugin.

PaymentGatewayConfigPlugin

Configures the payment gateway that PolicyCenter uses to communicate with an electronic payment service. See Payment gateway configuration plugin.

PaymentGatewayPlugin

Communicates with an electronic payment service. See Payment gateway plugin.

PCPurgePlugin

Modifies the behavior of quote purging. Quote purging removes from the database jobs not resulting in bound policies and alternate policy periods created through multi-version quoting and side-by-side quoting. Quote purging also removes orphaned policy periods, which are policy periods not associated with a job. See Quote purging plugin.

ProrationPlugin

Prorates a value. This is used by two places in PolicyCenter:

  • Generate transaction calculations
  • Rating integration

See Proration plugin.

QuotingDataPlugin

Provides methods for saving quoting data to an external database.

WorksheetExtractPlugin

Only for customers who license Guidewire Rating Management.

This plugin identifies which rating worksheet to extract and extracts the worksheet data to files.

WorksheetPurgePlugin

Only for customers who license Guidewire Rating Management.

This plugin configures how PolicyCenter purges rating worksheets.

Plugins for managing PolicyCenter contacts

Plugin Interface

Description

ContactSystemPlugin

Searches for contacts and retrieve contacts from an external system. See Integrating with a contact management system.

IAccountContactPlugin

Configures how to copy properties between account contacts. See Account contact plugin.

IAccountContactRolePlugin

Configures how to copy properties between account contact roles and copy pending updates. See Account contact role plugin.

IAccountSyncable

Customizes how PolicyCenter synchronizes contact with accounts. For more information. See Synchronizing contacts with accounts.

IAddressBookAdapter

Internal only. Never use or implement this plugin.

IContactConfigPlugin

Configures contacts, such as the address contact roles that are available and getting the display name for an account contact role type. See Configuring how PolicyCenter handles contacts.

IContactSearchAdapter

Internal only. Never use or implement this plugin.

IGeocodePlugin

Geocoding support in PolicyCenter. See Geographic data integration.

OfficialIdToTaxIdMappingPlugin

Determines whether PolicyCenter treats an official ID type as a tax ID for contacts. See Official IDs mapped to tax IDs plugin.

Plugins for managing user authentication

Plugin Interface Description

AuthenticationServicePlugin

Authorizes a user from a remote authentication source, such as a corporate LDAP or other single-source sign-on system.

AuthenticationSource

A marker interface representing an authentication source for user interface login. The implementation of this interface must provide data to the authentication service plugin that you register in PolicyCenter. All classes that implement this interface must be serializable. Any object contained with those objects must be serializable as well.

For WS-I web services authentication, see the row in this table for WebservicesAuthenticationPlugin.

AuthenticationSourceCreatorPlugin

Creates an authentication source (an AuthenticationSource) for user interface login. This takes an HTTP protocol request (from an HTTPRequest object). The authorization source must work with your registered implementation of the AuthenticationServicePlugin plugin interface.

DBAuthenticationPlugin

Provides the ability to store the database username and password in a way other than plain text in the config.xml file. For example, retrieve it from an external system, decrypt the password, or read a file from the file system. The resulting username and password substitutes into the database configuration for each instance of that ${username} or ${password} in the database parameters.

WebservicesAuthenticationPlugin

For WS-I web services only, configures custom authentication logic This plugin interface is documented with other WS-I information. See Web services authentication plugin.

Plugins for managing document content and metadata

Plugin Interface Description

IDocumentContentSource

Provides access to a remote document repository for storage and retrieval operations.

The example IDocumentContentSource plugin provided in the base configuration must be linked to a commercial document management system before being used in a production environment.

IDocumentMetadataSource

Stores metadata associated with a document, typically in a remote document management system.

The example IDocumentMetadataSource plugin provided in the base configuration stores metadata locally and is not intended to be used in a production environment. For maximum data integrity and feature set, implement the plugin and link it to a commercial document management system.

Plugins for managing document production

Plugin Interface Description

IDocumentProduction

Generates documents from a template. For example, from a Gosu template or a Microsoft Word template. This plugin can create documents synchronously and/or asynchronously. See Document production.

IDocumentTemplateSerializer

This plugin serializes and deserializes document template descriptors. Typically, descriptors persist as XML, as such implementations of this class understand the format of document template descriptors and can read and write them as XML.

Use the built-in version of this plugin using the “Plugins registry.” In general, it is best not implement your own version.

IDocumentTemplateSource

Provides access to a repository of document templates that can generate forms and letters, or other merged documents. An implementation may simply store templates in a local repository. A more sophisticated implementation might interface with a remote document management system.

Plugins for message management

Plugin Interface Description

MessageAfterSend

Optional post-send processing of messages.

You can register multiple implementation for this interface to communicate with multiple external systems.

MessageBeforeSend

Optional pre-processing of messages, primarily to transform the payload and return a String that the message transport will use instead. For example, this plugin might convert a flat file of name/value fields to an XML document that is too resource-intensive to create at message creation time.

You can register multiple implementation for this interface to communicate with multiple external systems.

MessageReply

Handles asynchronous acknowledgments of a message. After submitting an acknowledgment to optionally handles other post-processing afterward such as property updates. If you can send the message synchronously, do not implement this plugin. Instead, implement only the transport plugin and acknowledge each message immediately after it sends the message.

You can register multiple implementation for this interface to communicate with multiple external systems.

MessageRequest

Optional pre-processing of messages, and optional post-send processing. The MessageRequest interface perform roles of both the related plugins MessageBeforeSend and MessageAfterSend.

You can register multiple implementation for this interface to communicate with multiple external systems.

MessageTransport

The main messaging plugin interface within a messaging destination. This plugin sends a message to an external/remote system by using an appropriate transport protocol. This protocol could be a messaging queue, a remote API call, saving special files in the file system, sending emails, and so on.

You can register multiple implementation for this interface to communicate with multiple external systems.

Plugins for REST API Framework

Plugin interface Description
IRestDispatchPlugin Optional plugin interface to do the following:
  • Preprocess incoming REST API requests
  • Rewrite outgoing API requests
  • Control how and what PolicyCenter logs for each API request
See the REST API Framework documentation for more information.