Versioning is a very useful option when calculation mechanism in your product is changing through time. For example: when one product have two possible parameterizations, one from the past (which still may be used for calculations) and one which is currently in use or when calculations mechanism is changing . Then option Versioning comes to the rescue. If you know that some part of your parameterization will be changing in specific time-frame you should assign them to regions. Then inside Region you may create different versions of them and set them as active, in the right time, using Timeline. First version is created when region is created any other has to be made by user as copy of already existing version. That concept allows you to create as many clone versions of one region as you want and when it’s needed use them in calculations. Any time you may change perspective and use another clone version in calculations. What is important that those are clones only in the beginning , since creation every clone may be changed independently from the others. That's how 'Versions' are being created.

Tutorial: Hyperon Concepts: Versioning.

Regions #

In Hyperon may exist such instance as Region, by this we understand configuration of one product or group of products – depend on product designer decision . Examples of Regions are: OC product or group of MOTO products. Regions are linked to profile, by what we understand, that every region exist in selected profile and to it is assign. To region, as components, might be assign:

  • Chosen elements (nodes with all child nodes) from root in Domain Configuration and its attributes (Toolbar: Domain -> Domain Configuration)
  • Chosen Parameters (Toolbar: Parameterization -> Parameters)
  • Chosen Functions (Toolbar: Parameterization-> Functions)

One component may be assigned only to one region.

Example of usage

First go to Versioning -> Regions then click 'Add'. Then insert unique code and description.

MOTOR region

When fields are properly filled click 'SAVE'. Then 'Region Detail' window will show.

In here you may create other versions but more about that later on. For now just go to Main Toolbar then go to Parameterization -> Parameters. In our MOTOR region we would like to have all parameters with word ‘motor’ inside and without word ‘dict’, cause that phrase will qualify selected parameters to region DICT, which will be created later. To make that kind of search conditions, in field search, column parameter name, insert ‘motor -dict’. To approve input search directions click enter.

Next check main checkbox (on the picture in blue square) to choose all elements from the list. Then all selected set as region, using roll down menu in the right corner:

Then window will show:

Click on region from the list to which you would like to assign your parameters (we created only one region so the list is pretty short) . In following window choose version you would like to assign your region to.

After that go to Function list, Parameterization ->Functions. Select all functions available and add them to region MOTOR in the same way.

It is slightly different when domain elements are to be versioned. First, domain element Type has to have role: PRODUCT.

If you want to assign element GD (Good Driver) to region MOTOR/1 first you should make sure it's type is Versionable. In domain Configuration go to Good Driver element and check it's type:

As shown on the screen the type is : DISCOUNT. Next go to Domain Definition and find type DISCOUNT. For it set the role to: PRODUCT to make this type versionable.

When Domain Type has role PRODUCT selected (and only then) every element of the type can be assign to region.

Go back to Domain Configuration view, element GD details, select 'MORE' and 'Assign region' from here all the steps are the same as for parameters and functions.

Create region DICT:

Follow the same steps as in defining region MOTOR. Field code: ‘DICT’ and description : ‘Dictionary’ (suggested). In parameter search by name type ‘dict’ and then add all matching parameters to region. None function will be assign to that region. When all those steps were followed correctly, on the parameters list assign regions will be visible. Now in Region column you can see regions’ names to which parameters were assign. What’s important is that number after region name, like: ‘MOTOR/1’ means that those parameters are assign to first version of MOTOR region.

Region Versioning #

Every region subjects under versioning. There is a possibility to create any number of regions versions but only one of them may be active. However there is an option to perform changes to any of those versions (by publishing session) doesn’t matter which one is active at the time. Which version is active in what time period is regulated by Timeline (main Toolbar: Tools ->Timeline).

Example of usage

Lets’ assume that we need two similar but not the same Versions of MOTOR region. To create new version go to Main Toolbar ->Versioning ->Regions and from regions list click on that one in which you would like to create new version (in this example MOTOR region). As you saw there were two section in Detail information about Region: Base section and Versioning. Now we dive into Versioning part.

There are four action buttons to use, from the left:

  • Version details (eye icon),
  • Edit description (pencil icon),
  • Create new version (duplicate icon),
  • Delete (trash icon).

What is very important that created version will be based on current state of version that it is created from. So in the beginning it will be a clone version of the original, but every moment after that both versions exist separately and may be edit independently. Cloning is only possible when there is no open session. When action ‘Clone version' was selected, window to input version number and description opens. Remember that version numbers of one region cannot repeat. After accepting that your new version is ready.

Bring your attention to Active column. Here is shown which version is currently in use. Since we didn’t get to Timeline part yet first version is active – that is a default setting.

Timeline  #

Section Timeline is a place, where you can specify when which version will be used. For example if you have two versions of calculations (parameter) – in Health Insurance product, one standard and one which is promotion for vacation time. Application should calculate insurance costs by standard template (Version 1) every month beside June, July and August 2018 when Version 2 applies. In timeline you may declare that and your calculation will be made accordingly. Here will have to declare in what time period (by date) which version will be active. Remember that only one version may be active at the time.

Example of usage

Well if you want (for example) Version 2 to be active from 06/2018 to 08/2018 and every other time apply logic from Version 1 the only way is to set a timeline. Go to main toolbar and choose Versioning -> Timeline. As you can see below timeline is divided in two parts left – which includes list of available regions (doesn’t matter how many versions which region has all should be there) and right sections - where established timeline will show.

From left side select region from which version you want to add to Timeline. In our example: MOTOR. When clicked will light up on green. Then click Add button in top right corner. Window will show:

Click on one from available versions and then on calendar icon below to set date from which version will be active – what means it will be used in calculation. As you see there is only start date no end date – that is set automatically if any version will be use after that one, end date will be set before start of next version.

Right now active is Version 1 – because it is default setting. On June 1 2018 Version 2 will be activated and will apply till September 1st 2018 when Version 1 will be in use for calculation until other version will be scheduled.

My view  #

Path to My view: main Toolbar ->Versioning ->My view. It allows you to view any version even those not active in the system at the time. My view is perspective from which you look at selected element. By that we understand from which Version perspective are you looking at the situation. If your view is set on Version 1 you will be doing all calculation by settings from Version 1.

Example of usage

As previously said My view sets your perspective. Always version 1 is set as default and active until timeline defines otherwise. Which version is set as My view that one is currently submitted under edition. If you want to change Version go to Main toolbar ->Versioning ->My view

In here can see what is default version – system version and visible version – current view in every region. System version is set by timeline and that is in current use in calculations. To change visible version click on region (in which selected version is).

In this window will see all available versions and which one is active (in use). Click on Version which you want to edit. Automatically system will set it as your view, now you may edit it but that version will not be active until it time comes (accordingly to timeline). In this example change is from MOTOR region Version 1 to MOTOR region Version 2. As shown now visible is version 2 but that didn’t change that system still makes all calculation by Version 1 calculation logic (System Version column).

What’s more now button Set system versions is active . That operation sets your view at the same version as system version in every region. If you wish to double check which version is active in MOTOR region go to Versioning ->Regions ->MOTOR here you can also find that information. And as you see below Version 2 is not active – what means it is not currently used in calculations. Nevertheless it is set as your view so any changes you make are set only for version 2. Version 1 is now independent.

Changes may be made only to non-active versions.