With help of module Domain user can configure products. In Hyperon system organizing product data is based on tree structure, in which are typical objects for example: ‘Product’, ‘Insured object’ , ‘Cover’, etc. For more information go to the tutorial: Hyperon Concepts > Domain.
After pointing mouse cursor on button Domain (can find it on Toolbar), submenu will appear where you may choose:
Tutorial: Using Domain.
Before creating the product (Domain Configuration) it’s required to set Domain Definition, what means declaring what kind of object can be in product structure. After choosing option Domain Definition from, mentioned in the last chapter, submenu will see:
This Screen is divided in three sections:
Next to the sections names there is a symbol of triangle showing if window is fully shown (pointing down -user can see all, pointing right – only section toolbar). To unfold click on empty space in Domain Definition toolbar or on the arrow.
Section allows creating new ‘Type of product’. Give it ‘Code’, ‘Name’, attribute ‘Business role’ and ascription to ‘Parents’. ‘Business roles’ are predefined in Hyperon application and allows Hyperon to recognize what role has which type of product. List of ‘Business role’ is constant for every version of Hyperon and cannot be change by user.
Available Business roles:
System grants sorting files in columns : ‘Code’, ‘Type name’, ‘Business role’. To make that happen click on arrow symbol by the column name. Arrow: pointing up means from the lowest value to the highest (ascending), pointing down is sorting from the highest to the lowest (descending).
In section Domain Definition possible are listed operations:
Creates another line to define selected elements for new product.
Every ‘Domain Type’ needs to be defined by its individual ‘Code’ . Field ‘Name’ is mandatory. Names of different domain types may repeat however codes can’t. To create code or name one can use letters, numbers and symbols. If it’s not filled correctly following error will show up:
Field ‘Business role’ is optional. To impute ‘Business role’ write full or part of the name in field (3rd column) or click on arrow symbol, then application will show you which Business roles are available. Other cells will fill in automatically.
For every Domain type parent should be assign. Button ‘Set as main’ makes chosen object main parent (root), which mean that object will be root in tree structure. Object may be set as main only when domain is being created, as long as Domain Configuration has not been filled or has been cleared. Every other object will be seen as child relative to it. More about tree structure in subchapter Domain Configuration . To set chosen object as main root element, click on selected domain type then click on 'Set as main' button. Now that object is main root in structure> You can recognize root because it is yellow lined.
Recommended is to export empty file from system and treat it like template to fill with data. Perfectly constructed file have inside two sheets: ‘Type’, ‘Hierarchy’. In ‘Type’ sheet should be defined objects: ‘Code’, ‘Type’ and ‘Business role’. Clicking button ‘Import file’ will make window appear, there choose path to import file
'Export to XML' generates file and shows window:
To save file on your computer click ‘Download file’. File Format XML opens for example with use of Internet Explorer. It shows construction of Domain Definition. For example in Motor Insurance Demo Application:
Components section gives you an option to create child-like objects. At this level tree structure is built. Every sub-object has a ‘Parent’ which is higher in tree structure. On Components sections Toolbar are two options to use:
To create sub-objects choose object (Parent) from Domain Definition and click 'Add'.
After clicking on 'Add' button additional line will appear and will be colored green, that area can be now modify.
There are five columns to be filled:
Sub-object code has to be unique, name - not necessarily. If sub-object is a collection tick the checkbox ‘multiple’ if not, live it empty. If you want it shown in tree, as collection of elements, click on ‘in tree’ checkbox. Next is field ‘type code’, where are all objects from Domain Definition field to choose from. ‘Type Code’ allows user to declare what is the built of sub-element. For example in DEMO domain type MOTOR have component PLANS which Code type is RATING_PLAN, what means that every object created in Domain Configuration in PLANS component section will have the built defined for RATING_PLAN object type – will have sub-elements: OPTIONS, COVERAGES and DISCOUNTS.
Option 'Reorder' is available only when few sub-objects are created.
When button is clicked possibility to change order of sub-objects activates (function drag&drop). To reorder, place cursor on sub-object you would like to move higher or lower, click left mouse button and hold then move it to desired position.
When order is set: to save changes click on ‘Save order’, if you’re not happy with changes you made click ‘Cancel’ to go back to previous state.
Section attributes makes possible to connect every Domain Type with additional elements so-called ‘Attributes’. They may be used by application attached to Hyperon. Provided options allows you to add new attributes or reorder existing ones. Making attributes demands from user determination of:
If default value will not be consistent with selected value type suitable information will be shown and wrongly field cell will be colored red.
In section Business attributes you may declare group in which selected attribute will be seen. Basically it’s useful to make your attributes easier to read, modify and assign. May segregate attributes by categories like ‘configuration’ or ‘main’ (groups name), then while viewing it in tree structure you will see them divided by groups.
In column ‘Group’ you may input any (new) name of group you want and it will be available on the list for every other attribute in this section. Then when you will view detail information about product, group segregation is introduced:
As always additional green line is showed and few fields need to be filled:
Others fill automatically.
Helpful icons :
Every attribute may be submitted to changes by edition.
On the left side of the page is closable window with tree structure of our product.
Structure icon returns you to the main root:
Eye icon allows you to decide what should be presented in the tree.
Structure can be exported
or imported to XML file
Tutorial: Domain configuration.
Tree structure allows us to arrange our products by categories and create sub-folders with different options in range of one product. Depending on what is put into application it allows you to create any kind of structure you need. For example for motor insurance:
In the example: OPTIONS, COVERAGES and DISCOUNTS were established on the level of Domain Definition as ‘Components’. They are created automatically for every new PLAN. Then separately user can create sub-elements (like BRONZE, GOLD, SILVER) by going into FULL, OPTIONS (click twice on tree structure) and then Add inside OPTIONS.
Allows you to find any needed sub-elements. Shows parent type folder in tree structure to the searched one, gives general localization.
Adding new product is available from the level of main parent. Then new (green) line will show. As always ‘Code’ and ‘Name’ are needed. After creating ‘Products’ automatically will create ‘Components’ declared in Domain Definition section. Which will be seen as sub-folders. This secondary folders can contain any number of sub-folders.
Other way to create secondary folders is to click 'Add' in PLANS toolbar – then new folder will be created by your guidelines. Other possibility is to click 'Add copy' and create exact copy of the existing folder and then input some smaller changes (useful if new element has similar properties to already existing one). You may also add new elements using option 'Add from file', where you might load txt file with codes and names of new elements in format element_code ; element_name .
To create more third row folders click on the secondary folder (in tree structure) which should be parent and then icon 'Add' in the right corner. As always it’s obligatory to give it unique 'Code' and 'Name'. Double click on third step folder opens 'Detail object information'.
There are new operations available on the level of OPTIONS, COVERAGES and DISCOUNTS (second row elements): 'Add', 'Add reference', 'Add copy' and 'Add from file'. Operation 'Add copy' creates the same object as selected one only by other ‘Code’ and ‘Name’ (both has to be input by user). Add reference have a little different meaning. Action 'Add from file' allows to add new elements (more than one at the time) by loading txt file with codes and names those new elements or just by typing those in dedicated section in appearing popup. Clicking at selected element will direct you to detail view of that element.
On the top there are some basic information about domain element like: Code, Identifier etc. Detail object information is divided into three separate sections: Attributes, Local Attributes and Components.
Add reference allows to create connection between two branches in tree structure. That link gives an information to application where is (in first branch) the element that should be used in second branch. For example if in FULL Rating Plan for summer 2016 in DISCOUNTS are sub-elements DE and GD and we need the same objects in LIAB branch DISCOUNTS, then operation Add reference is useful. When a reference is created then application will see in LIAB/DISCOUNTS objects DE and GD without creating physical copy. Application will calculate accordingly to the logic implemented in FULL/DISCOUNTS DE and GD definitions. That way when in FULL/DISCOUNTS DE or GD any changes are made they will apply in LIAB/DISCOUNTS calculations.
To Add such reference: go to Domain -> Domain Configuration LIAB DISCOUNT (in tree structure, shown in Domain Configuration on the left side of the screen). Click on 'Add Reference' button and choose object you would like to make a reference to (ex. GD and DE).
Available options are:
Function "Add" allows to create attribute for an object. User should give it unique 'Code', 'Name' then select 'Type' and 'Value'. This attribute will be seen only for that one object.'
If 'Component' section was defined in Domain definition and it should include sub-components, here’s the place to mention them.
Context (also known as Sandbox) is an abstraction data model, which includes definitions of all available attributes (properties). Every parameter designed in Hyperon may use attributes defined in Context. Thanks to that Hyperon is isolated from system. Hyperon has also possibility to control attributes which have influence on specific parameter.
Context is a contract between business user and programmer, it defines what object types will be placed in context and under what keys. It can return characteristic value for specific properties.
For example: Hyperon uses concepts like Drivers’ Age and Drivers’ city. Those data are defined in Context as driver.age and driver.address.city . ROOT is the beginning, like a ‘superparent’. User starts building context model always from ROOT. Type ROOT has star next to it on the list to make it more visible.
Context type model- how to set a path:
driver.age – it’s a two steps path
In ROOT (list Defined Types) find the beginning of your path:
That means your path begins on : 'driver.' Since we’re looking for drivers’ age.
From Defined types chose Driver, Then in 'Defined attributes' user will see options for driver:
Then under driver, is attribute age, which is the end of the path because there is no age on 'Defined types' list (that mean age has no attributes). Then full path: 'driver.age'.
driver.address.city – three step path
Start your path in ROOT (list Defined Types) and find the beginning of your path, first matching attribute:
That means your path begins on : 'driver.'
From 'Defined types' chose Driver, Then in 'Defined attributes' you will see attributes for driver:
Then path will be 'driver.address.' since city is part of drivers’ address.
From 'Defined types' chose address, Then in 'Defined attributes' will see attributes for address:
In the end path will be: 'driver.address.city'
To see main view Sandbox (Context) go to main Toolbar, Domain and Context. Then will see Sandbox model:
Screen is divided in two parts
There are few operations for Context types definition:
For section 'Defined attributes' is only one operation : add new attribute.
From Sandbox tool choose:
In 'Defined types' section while creating new type you need to set Name, GMO table name (optional) and Description. Checkbox 'Context root' is only available when main ROOT is not defined- it sets ROOT.
To input changes after Accepting New Type click on pencil icon on the right side from type name on the Description Type list. Then the same window will open again and you may introduce any changes needed.
Another way to Add new type is to import XLSx file but more about that in next chapter.
As mentioned there are three options in this area. First two are about XLSx file (table) for all attributes. Lets’ focus on Export, for beginning. That operation creates file, in form of table, with list of all attributes characteristic in four columns: Name, Description, Contextual, GMO table name. Those are the same information as was typed in ‘New type’ window.
To Add attributes for type: click in Define Type list on the name of type, then in section Defined Attributes, those type attributes will occur. Then choose operation:
Then ability to change all properties in selected attribute line will be available to you again.
Change icon allows to input advanced attribute settings like:
Where value provider type must be selected from the list. To save changes click 'Accept'.