MIDM properties are defined in midm.xml. Some of the information entered into the default configuration file is based on the fields you defined in the wizard, and some is standard across all implementations. For most implementations, this file will require customization.
The following topics provide information about working with midm.xml:
You can modify midm.xml at any time, but you must regenerate the application and redeploy the project after making any changes to the file. Changes made to this file do not affect match processing. The possible modifications to this file are restricted by the schema definition, so be sure to validate the file after making any changes. Certain properties of this file can be modified using the Configuration Editor, such as whether a field appears on a search page and is required for that search. Most MIDM properties need to be modified directly in this file.
The following table lists each element in midm.xml and provides a description of each element along with any requirements or constraints. Note that not all elements can be used on all predefined pages.
Table 14 midm.xml File Structure
The subscreen element is used by default to define standard reports that can be run from the MIDM. In these subscreen definitions, the report-name element indicates the type of report being generated.
You can specify any of the following production reports:
Assumed Matches
Potential Duplicate
Deactivated
Merged
Unmerged
Update
Or you can specify any of the following activity reports.
Weekly Transaction Summary Report
Monthly Transaction Summary Report
Yearly Transaction Summary Report
Below is a short excerpt from midm.xml based on a master index application processing person information. This sample defines two pages on the MIDM. The first page defines one blocking search, one simple lookup search, and one search result list. The second page is the reports page, and it defines a Potential Duplicate Report and a Weekly Activity report.
<node>
<name>Person</name>
<field>
<name>LastName</name>
<display-name>Last Name</display-name>
<display-order>1</display-order>
<max-length>40</max-length>
<gui-type>TextBox</gui-type>
<value-type>string</value-type>
<key-type>true</key-type>
</field>
<field>
<name>FirstName</name>
<display-name>First Name</display-name>
<display-order>2</display-order>
<max-length>40</max-length>
<gui-type>TextBox</gui-type>
<value-type>string</value-type>
<key-type>true</key-type>
</field>
<field>
<name>DOB</name>
<display-name>DOB</display-name>
<display-order>3</display-order>
<max-length>32</max-length>
<gui-type>TextBox</gui-type>
<value-type>date</value-type>
<key-type>true</key-type>
</field>
<field>
<name>Gender</name>
<display-name>Gender</display-name>
<display-order>4</display-order>
<max-length>8</max-length>
<gui-type>MenuList</gui-type>
<value-list>GENDER</value-list>
<value-type>string</value-type>
<key-type>true</key-type>
</field>
<field>
<name>SSN</name>
<display-name>SSN</display-name>
<display-order>5</display-order>
<max-length>16</max-length>
<gui-type>TextBox</gui-type>
<value-type>string</value-type>
<input-mask>DDD-DD-DDDD</input-mask>
<value-mask>DDDxDDxDDDD</value-mask>
<is-sensitive>true</is-sensitive>
<field>
</node>
<node>
<name>Alias</name>
<display-order>1</display-order>
<field>
<name>LastName</name>
<display-name>LastName</display-name>
<display-order>1</display-order>
<max-length>40</max-length>
<gui-type>TextBox</gui-type>
<value-type>string</value-type>
<key-type>true</key-type>
</field>
<field>
<name>FirstName</name>
<display-name>FirstName</display-name>
<display-order>2</display-order>
<max-length>40</max-length>
<gui-type>TextBox</gui-type>
<value-type>string</value-type>
<key-type>true</key-type>
</field>
</node>
<relationships>
<name>Person</name>
<children>Alias</children>
</relationships>
<impl-details>
<master-controller-jndi-name>ejb/PersonMasterController
</master-controller-jndi-name>
<validation-service-jndi-name>ejb/PersonCodeLookup
</validation-service-jndi-name>
<usercode-jndi-name>ejb/PersonUserCodeLookup</usercode-jndi-name>
<reportgenerator-jndi-name>ejb/PersonReportGenerator
</reportgenerator-jndi-name>
<debug-flag>true</debug-flag>
<debug-dest>console</debug-dest>
<enable-security>true</enable-security>
<object-sensitive-plug-in-class>com.sun.mdm.index.security.VIPPlugIn
</object-sensitive-plug-in-class>
</impl-details>
<gui-definition>
<page-definition>
<local-id/>
<initial-screen-id>1</initial-screen-id>
<record-details>
<root-object>Person</root-object>
<tab-name>Record Details</tab-name>
<screen-id>1</screen-id>
<display-order>2</display-order>
<search-pages>
<simple-search-page>
<screen-title>Advanced Person Lookup (Phonetic)</screen-title>
<search-result-id>1</search-result-id>
<search-screen-order>1</search-screen-order>
<show-euid>false</show-euid>
<show-lid>false</show-lid>
<instruction/>
<field-group>
<description>Person</description>
<field-ref required="false">Person.FirstName</field-ref>
<field-ref required="false">Person.LastName</field-ref>
<field-ref required="false">Person.SSN</field-ref>
</field-group>
<field-group>
<description>Alias</description>
<field-ref required="false">Person.Alias.FirstName</field-ref>
<field-ref required="false">Person.Alias.LastName</field-ref>
</field-group>
<search-option>
<display-name>Phonetic Search</display-name>
<query-builder>BLOCKER-SEARCH</query-builder>
<weighted>true</weighted>
<parameter>
<name>UseWildcard</name>
<value>false</value>
</parameter>
</search-option>
</simple-search-page>
<simple-search-page>
<screen-title>Simple Person Lookup</screen-title>
<search-result-id>1</search-result-id>
<search-screen-order>2</search-screen-order>
<show-euid>true</show-euid>
<show-lid>true</show-lid>
<instruction/>
<field-group/>
<search-option>
<display-name>Alpha Search</display-name>
<query-builder>ALPHA-SEARCH</query-builder>
<weighted>false</weighted>
<parameter>
<name>UseWildcard</name>
<value>true</value>
</parameter>
</search-option>
</simple-search-page>
</search-pages>
<search-result-pages>
<search-result-list-page>
<search-result-id>1</search-result-id>
<item-per-page>10</item-per-page>
<max-result-size>100</max-result-size>
<field-group>
<description/>
<field-ref>Person.FirstName</field-ref>
<field-ref>Person.MiddleName</field-ref>
<field-ref>Person.LastName</field-ref>
<field-ref>Person.SSN</field-ref>
<field-ref>Person.DOB</field-ref>
<field-ref>Person.Gender</field-ref>
</field-group>
</search-result-list-page>
</search-result-pages>
</record-details>
<reports>
<root-object>Person</root-object>
<tab-name>Reports</tab-name>
<screen-id>6</screen-id>
<display-order>5</display-order>
<search-pages/>
<search-result-pages/>
<subscreen-configurations>
<subscreen>
<enable>true</enable>
<root-object>Person</root-object>
<tab-name>Potential Duplicate Report</tab-name>
<report-name>Potential Duplicate</report-name>
<screen-id>0</screen-id>
<display-order>1</display-order>
<search-pages/>
<search-result-pages>
<search-result-list-page>
<search-result-id>0</search-result-id>
<item-per-page>10</item-per-page>
<max-result-size>2000</max-result-size>
<field-group>
<description/>
<field-ref>Person.FirstName</field-ref>
<field-ref>Person.LastName</field-ref>
<field-ref>Person.SSN</field-ref>
<field-ref>Person.DOB</field-ref>
<field-ref>Person.Gender</field-ref>
</field-group>
</search-result-list-page>
</search-result-pages>
</subscreen>
<subscreen>
<enable>true</enable>
<root-object>Person</root-object>
<tab-name>Activity Report</tab-name>
<report-name>Transaction Summary Report</report-name>
<screen-id>2</screen-id>
<display-order>2</display-order>
<search-pages>
<simple-search-page>
<screen-title>Weekly Activity</screen-title>
<report-name>Weekly Transaction Summary Report</report-name>
<search-result-id>0</search-result-id>
<search-screen-order>1</search-screen-order>
<field-group/>
</simple-search-page>
<search-result-pages>
<search-result-list-page>
<search-result-id>0</search-result-id>
<item-per-page>10</item-per-page>
<max-result-size>2000</max-result-size>
<field-group/>
</search-result-list-page>
</search-result-pages>
</subscreen>
</page-definition>
</gui-definition>
|