Models Management |
Previous
|
|
Next
|
Working with Applications |
|
Deployment |
Models Management
Semarchy supports out of the box metadata versioning.
When working with a model in the Semarchy Workbench, the developer works on a
Model Edition, that is a
version of the model.
Model management includes all the operations required to manage the versions of the models.
A
Model Edition is at a given point of time either
Open or
Closed for editing.
Branching allows you to maintain two or more parallel
Branches (lines) of model editions.
Model Editions and Branches
- An
Open Model Edition can be modified, and is considered as
being designed. When a milestone is reached and the design is considered complete, the model can be closed. When a model edition is closed, a new model edition is created and opened. This new model edition contains the same content as the closed edition.
- A
Closed Model Edition can no longer be modified and cannot be reopened. You can only edit an edition of this model open on the same branch or on a different branch.
- When a model from a previously closed edition needs to be reopened for edition (for example for maintenance purposes), a new branch based on this old edition can be created and a first edition on this branch is opened. This edition contains the same content as the closed edition it originates from.
Version Numbers
A model has a version number that is automatically generated with the Branch ID number and Model Edition number. The branch and model numbers start at zero and are automatically incremented as you create new branches or model editions.
A model edition appears in the following format:
<Model Name> [<branch>.<edition>]
. For example, the first model edition in the first branch has the version
[0.0]
. The fourth edition of the CustomerAndFinancialMDM model in the second branch is named
CustomerAndFinancialMDM [1.3].
A Chronological Example
The following example shows the chronological evolution of a model through editions and branching:
- January: a new
CustomerHub model is created with the first branch and the first edition. This is
CustomerHub [0.0].
- March : The design of this model is complete. The
CustomerHub [0.0] edition is closed and deployed. The new model edition automatically opened is
CustomerHub [0.1].
- April: Minor fixes are done on
CustomerHub [0.1]. To deploy these to production, the model edition
CustomerHub [0.1] is closed, deployed to production and a new edition
CustomerHub [0.2] is created and is left open untouched for maintenance.
- May: A new project to extend the original hub starts. In order to develop the new project and maintain the hub deployed in production, a new branch with a first edition in this branch are created, based on
CustomerHub [0.1] (closed). Two models are now opened:
CustomerHub [0.2] which will be used for maintenance, and
CustomerHub [1.0] into which new developments are done.
- June: Maintenance fixes need to take place on the hub deployed in production.
CustomerHub [0.2] is modified, closed and sent to production. A new edition is created:
Customer [0.3].
- August: Then new project completes.
CustomerHub [1.0] is now ready for release and is closed before shipping. A new edition
CustomerHub [1.1] is created and opened.
The following schema illustrates the timeline for the edition and branches. Note that the changes is the two branches are totally decoupled. Stars indicate changes done in the model editions:
Month : January March April May June August
Branch 0 : [0.0] -***-> [0.1] -*-> [0.2] ----------*-> [0.3] ----------->
Branch 1 : +-branching-> [1.0] -**-**-****-> [1.1] --->
At that stage, two editions on two different branches remain and are open:
CustomerHub [1.1] and
CustomerHub [0.3].
Working with Model Editions and Branches
Model edition and branching can be managed from the
Model Administration perspective.
To access the data administration perspective:
- Select the
Overview perspective the toolbar.
- In the
Overview, click the
Manage Model Editions... link in the
Administration section. The
Model Administration perspective opens.
Creating a New Model
Creating a new model creates the model with the first model branch and model edition.
To create a new model:
- In the menu, select
File > New > New Model.... The
Create New Model wizard opens.
- In the
Create New Model wizard, check the
Auto Fill option and then enter the following values:
-
Name: Internal name of the object.
-
Label: User-friendly label for this object. Note that as the
Auto Fill box is checked, the
Label is automatically filled in. Modifying this label is optional.
- In the
Description field, optionally enter a description for the Model.
- Click
Finish to close the wizard. The new model is created, with a root branch and a first edition.
-
Model Edition perspective opens on the new model.
Closing and Creating a New Model Edition
This operation closes the latest open model edition in a branch and opens a new one. The closed model edition is frozen and can no longer be edited, but can be deployed to production environments.
Warning: It is only possible to close an open edition. This edition is the latest one from a branch.
Warning: It is only possible to close an edition that is valid.
To close and create a new edition:
- In the
Model Editions view of the
Data Administration Perspective, expand the model and the model branch containing the edition that you want to close.
- Right-click the latest model edition of the branch (indicated as opened) and select
Close and Create New Edition.
- Click
OK to confirm closing the model edition.
- The
Enter a comment for this new model edition dialog, enter a comment for the new model edition. This comment should explain why this new edition was created.
- Click
OK. The model is validated, then a new model edition is created and appears in the
Model Editions view.
Important: Be cautious when closing a model edition. Closing an edition cannot be undone, and a closed edition cannot be reopened.
Branching a Model Edition
Branching a model edition allows restarting modifying a closed edition of a model. Branching creates a new branch based on a given edition, and opens a first edition of this branch.
Warning: It is only possible to branch from
closed model editions.
Info: When creating a model, a first branch named
<model_name>_root
is created with the first model edition.
To create a new branch:
- In the
Model Editions view of the
Data Administration Perspective, expand the model and the model branch containing the edition from which you want to branch.
- Right-click closed the edition from which you want to branch and select
Create Model Branch From this Edition. The
Create New Model Branch wizard opens.
- In the
Create New Model Branch wizard, check the
Auto Fill option and then enter the following values:
-
Name: Internal name of the object.
-
Label: User-friendly label for this object. Note that as the
Auto Fill box is checked, the
Label is automatically filled in. Modifying this label is optional.
- In the
Description field, optionally enter a description for the Model Branch.
- Click
Finish to close the wizard.
- In the
Model Branch Created dialog, click
Yes to open the first edition of this new branch.
- The newly created edition opens.