Documentation

No results
    gitHub

    Choosing a naming strategy

    In general, if a Polyglot model has no technical names, and you have Naming Conventions enabled, special attention is required (on the front of technical names) when deriving a target model from a Polyglot model:

     

    Naming Conventions derived technical names

     

     

     

    One particular scenario requires special attention: when technical names are defined in the Polyglot source model, and at the same time naming conventions are enabled in the target model.

     

    This situation creates a potential conflict, as two naming strategies are now competing for control over the technical name in the target model:

    • technical names coming from the source (parent) Polyglot model, and
    • technical names generated from the business name, according to the target’s active naming conventions

     

    Hackolade Studio prompts the user to choose which source should be considered authoritative.

     

    Important note:  while in many cases, the derive operation is into a physical technology target, it is also possible to derive into another Polyglot model.  The generic term "derived" used in the examples below can be either a physical model or another polyglot model.  In the latter case, of course the Naming Conventions are the same for both the parent Polyglot model and the derived Polyglot model.  The response below remain important however, as it determines the name coupling in the derived model.

     

    State your choice during the derive operation

    At the moment of derivation, if naming conventions are enabled in the target model, the user must choose between two options.

     

    Polyglot naming conventions choice dialog

     

    Option 1: Apply the naming conventions of the derived target

    When Naming Conventions have been enabled in Tools > Options for the target of the model.

     

    In this option, the technical names in the derived model are generated based on the source Polyglot business names, then derived using the active naming convention.  Meaning that technical names, if any, in the parent Polyglot model are ignored during derivation.

     

    This is suitable if your organization prefers to centralize naming rules per target technology, and doesn’t want to use the Polyglot technical names, if any.  

     

    You may have technical names in a parent Polyglot model, whether uncoupled from the business names... 

    Polyglot technical names uncoupled

     

     

    or coupled with naming conventions rules.  

     

    Polyglot technical names coupled

     

    In either case, the target technical names are coupled to the business name derived from Polyglot.

     

    Option 2: Keep the Polyglot parent's technical names

    When Naming Conventions have been enabled in Tools > Options for the target of the model.  But with this choice, you prefer to keep the technical names defined in the Polyglot and have them derived into the target.  Meaning that the naming conventions of the target are not applied for these objects.

     

    This option is appropriate when technical names have been carefully defined in Polyglot and should be reused across multiple target technologies, whether uncoupled from the business names.

     

    Keep Polyglot technical names uncoupled

     

     

    or coupled with naming conventions rules.  

     

    Keep Polyglot technical names coupled

    In either case, the target technical names are derived from the Polyglot technical names.

     

    Important considerations

    This choice is applied to all modeling objects that are derived from the parent Polyglot model used in this derive operation.  A different choice can be made when deriving from another Polyglot model.  Additionally, the same Polyglot model can be derived into distinct derived models, each with its own choice.

     

    This choice is currently irreversible: to change it, you would need to derive again from into a new target model.

     

    Why this question when no technical names are defined in the Polyglot?

    The dialog appears even if the Polyglot model currently has no technical names, for an important reason: Hackolade Studio must anticipate the possibility that technical names may be added to the Polyglot model at a later time.

     

    Since each derivation establishes a fixed relationship between a Polyglot model and its derived model(s), it is crucial to decide upfront which source should govern technical names:

    • either the Polyglot model, if technical names will be maintained centrally,
    • or the target model, via naming conventions.

     

    This choice is made once per derivation, and will apply to all current and future derived objects for that Polyglot-to-target pair -- ensuring consistency over time, even if technical names are introduced later.