Merger PrinciplesWhen upgrading your server installation with a new version, changes to original mask files must be transferred to the customized ones. The batch tool processes these files for a mask name:
File content is automatically sorted when loaded; but a node’s weight (the line offset versus its parent node) is kept to sort back the resulting tree according to the weight of added nodes in the sub trees:
Merging nodes from different trees (NEW or CUSTO) and recombining them according to their weight in the different trees, may lead to unexpected orders. For more information, see Node Reordering After Merging. The tool builds a table listing the actions and node origins (see the information below the table for descriptions of the column values):
If the action for a node is unclear, alternate actions can be performed as defined in a rule file. The actions for the Recommendation and Alternate columns can specify any of these:
The node origin for the Recommendation and Alternate columns can specify any of these:
The Next iteration columns define complementary actions that have to be performed:
Iteration ExampleThis example uses the mask files shown here, with the current iteration indicated by the red box: ![]() Based on the table above, the current iteration situation is "Node added in Cus":
The action to be taken is "Add Cus". In this case, it is not necessary to merge sub-levels before performing the "Add Cus" action (deep first = no). The E2 node (and its sub-tree) is added to the current result. The recommended action is performed, no rule file is taken into consideration. The current node's cursor in the CUS tree moves to the next sibling, which results in the following case at the beginning of the next iteration. SampleSuppose we have the following initial file content:
The values for the attribute indicate the mandatory value (Y or N) and the default value (in this case, Ref or Cus) These steps describe the iterations taken for the above mask files:
Mask Merger SyntaxThe VPLMPosMaskMerger server-side batch (Windows) or shell (UNIX) command is located in:
The mask merger merges all mask files listed in the previous customization directory of each specified mask name (<previous_custo_dir>/vplm/mask/<mask_name>). Each merged file is generated in a subdirectory of the output directory, based on the mask name (<output_dir>/vplm/mask/<mask_name>). If a subdirectory does not exist, the tool creates it. The merger does not use the PLM Dictionary to make additional checks (for example, checking if an entity really exists). It only requires mask files to have a correct mask file syntax. After running the mask merger, you need to recompile the mask files. For more information, see VPLMPosMaskCompiler. VPLMPosMaskMerger [-h] -m <mask_name> [<mask_name> ...] -p <previous_DEFAULT_dir> <current_DEFAULT_dir> [<previous_custo_dir>] [-d <output_dir>]
Node Reordering After MergingSome nodes have to be resorted according to their original appearance order. This is the case for authorized values (VALUE) and attributes use in function (FATTR). The resulting nodes may come from different trees (NEW or CUSTO), and their weight in their original tree from may not coincide in the resulting tree. Recombining them according to this weight (plus the alphabetical order if weights are the same) may lead to unexpected orders, although this is a normal behavior. Here is a small example: The order (One, Many, Two) may seem inappropriate (a logical order would have been : One - Two - Many), however:
|