Overview of adding search capability in ContactManager
Before starting the example of adding the ServiceState property to ContactManager and ClaimCenter search, be sure you understand how to use an <ArrayCriterion> element as described in this topic. Additionally, see Adding the service state property to search.
There are two primary aspects to adding search capability in ContactManager:
- Adding search support to the ContactManager search screens
- You add the
ServiceStatetypekey to ABContactSearchCriteria.etx. Then you add an<ArrayCriterion>element to the ContactManager search-config.xml file to specify where the ServiceState column is located. There are restrictions on using<ArrayCriterion>:- For any
<CriteriaDef>element in the search-config.xml file, you must have only one<ArrayCriterion>subelement. If you have more than one<ArrayCriterion>defined for an entity, a search can return duplicate results for that entity. For example, you have two<ArrayCriterion>properties for ABContact. A successful search returns the same contact twice, once for each matched property. - If you want to search for multiple fields in an array entity, create a new field that combines the fields.
- Additionally, the system requires unique values for the field that you are searching on. For example, City and State are two fields on an array entity, and the combination of the two fields is what makes the search unique. In this case, you must create a third field on the entity that concatenates the two values, and then create the array search criterion on that third field.
- For any
- Adding search support for Guidewire core applications in the Gosu class
ABContactAPISearchCriteria - You can have the search field show in the search results that ContactManager sends back
to the Guidewire core application. To add the field to the search results, add
code for the field to the Gosu class
ABContactAPISearchResult.
These classes provide parameters used in web service calls, and changing them changes the web service WSDL. After changing one of these classes, you must restart ContactManager to regenerate the web APIs. Then, in Guidewire Studio for the Guidewire core application, you must refresh the ContactManager web APIs.
The first step in this example is Enable ServiceState support for the ContactManager search screens.
