New and changed in PolicyCenter 10.0.1

General Changes

Multifactor authentication

Guidewire has added a framework to support multifactor authentication in PolicyCenter 10.0.1. This framework includes changes and additions to existing PCF and class files. In particular, Guidewire modified the PolicyCenter login screen ( Login.pcf) to support the use of one or more entry fields for multifactor authentication.

See also

User credential masking

In PolicyCenter 10.0.1, it is now possible to mask the input of the user name and password in a command prompt tool. To do so, insert a dash in the command in place of the actual user name or password, for example:
  • system_tools -ping -user - -password -
Before PolicyCenter executes the tool script, it prompts you to enter the missing information. If you chose to mask the user name and password information:
  • PolicyCenter does not echo the entered user name or password back to the screen.
  • The operating system, either Windows or Linux, does not store the plain text information in the command prompt buffer and command history.

New in intentional logging

New database entities

In PolicyCenter 10.0.1, Guidewire now uses the following persistent database entities to manage intentional logging:
ILConfig Entity represents the configuration settings for the entire intentional logging feature.
ILElementConfig Entity represents configuration settings for a single intentional logging element.

Guidewire has specifically discontinued the use of the ILElement database entity to manage the intentional logging functionality.

Interface IntentionalLogger

Guidewire provides an IntentionalLogger interface that contains a number of methods that focus on event types, rather than severity levels:
  • logStart
  • logStop
  • logResult
  • logFail
  • logStatus
  • logError

In the base configuration, Guidewire provides a default implementation class for the IntentionalLogger interface named IntentionalLoggerImpl.

PolicyCenter Intentional Logging screen

PolicyCenter Server Tools contains a new Intentional Logging screen to manage intentional logging functionality. From this screen, you can do the following:
  • Enable and disable intentional logging globally.
  • Enable or disable specific intentional logging elements individually.

REST API

Guidewire provides a REST API with the following endpoints to change the intentional logging settings.
Endpoint Supports
/intentionallogging/config
  • GET operations
  • PUT operations, which accept JSON payloads
/intentionallogging/elements
  • GET operations
  • PATCH operations, which accept JSON payloads

Controlling whether PolicyCenter creates an index for spatial point data

A new createSpatialIndex parameter controls whether PolicyCenter creates an index for spatial point data. The default setting is to create such an index. However, if an index reflects duplicative or otherwise excessive spatial point data and degrades performance, consider opting out of creating the index.

The createSpatialIndex parameter applies only to columns with a spatial point data field. If the createSpatialIndex parameter has the default value of true in a column of an extension or custom entity, PolicyCenter creates an index for spatial point data. If the parameter has a value of false, PolicyCenter does not create such an index. In the latter case, PolicyCenter avoids creating an index regardless of whether the parameter is in a <columnParam> subelement of a <column> element or a <column-override> element.

See also

New ArrayLoader class for loading a multidimensional array

The ArrayLoader class allows you to load a multidimensional array with at most a single pull from the PolicyCenter database.

Assuming no data stored in cache, when you load a multidimensional array manually, you must query the PolicyCenter database for each array element. Thus, for manual array loading, you must query the database N*M times. Here, N is the number of array elements in the first dimension array, and M is the number of array elements in each of the N second dimension arrays.

This number of queries arises from the fact that a multidimensional array is really an array of pointers. The array is not a data structure where all of the array elements are combined in the same location. Hence, manual array loading degrades performance due to the overhead bandwidth requirement for the N*M queries and due to contention with other database queries.

The ArrayLoader class eliminates this challenge by combining the N*M queries into at most single query. The special case where all of the required data is stored in cache requires no database queries. Thus, the ArrayLoader class reduces the overhead bandwidth requirement and the risk of database contention for loading a multidimensional array.

New RetryIfInitialConditionsFail parameter in batch-process-config.xml

Guidewire has added a new optional <param> element to file batch-process-config.xml to use in defining a value for the RetryIfInitialConditionsFail parameter. This parameter governs the behavior of a batch process depending on the return value of batch process class method checkInitialConditions. The name of the parameter is case-insensitive.

This parameter takes the following values.
true If the batch process checkInitialConditions method returns false, the batch process does not terminate immediately. Instead, it continues to execute until its component lease expires. This is the batch process default behavior if the attribute is missing from batch-process-config.xml.
false If the checkInitialConditions method returns false, the batch process terminates immediately.

See also

New logging category Server.Database.PerfReport

In PolicyCenter 10.0.1, Guidewire adds new logging category Server.Database.PerfReport to the set of available logging categories. If set to the INFO log level, PolicyCenter writes detailed messages to the application server log during the generation of Oracle AWR reports or SQL Server performance reports. To minimize the data that PolicyCenter writes to the log, set the value of this log category to ERROR.

Changes to Server Tools

Change to SQL Server Performance Report

Guidewire has modified the functionality of SQL Server Performance Report in multiple ways.
  • Previously, selecting two time intervals generated a report for which the time interval ran from the end of the first time interval to the end of the second time interval. In PolicyCenter 10.0.1, if you select two time intervals, the generated report runs from the beginning of the first time interval to the end of the last time interval. In other words, the report is now inclusive of both the beginning and ending time intervals, and all intervals in between.
  • Guidewire has added a Cancel Report Generation button that is active if PolicyCenter is in the process of generating a SQL Server Performance report. Use this functionality to cancel report generation that is taking a long time.

Change to Guidewire Profiler

It is now possible to delete web profiling sessions in the Guidewire Profiler Profiler Analysis screen.

Also, Guidewire modified class WebServiceProfiler to add an additional argument (in bold):
  • WebServiceProfiler(serviceName, operationName, traceabilityId)
The new argument provides the ability to pass in a traceability ID to the web service profiler. All three argument values show in the Server Tools Web Services Profiler > Profiler Analysis screen as the following column headers:
  • Web Service Name
  • Operation Name
  • TraceabilityId

Changes to Database Table Info Report

Guidewire added several new Database Table Info reports in PolicyCenter 10.0.1. The reports are:
Report Description
Change Data Capture Info (SQL Server) You must enable the database for change data capture for this report to be available. Refer to the following Microsoft site for further information.
Replication Info (SQL Server) This report lists tables for which replication is enabled.

Changes to the Upgrade and Versions screen

Under rare circumstances, it is possible for the failure of a rolling upgrade on a specific application server to result in the inability to back out of the rolling upgrade on that server. To provide for this upgrade scenario, Guidewire has added a Force Backout button to the Upgrade and Versions screen. Clicking this button brings up a dialog in which you can select the server ID of the inactive server. The Force Backout button is only available if a rolling upgrade is in progress.

Changes to the su user and the superuser role

superuser role removed from su user

In PolicyCenter 10.0.1, Guidewire has removed the superuser role from the Super User (su) user. In the base configuration, Guidewire configures user su as an unrestricted user in configuration file config.xml. PolicyCenter does not evaluate permissions for unrestricted users. As a consequence of PolicyCenter bypassing permission checking, the unrestricted user has access to the entire PolicyCenter application. Thus, an unrestricted user behaves as if it has all permissions.

superuser role deprecated

In PolicyCenter 10.0.1, Guidewire officially deprecates the superuser role. Guidewire has renamed this role in the PolicyCenter interface to All Permissions (Deprecated). Guidewire intends to remove this role completely in a future release.

Guidewire recommends the following:
  1. Review all usages of the superuser role in your PolicyCenter configuration.
  2. Determine what specific permissions are actually needed for each usage of the superuser role.
  3. Replace the superuser role with an existing (or new) role that has the necessary permissions.
  4. Ensure that there are no remaining usages in your installation of the deprecated role.

Change to loading Rating Management components

In this release, there is a new RateBookPreloadEnabled configuration parameter that you can use to specify whether Rating Management components are loaded on system startup.

In PolicyCenter, parameter sets are always preloaded when the server is in development mode. In this release, you can modify the code that preloads the parameter sets.

See also

Merging changes made in previous releases

As in PolicyCenter 10.0.0, the RatebookPrimer class calls RTMLoadActions.primeCachesForAllParameterSets. In PolicyCenter 10.0.1, primeCachesForAllParameterSets checks the RateBookPreloadEnabled parameter before preloading Rating Management components.

If you changed how PolicyCenter preloads Rating Management components in PolicyCenter 10.0.0, you can merge your changes to the RatebookPrimer class. Have your code check the RateBookPreloadEnabled parameter before preloading.

Casting a non-numeric String to Double, Float, or Long throws an exception

In prior releases, casting a non-numeric String value such as Hello, world to a Double or a Float generated a NaN (Not a Number) value. Casting a non-numeric String value to a Long generated a value of 0. The behavior for all these types has now changed to throw a NumberFormatException exception. This behavior matches casting to other numeric types.

Change to index naming convention

New index names use the following pattern:
  • tableName_type_leadingColumn_hash
These variables have the following meanings.
Variable Meaning
tableName Name of the database table, up to 10 characters
type Single character that describes the type of index, allowed values include:
  • N - Non-unique index
  • S - Spatial index
  • S - Unique index
leadingColumn Index leading column name, up to 10 characters
hash Hash code, 13 characters

The longest that a name can be under this scheme is 37 characters.

For example, for a unique index on pc_accountcontactrole for the columns [ACCOUNTCONTACT, RETIRED, SUBTYPE] the index name becomes:
  • ACCOUNTCON_U_ACCOUNTCON_1M5F4WQOIDN21

For the primary key index, the name remains as PK_tableName.

Change More information
If you add or modify SVG icon files, you must run a new command to enable the printing of those icons.
Post-on-change no longer requires a target attribute, which specified the part of the user interface to update. Use of the target attribute is ignored. The server now automatically determines which parts of the interface are affected by the change, and updates only the affected areas.
Data panels can be collapsible.

Changes to user interface configuration

Change More information
If you add or modify SVG icon files, you must run a new command to enable the printing of those icons.
Post-on-change no longer requires a target attribute, which specified the part of the user interface to update. Use of the target attribute is ignored. The server now automatically determines which parts of the interface are affected by the change, and updates only the affected areas.
Data panels can be collapsible.

Changes related to PCF files

The following are changes to the configuration of PCF files.

See also

New top-level widgets

The following new top-level widgets were added:
  • EmbeddedPanel
  • MediaGallery
  • MediaUploader

Attributes added to existing PCF elements

The following describes attributes that were added to existing PCF elements.
Attributes Added to these elements
  • accordionGroupId
  • collapsible
  • icon
  • iconColor
  • iconType
  • sharedPersistentCollapseId
  • startCollapsed
  • titleBadgeOnlyVisibleWhenCollapsed
  • PanelRef
  • badgeStyle
  • Badge
  • BadgeProperties
  • border
  • AbstractTableLayout
  • PanelRef
  • CardViewPanel
  • PanelRow
  • ChartPanel
  • PanelSet
  • InputColumn
  • SearchPanel
  • InputColumnSubGroup
  • TemplatePanel
  • InputGroup
  • TitleBar
  • ListDetailPanel
  • TreeViewPane
  • ListViewPanel
  • Verbatim
  • PanelColumn
    • headingLevel
    • TitleBar
    • highlightChangedValues
    • Page
    • Popup
    • PopupWizard
    • WebMessageWorksheet
    • Wizard
    • Worksheet
    • integerNumber
    • FormatType
    • leftIndent
  • AbstractTableLayout
  • ListViewPanel
  • CardViewPanel
  • PanelColumn
  • ChartPanel
  • PanelRef
  • DetailViewPanel
  • PanelRow
  • InputColumn
  • PanelSet
  • InputColumnSubGroup
  • SearchPanel
  • InputGroup
  • TemplatePanel
  • ListDetailPanel
  • TreeViewPane
    • panelInnerSpacing
    • panelOuterSpacing
  • CardViewPanel
  • PanelColumn
  • ChartPanel
  • PanelRef
  • DetailViewPanel
  • PanelRow
  • InputColumn
  • PanelSet
  • InputColumnSubGroup
  • SearchPanel
  • InputGroup
  • TreeViewPanel
  • ListViewPanel
    • panelStyle
  • AbstractTableLayout
  • ListViewPanel
  • CardViewPanel
  • PanelColumn
  • ChartPanel
  • PanelRef
  • DetailViewPanel
  • PanelRow
  • InputColumn
  • PanelSet
  • InputColumnSubGroup
  • SearchPanel
  • InputGroup
  • TemplatePanel
  • ListDetailPanel
  • TreeViewPanel
    • promptQuestion
    • shortcut
    • showConfirmMessage
    • visible
    • HiddenLink
    • shouldEncryptReflectedValue
    • PrivacyCell
    • PrivacyInput
    • userInputRestriction
  • AddressAutoFillInput
  • PrivacyInput
  • BulletPointTextInput
  • TextAreaCell
  • ConfirmPasswordInput
  • TextAreaInput
  • NoteBodyInput
  • TextCell
  • PasswordInput
  • TextInput
  • PrivacyCell
    • verticalAlign
  • AddressBookContactCell
  • LinkCell
  • AltGroupCell
  • MonetaryAmountCell
  • AltUserCell
  • OrgCell
  • AssigneeCell
  • PickerCell
  • BarCell
  • PrivacyCell
  • BooleanRadioCell
  • RadioButtonCell
  • ButtonCell
  • RangeCell
  • CheckBoxCell
  • RangeRadioCell
  • ClaimAssociationsCell
  • SampleBeanMenuItemCell
  • CurrencyCell
  • SampleBeanRangeCell
  • DateCell
  • SampleDateTimeCell
  • EmptyCell
  • SampleTemplateCell
  • FileCell
  • SimpleTemplateCell
  • FormatCell
  • TextAreaCell
  • GroupCell
  • TextCell
  • ImageActionCell
  • TypeKeyCell
  • ImageCell
  • UserCell
    • widgetOuterSpacing
    • widgetStyle
    • TitleBar
    • Verbatim

    Subelements added to existing PCF elements

    The following describes subelements that were added to existing PCF elements.
    Subelements Added to these elements
    • Badge
    • TitleBar
    • EmbeddedInput
    • MediaUploader
    • Choice
    • DetailViewPanel
    • InputColumn
    • InputColumnSubGroup
    • InputFooterSection
    • InputGroup
    • InputHeaderSection
    • InputIterator
    • InputSet
    • EmbeddedPanel
    • Image
    • ImageAction
    • ImageMediaObject
    • MediaGallery
    • MediaUploader
    • Card
    • ListDetailPanel
    • PanelColumn
    • PanelIterator
    • PanelRow
    • PanelSet
    • Screen
    • SearchPanel
    • EmbeddedPanel
    • MediaGallery
    • MediaUploader
    • PanelRef
    • ImageActionCell
    • ImageCell
    • CellIterator
    • Row

    Attribute changes

    The following describes changes that were made to existing PCF attributes.
    Attributes Change Affects elements
    • styleClass
    Type changed to LinkStyleClass.
  • AddressBookContactCell
  • PickerLink
  • AltGroupCell
  • PrivacyCell
  • AltUserCell
  • RadioButtonCell
  • AssigneeCell
  • RangeCell
  • BooleanRadioCell
  • RangeRadioCell
  • CheckBoxCell
  • SampleBeanMenuItemCell
  • ClaimAssociationsCell
  • SampleBeanRangeCell
  • CurrencyCell
  • SampleDateTimeCell
  • DateCell
  • SampleTemplateCell
  • FileCell
  • SimpleTemplateCell
  • GroupCell
  • SystemAlertBarElement
  • Link
  • TextAreaCell
  • MonetaryAmountCell
  • TextCell
  • OrgCell
  • TypeKeyCell
  • PickerCell
  • UserCell
    • wrap
    Type changed to WrapType.
  • AddressBookContactCell
  • LinkCell
  • AltGroupCell
  • MonetaryAmountCell
  • AltUserCell
  • OrgCell
  • AssigneeCell
  • PickerCell
  • BarCell
  • PrivacyCell
  • BooleanRadioCell
  • RadioButtonCell
  • ButtonCell
  • RangeCell
  • CheckBoxCell
  • RangeRadioCell
  • ClaimAssociationsCell
  • SampleBeanMenuItemCell
  • CurrencyCell
  • SampleBeanRangeCell
  • DateCell
  • SampleDateTimeCell
  • EmptyCell
  • SampleTemplateCell
  • FileCell
  • SimpleTemplateCell
  • FormatCell
  • TextAreaCell
  • GroupCell
  • TextCell
  • ImageActionCell
  • TypeKeyCell
  • ImageCell
  • UserCell
  • Deprecated attributes

    The following describes PCF attributes that were deprecated.
    Elements Attributes Description
    • Badge
    • BadgeProperties
    • backgroundColor
    • textColor
    Use attribute badgeStyle instead.
    • DetailViewPanel
    • highlighted
    Use attribute panelStyle instead.
    • inline
    Obsolete and no longer used. To achieve a similar visual result, set the following attributes: border="true" panelOuterSpacing="normal" panelStyle="Highlight".
    • InputColumn
    • hasBorders
    Use attribute border instead.
    • PostOnChange
    • target
    Obsolete and no longer used. See Changes to user interface configuration.
    • Verbatim
    • labelStyleClass
    • warning
    Use attribute widgetStyle instead.