Downloads

Task Configuration

nme-task.gen.xml file structure

A typical nme-task.gen.xml file looks as follows:

<?xml version="1.0" encoding="UTF-8"?>
    <taskConfig oldDqitDataSource="it_db">
        <workflows>
            <workflow name="consolidation">
                <steps>
                    <step isFirst="true" name="draft"/>
                    <step name="waiting_for_publish"/>
                </steps>
                <transitions>
                    <transition groupAssignee="MDM_admin" name="move_publish" origin="draft" target="waiting_for_publish" userAssignee=""/>
                    <transition groupAssignee="MDM_user" name="return_draft" origin="waiting_for_publish" target="draft" userAssignee="">
					<postActions>
						<postAction class="com.ataccama.nme.dqc.wfaction.PlanTransitionActionConfig" name="notify" planFileName="../engine/post_actions/consolidation_return_draft_notify.comp"/>
					</postActions>
                </transitions>
            </workflow>
            <!--other workflows-->
        </workflows>
        <defaultValues description="Specify what should be fixed within the task created" groupAssignee="MDM_user" name="Task" severity="low" userAssignee="" workflowName="consolidation"/>
        <taskTypes>
            <type name="RECORD_CHANGE">
                <defaultValues description="Click on record edit to fix DQ issues." groupAssignee="MDM_user" name="Resolve DQ issues" userAssignee="" workflowName="consolidation" severity="INTERMEDIATE"/>
                <instanceLayerDefaultValues>
                    <defaultValues description="Task description" entityName="party" expression="'Edit instance party ' + src_first_name + ' ' + src_last_name + ' ' + src_company_name" groupAssignee="MDM_user" name="" userAssignee="" workflowName="consolidation" severity="HIGH"/>
                    <defaultValues description="Task description" entityName="address" expression="'Edit instance address ' + src_street + ' ' + src_city + ' ' + src_state" groupAssignee="MDM_user" name="" userAssignee="" workflowName="consolidation" severity="LOW"/>
                </instanceLayerDefaultValues>
                <masterLayers>
                    <masterlayer name="masters">
                        <masterLayerDefaultValues>
                            <defaultValues description="Click on record edit to start fixing DQ issues." entityName="party" expression="'Edit person ' + cmo_first_name + ' ' + cmo_last_name" groupAssignee="MDM_user" name="" userAssignee="" workflowName="consolidation" severity="INTERMEDIATE"/>
                        </masterLayerDefaultValues>
                    </masterlayer>
                </masterLayers>
            </type>
            <type name="MATCHING_PROPOSAL">
                <defaultValues description="Resolve matching proposal(s) specified in this task." groupAssignee="MDM_admin" name="Resolve matching proposals" userAssignee="" workflowName="consolidation" severity="INTERMEDIATE"/>
                <proposalLayerDefaultValues>
                    <defaultValues description="Provider matching proposal" entityName="provider_proposal_k" expression="'Matching proposal ' + master_id + ' ' + related_master_id" groupAssignee="MDM_user" name="" userAssignee="" workflowName="consolidation" severity="INTERMEDIATE"/>
                </proposalLayerDefaultValues>
                <instanceLayerDefaultValues/>
                <masterLayers/>
            </type>
            <!--other task types-->
        </taskTypes>
    </taskConfig>

Required values and validation

The task configuration is validated when it is loaded. If any of the following requirements is not met, the configuration fails to load with a ConfigException error:

  • The root-level <defaultValues> element must be present and its workflowName attribute must not be empty. This guarantees that every task falls back to a default workflow even when no more specific default values apply.

  • Each <workflow> must contain exactly one <step> with isFirst="true". A workflow without a starting step, or with more than one starting step, is invalid.

  • The workflowName attribute of every <defaultValues> element, on any level, must reference a workflow defined in the <workflows> section.

  • The origin and target attributes of every <transition> must reference steps defined in the <steps> section of the same workflow.

Workflow

The <workflows> section contains the workflow configuration.

  • <workflow>: Defines the workflow.

    • name: The name of the workflow.

  • <step>: Defines workflow steps.

    • isFirst (Boolean): Specifies if the step represents the initial state. false or not specified for all the steps except the first one. Exactly one step in each workflow must have isFirst="true" (see Required values and validation).

    • name: The name of the step.

  • <transitions>: Possible transitions between steps. The <transition> attributes are:

    • name: The name of the transition.

    • origin: The name of the initial state. Only the names defined in the <steps> section can be used.

    • target: The name of the target state. Only the names defined in the <steps> section can be used.

    • groupAssignee(optional): The name of the group to which the task is assigned. It is filled if the transition from origin to target happens.

    • userAssignee(optional): The name of the user to whom the task is assigned. It is filled if the transition from origin to target happens.

  • <postActions>: Defines the actions that are executed after the transition. The <postAction> attributes are:

    • class: The name of the class that implements the post action.

    • name: The name of the post action.

    • planFileName: The path to the plan file.

Task type

The <taskTypes> section defines the default values for specific types of tasks created for specific entities on instance and master layers.

  • <type>: Defines the task type.

    • name: Name of the task type. Possible values are RECORD_CHANGE, MANUAL_MATCH, MATCHING_PROPOSAL, CREATE, GENERIC.

Default values

The <defaultValues> section specifies the default values. They can be defined on three levels.

The values defined on the highest level are used if there are no more specific default values.

The highest-level <defaultValues> element is required and its workflowName attribute must not be empty. Without it, the configuration fails to load with a ConfigException error (see Required values and validation).
<workflows>
...
</workflows>
    <defaultValues description="Specify what should be fixed within the task created" groupAssignee="MDM_user" name="Task" severity="low" userAssignee="" workflowName="consolidation"/>
<taskTypes>
...
</taskTypes>

The second level of defaultValues is used when the task type of the created task matches type name.

<taskTypes>
      <type name="RECORD_CHANGE">
            <defaultValues description="Click on record edit to fix DQ issues." groupAssignee="MDM_user" name="Resolve DQ issues" userAssignee="" workflowName="consolidation" severity="INTERMEDIATE"/>
            <instanceLayerDefaultValues>
            ...
            </instanceLayerDefaultValues>
            <masterLayers>
            ...
            </masterLayers>
        </type>
</taskTypes>

The lowest level of defaultValues is used when the type of the task and the entity name match type name and entityName. Can be used on the instance layer (<instanceLayerDefaultValues>), master layers (<masterLayerDefaultValues>), and matching proposal layers (<proposalLayerDefaultValues>, only for matching proposal task type).

An example of the default values configuration (except matching proposals tasks):

<instanceLayerDefaultValues>
                    <defaultValues description="Task description" entityName="party" expression="'Edit instance party ' + src_first_name + ' ' + src_last_name + ' ' + src_company_name" groupAssignee="MDM_user" name="" userAssignee="" workflowName="consolidation" severity="HIGH"/>
                    <defaultValues description="Task description" entityName="address" expression="'Edit instance address ' + src_street + ' ' + src_city + ' ' + src_state" groupAssignee="MDM_user" name="" userAssignee="" workflowName="consolidation" severity="LOW"/>
                </instanceLayerDefaultValues>
                <masterLayers>
                    <masterlayer name="masters">
                        <masterLayerDefaultValues>
                            <defaultValues description="Click on record edit to start fixing DQ issues." entityName="party" expression="'Edit person ' + cmo_first_name + ' ' + cmo_last_name" groupAssignee="MDM_user" name="" userAssignee="" workflowName="consolidation" severity="INTERMEDIATE"/>
                        </masterLayerDefaultValues>
                    </masterlayer>
                </masterLayers>

An example of the matching proposal default value configuration:

<proposalLayerDefaultValues>
        <defaultValues description="Provider matching proposal" entityName="provider_proposal_k" expression="'Matching proposal ' + master_id + ' ' + related_master_id" groupAssignee="MDM_user" name="" userAssignee="" workflowName="consolidation" severity="INTERMEDIATE"/>
</proposalLayerDefaultValues>
<instanceLayerDefaultValues/>
<masterLayers/>

<defaultValues> attributes are:

  • description: The description of the task.

  • entityName: The name of the entity.

  • expression: Specifies the expression that is used to form the task name (only available on the lowest layer).

  • groupAssignee: The name of the group to which the task is assigned.

  • userAssignee: The name of the user to whom the task is assigned.

  • name: The name of the task.

  • workflowName: The name of the workflow. The referenced workflow must be defined in the <workflows> section. On the highest level, this attribute is required and must not be empty.

  • severity: The level of severity of the issue. Possible values are LOW, INTERMEDIATE, HIGH.

Was this page useful?