Authors: Savi Sharma and Caroline Debattista
The recent MDM service Pack (SP4) brings a useful export and import schema functionality that enables intuitive migration of selected schema objects between repositories. Schema object selection is possible at the table as well as at the field levels.
Key Features of Transport Utility:
- The source repository is exported as an xml file that can be saved to a hard drive.
- The import functionality takes the xml file as input, and provides a detailed/exhaustive schema comparison of the source xml and target repository.
- The Add, Delete, and Modify actions at the table and field levels are identified with different color-coding (Green for adds, Pink for Delete, and Red for Modify) on the compare screens.
- The schema compare utility permits the user to accept or reject changes at table and field levels.
- For the schema objects marked for adds and deletes, acceptance at table level automatically accepts the fields.
- For the Table Modify action, the user is forced to accept or reject changes for individual fields. Thus, accepting a table level modify does not automatically accept the fields of the table that are also involved in a modify action. This subtlety is appreciated as there are plenty of business cases that demand more rigor in a modify action of a table than in a total add or delete.
For a modify action, the schema compare utility is enabled to show the console settings that are different between the source and target. Most console settings are part of the compare utility except unique fields, secondary display fields, and calculated field expressions.
While a schema can be exported out of a live repository, you can import only into an unloaded repository. This is in line with the fact that structural changes can be applied only to a repository in an unloaded status.
Two important business needs that are easily addressed with this functionality are:
- Migration of schema objects along the project life cycle path (Development and Quality Assurance) into a production MDM system in a data harmonization scenario.
- A schema compare and selective merge utility between production support enhancements and mainline project path.
The ability to turn the migration on/off at field level is a key contribution of the transport utility. Objects built, as part of proof of concept or those that are in excess of business requirements need not be deleted before a project is migrated to production.
Content of Transport Utility and Its Underlying Rationale:
In this introduction of transport functionality, MDM has included most of the repository objects that are configured/created using the MDM console. These objects include
- Table types of look-up, main, qualified, and taxonomy
- Fields with their specific console settings such as key mapping, field type, length, width, display fields, etc.
- Calculated fields with their expression.
- Repository language settings, and .
- Repository meta data (except for repository description). .
Leaving repository description out of the transport utility is a good choice- you do not want a production repository description overridden with a QA description. The Unique fields (a critical setting) migration is expected to be part of this functionality in a patch in the near future.
The list of objects that are transportable suggests a clear pattern- schema objects that are regarded as the structure of the repository, as opposed to the content, are included in the first release of transport utility. MDM regards all objects configured in modules such as data Manager, Syndicator, and Import Manager as repository content. Hence, taxonomical attributes, import maps, syndication maps, validation expressions, and workflow do not appear as transportable now.
Of the schema objects MDM regards as repository content, transport utility on validation expressions, maps, and taxonomy would be of great use since errors in manual transport, especially in case of expressions, is high. The transport utility, with the inbuilt schema compare screens that show differences between the source and target, increases efficiency several fold. Other items that would be useful additions to the transport utility include security (roles and users), ports, client systems, and work flow.
- Once a long list of objects is transported from a source to target, the schema compare utility makes checking for accuracy a snap. The compare should show either no differences or a short list of differences that reflect the users conscious choices.
- In the schema compare screens, it is helpful to sort on type of operation or Merge column to see only those items that have action to be taken.
- Since the schema import makes structural changes to the repository, a check-repair operation after the schema import helps fix the non-fatal errors as well as warnings. If the import involved field deletes, repair and analyze operations are almost mandatory.