BillingCenter support for Contact searches

BillingCenter enables you to search both for locally stored contacts and for contacts stored externally in ContactManager.

To configure Contact search in BillingCenter, you edit the following files in Guidewire Studio for BillingCenter:

  • search-config.xml – Defines search criteria for addresses.
  • gw.plugin.contact.ab1000.ABContactSystemPlugin – The plugin implementation used to call ContactManager web services. This plugin implementation has a searchContacts method that calls the ContactManager ABContactAPI.searchContact method.
  • gw.plugin.contact.ab1000.ABContactSearchCriteriaInfoEnhancement – The class that defines additional BillingCenter search criteria to be used with ContactManager contact searches. The class enhances the ContactManager web service ABContactAPISearchCriteria, adding a sync method that is used by ABContactSystemPlugin.searchContacts.
  • gw.plugin.contact.ab1000.ContactResultFromSearch – The class that defines the search result fields that BillingCenter displays in the search results returned from ContactManager.
  • ContactSearchCriteria.eix – You can extend this entity by creating a ContactSearchCriteria.etx file. ContactSearchCriteria defines the search criteria that are shown to the user in the search screens. If you add search criteria to ContactSearchCriteria.etx, you must also add them to ABContactSearchCriteriaInfoEnhancement. BillingCenter uses both files.
  • gw.plugin.contact.impl.ContactSearchCriteriaEnhancement – The class in which the contact search method for both internal and external contact search is defined. The primary contact search method in this class is performSearch.
  • ContactSearchScreen.pcf – This PCF file contains the display view in which the contact search criteria are shown. ContactSearchScreen.pcf also instantiates an instance of the ContactSearchCriteria entity and uses it as a parameter to its doSearch method defined in the Code tab. That method calls the method ContactSearchCriteriaEnhancement.performSearch.
  • ContactSearchDV.pcf – This PCF file contains the contact search criteria shown in the search screen. This file is where you add new search criteria.

In the base configuration, BillingCenter uses the Address fields defined in search-config.xml to search for address fields. However, to maintain performance, any search that uses the Address field must also include at least one of the following fields: Company Name, First Name, or Last Name. These minimally-required search criteria are defined in the isReasonablyConstrainedForSearch method in the ContactCriteria class.

To search for contacts stored in ContactManager, BillingCenter uses the plugin implementation gw.plugin.contact.ab1000.ABContactSystemPlugin. This class’s searchContacts method instantiates an ABContactAPISearchCriteria object and calls its sync method, which in turn calls the ContactManager web service ABContactAPI.searchContact. The BillingCenter searchContacts method returns data from the ABContactAPISearchResult Gosu objects returned by the ContactManager searchContact method. BillingCenter shows these returned objects as contacts with their fields in the search results.

One class in which you can customize this contact search behavior is gw.plugin.contact.ab1000.ABContactSearchCriteriaInfoEnhancement. This class enhances the search criteria defined in the ContactManager web service ABContactAPISearchCriteria. For example, the sync method of this class specifically searches for the Client tag. If you want to search for other tags, you can modify the code of this method to do so.

A corresponding class where you can customize contact search behavior is gw.plugin.contact.ab1000.ContactResultFromSearch. This class defines extensions to the search results returned by ContactManager. It extends the ContactManager web service ABContactAPISearchResult.

See also