Introduction
Higson as a Business Rules Management System is a system that helps organizations to manage, execute, and optimize their business rules from a centralized platform.
It is designed to easily handle large decision tables. Higson stands out for its extremely high performance and a designed matching algorithm to search large decision tables (1M rows and more) in a few milliseconds.
What Higson offers?:
Higson offers a scripting language that allows users to write short functions that expand the capabilities of decision tables. Both software developers and operational staff can modify such functions or decision tables without touching the application’s code. The changes are immediately reflected in any application that uses the Higson engine.
Key features:
- Higson Studio - Web UI that lets users to manage easily their business rules
- Higson Runtime - engine embeddable as a lightweight jar to your business app
- High performance – all rules are stored in in-memory caches so higson provide immediately access and possibility to invoke them
- Time Versioning - create multiple versions of the business logic and schedule them in a timeline
- Domain Designer - design any domain you want to configure with business logic
- Decision tables and Parameters - tabular representations for specifying which decisions are made using pre-defined conditions
- Functions – help define more complex logic in Groovy language
Additional features:
- Context - rules use the context to reference actual business data needed to evaluate a rule
- Private session - there is no limit to the number of users working simultaneously; changes are not visible to other users before publishing
- Dev Mode - special mode to speed up the initial phase of the development; each change is immediately visible to the outside world.
- Built-in Profiles - monitor the usage of decision tables and DSL scripts or functions
- Import and Export from/to Excel - import and export configuration and tets cases from/to Excel.
- Multiple Databases support - Higson uses databases for storing rule configurations; supported databases: Oracle, MS SQL Server, PostgreSQL, MySQL
- Test features (tester, batch tester) - before publishing changes, user can tests whether the rules work as desired and check the impact on other rules by using a mass tester to perform regression tests
Who and how will use Higson?
There are 3 groups of users, that will use Higson:
- End User - application business end-user, which may modify values of previously configured domain.
- Developer - Developer codes your business application with higson support. Needs to prepare appropriate domain model at your app. Perform initial configuration which business user prepared firstly. Developer may mix higson features: domain, decision tables, functions to reflect business domain configuration.
- Business User – main designer of your domain. Initially Business User input final parameters values. Experienced Business User can perform highly sophisticated parameter redesigns without the necessity of application code change.
Here are short descriptions of components in the diagram:
- Higson Studio - the complex web-based user interface for setting up parametrization. The tool includes parameters and functions repository, domain definition and configuration, testing, and export-import capabilities.
- Business Application - Java application that has its business logic, parametrization externalized to Higson. The application is e.g. sales portal, product management system, policy life system. The parametrization is accessed via Higson Runtime.
- Higson Runtime – as an embedded jar library provides to your Business Application robust java API for parameter/function/domain access. The library is responsible for retrieving data from Database schema and caching it as an in-memory index within the Business Application. At fixed intervals the library checks for changes alterations and updates itself asynchronously. That approach significantly expedites parametrization calls.
- Database - storage for Higson externalized parametrization repository. Data is altered via Higson Studio. Higson Runtime Library accesses the schema in fully read-only mode. Higson supports the most popular SQL Databases.
How Higson can support organizations?
Insurance Industry
Higson helps insurers to start leveraging and embracing data in managing products and offering highly personalized solutions to customers, in real-time. Business and non-IT users can make instant changes and market new products in a matter of minutes. Higson has proved its usage in:
- insurance underwriting
- tariff management
- insurance claims management, etc.
Banking & Finance
Banks also use rules engines to develop new financial products while maintaining pricing accuracy and compliance. As a result, new products enter the market in a matter of days instead of weeks or months. Higson can empower financial institutions to streamline important processes such as:
- product eligibility
- credit scoring
- customer self-service, etc.
Telcom & Media
Telecoms have thousands of products comprising pricing, customer segments, distribution channels, packages, promotions, and subscriptions. Managing such complex portfolios can quickly become difficult and inefficient as new products and variations are introduced. Higson is a powerful product catalog that empowers non-technical business users to build, update, and manage all of their complex products with a single user-friendly interface. As a result, Higson drastically shortens time-to-market, cuts down on expenses, and eliminates potentially costly mistakes.
Industries, such as:
- Retail
- Airlines
- Travels, and even more as a dictionary module.
The numbering of the software version is carried out using numerical designations: “x.y.z”. The numbers “x.y” indicate the version number of the software in Major and Minor notation (e.g. 1.21, 2.1).
The number “z” indicates a Patch version that does not affect the functional scope of the released version, and is intended for technical improvements or removal of noticed bugs.
Software versions marked as LTS (Long-Term-Support) are maintained for at least 18 months from release.
Technical support includes maintenance of LTS versions only.
Current list of LTS versions: 2.2, 2.3, 4.0
You can download the newest version from the Changelog.
Try it out!
The demo project includes both:
- demo application
- Higson Studio
The demo application is used to collect input data from the end user and show output data from Higson Studio, where all algorithms and business logic is kept. Higson is designed to allow real-time changes in configuration, impacting results returned by the demo app. Higson Studio included in this set has no functional limitation compared to the full version.
DEMO
Login credentials:
Login: admin
Password: admin
All documentation about Studio REST API can be found here
Instruction
Testing modules allows to test parts or the whole algorithm design in Higson Studio. Using batch tester gives the ability to perform test for series of data, not just a singular set. Create and save mass tests to control how changes it the algorithm influence the results. Each batch test is created from unit test (design in singular tester). To learn more about the Unit tests read the Tester chapter.
To go to batch tester, select Tools/Batch Tester in Main Toolbar.
You will see all saved batch tests
Each batch test is listed in the center of the screen, every single one is described by four information’s:
No. | Column name | Description |
---|---|---|
1. | Test Name | Batch test name. Each batch test should have unique name. |
2. | User | Login of the user who created the batch test. |
3. | Last Modified | Date of the last modification of the batch test. |
4. | Actions | List of quick access actions. Currently only Remove action (bin icon) is available here.Remove action deletes desired batch test. |
Additionally you can use available actions:
No. | Action | Description |
---|---|---|
1. | + Add test package | Opens a batch test creator. |
2. | Upload test package | Allows to upload batch test from XLSx file |
3. | Hide/Show filters | Hides or reveals Filters bar accordingly. If Filter bar: - is visible, then action Hide filters is available. - is hidden, then action Show filters is available. |
Use filters to search for preferred batch test:
No. | Filter name | Description |
---|---|---|
1. | Search text field | Filter by any string provided by user. |
2. | Date range | Filter by last change date in format YYYY/MM/DD-YYYY/MM/DD . |
3. | Modified by | Filter by user who last modified the batch test. |
Batch tester creator
To create new batch test unit test must already exist. You can create unit test using the Tester. When this condition is met you can start creating batch tests based on existing unit tests.
The Batch Test creator:
For each unit test, which creates batch test, six information is given:
No. | Column name | Description |
---|---|---|
1. | Test Name | Full test name. Test name is loaded from selected unit test. Test name can be changed (or added) through import of the XLSx file. |
2. | Status | Test case status provided by comparison of the evaluated value with expected value. |
3. | Failures | Number of failures within unit test case. Where evaluated value differs from expected value. |
4. | Errors | Number of errors which occurred during the unit test. |
5. | Time (ms) | Time taken to perform the unit test. |
6. | Actions | List of quick access actions. Currently only Remove action (bin icon) is available here. Remove action deletes desired unit test. |
By those the list of unit test can be sorted if needed.
No. | Action | Description |
---|---|---|
1. | Checkboxes | Select the top checkbox to select all unit tests in the view, or select individual checkboxes to select unit tests |
2. | + Add test | Opens a batch test creator. |
3. | Upload package | Allows to upload batch test from XLSx file |
4. | Download package | Allows to download batch test from XLSx file |
5. | Remove selected tests | Deletes all unit test with marked checkboxes. Available only if at least: one unit test was added, and one checkbox is selected |
6. | Save package | Saves batch test for further use. |
7. | Run test | Runs batch test, performs all unit test cases added to viewed batch test. Every batch test can be run (even not saved) |
Batch tester - creating a batch test
To create new batch test, follow these steps:
-
Go to Main Toolbar
a. Select Tools
b. in Tools select Batch Tester
-
Click “Add test package”
-
Your first action should be filling the Name for the Batch Test. Name can contain only characters from collection a-z; A-Z; 0-9; “-”; “_”.
-
Next click +Add test
a. Select unit test you wish to base the batch test on
b. If test loaded correctly to batch tester it will show on the list of the unit tests
-
Click on Run test to get the results
-
Now, when the template has been provided you can Download the batch test to your computer as XLSx file. Click on Download package
-
Open the XLSx file
a. The template should look similar to this
b. add data series according to your needs
c. save the edited file
-
Upload the batch test:
a. Click on Upload package
b. Load the updated file from your computer
c. Click Upload
-
When the file is loaded correctly and you will click Run test again the result of all loaded test cases should show
-
Lastly, to be able to get back to created batch test case you must save it by clicking : Save package:
a. add the name for the batch test, if you have not added it yet. For Batch test name allowed characters are a-z, A-Z and symbols: -_
b. click on Save package
Batch tester - Upload a batch test
You can upload test package in two ways. First from the Batch Tester Panel:
-
Click on Upload test package:
-
Load the file from your computer
-
Click Upload button to accept the selected file for upload
-
The uploaded batch test should show on the list
The other way is to create new batch test:
-
In the Batch Tester Panel click on Add test package (in actions panel)
-
On batch test creator view, in action panel click on Upload package
-
Select the XLSx file with the definition of the batch test
a. Load file
b. Click upload
-
After successful download remember to save the batch test
Batch tester - Download a batch test
When working on selected batch test:
-
Click on Download package
-
The XLSx file will be generated with definition of the batch test, save the file.
Batch tester - Reading & Editing the XLSx file
Each XLSx from batch test is created according to the rules:
- There are always three sections with data
- Each sections may have multiple columns
- Data sections are separated by empty column, with header
#
or##
First sections:
- starts with column including test case name
- each next column contains one input value
Second section:
- for each tested element one column is created
- each column contains result expected value for one of the tested elements
Third section:
- for each tested element two columns are created
- first column contains evaluated value for the tested element
- second column contains value of the difference between calculated result and expected result
First section:
Column headers are indicators of what kind of variable is needed. Usually in the context header is a context path which is used in tested elements.
Second section:
In each header two informations are stored:
-
Type of element in the test case
- att@ for domain business attribiute
- par@ for parameter
- fun@ for function
-
Code of that element
- in case of attr@ after element type domain path is given
- in case of par@ or fun@ after element type element code is given
Third section:
In each header three informations are stored:
- Value Type :
- Evaluated - for columns holding values evaluated by the algorithm
- Diff - for the value of the difference between what was calculated and what was expected
- Type of element in the test case
- att@ for domain business attribute
- par@ for parameter
- fun@ for function
- Code of that element
- in case of attr@ after element type domain path is given
- in case of par@ or fun@ after element type element code is given
Run Batch Test
To Run an existing batch test follow these steps:
-
Go to Main Toolbar
a. Select Tools
b. in Tools select Batch Tester
-
You will see Batch Tester Panel, filled with all existing batch tests
-
Click on selected batch test, to view it’s details
-
Batch test view, in our example:
-
When you click on selected test
-
Here you are able to view test details and if needed change:
a. Input values
b. Expected values
c. Or even change tested elements in selected unit test case (full description on how to create and edit Unit Test Cases can be found in the User Guide Tester chapter)
-
When all the changes are made
a. If you want to save this Unit test and be able to view it in singular Tester just click Save test
b. It’s not obligatory to Save test as you would in Unit Tester. Just get back to the batch test by clicking the Package button
-
On the batch test view click Run package to perform your tests
-
For each unit test a result status will show:
All possible statuses are described here:
No. Status Description 1. Success When unit test performs without problems and result value is equal to expected value. 2. Failure Can occur in two situations:
- The result value is not equal to expected value
- The Error occur during performing the unit test -
Beside Status there are other information given by batch tester
No. | Column name | Description |
---|---|---|
1. | Status | Test case status (Success/Failure) depending on whether test was performed with positive result |
2. | Failures | Number of failures within unit test case. Where evaluated value differs from expected value. |
3. | Errors | Number of errors which occurred during the unit test. |
4. | Time (ms) | Time taken to perform the unit test. |
This screen allows adding and removing configuration parameters. This functionality is dedicated to Higson system administrators. It allows editing table CONFIGPARAMS in higson database schema. Table state can be different depending on installation environment.
To access the screen, go to Main Toolbar and select Configuration parameters.
After entering the screen, you will see the list of all created configuration parameters.
Each element is described by five qualities:
No. | Column name | Description |
---|---|---|
1. | Area | Area name for the configuration parameter. |
2. | Code | Code for the configuration parameter. |
3. | Value | Name for the configuration parameter. |
4. | Created | The date when configuration parameter was created. |
5. | Imported | The date when configuration parameter was imported. |
6. | Modified by | The name of the user who last made the changes to the selected configuration parameter. |
There is only one available action:
No. | Action name | Description |
---|---|---|
1. | Edit | Allows to make changes in configuration parameters |
When in edit mode more actions are available:
No. | Action name | Description |
---|---|---|
1. | Edit | Edit existing configuration parameter |
2. | Add new parameter | Add new row in the table allowing creating new configuration parameter |
3. | Delete | Delete selected configuration parameter |
4. | Cancel | Cancel all the changes in the table |
5. | Save changes | Save all the changes in the table |
Adding new configuration parameter
-
Firstly, go to edit mode by clicking Edit button
-
Click on Add new parameter
-
Fill in all the necessary information
-
And Save changes
That’s it, new configuration parameter has been added.
Context is an object model containing all data that may affect Decision tables’ or Functions’ values. Once we design a context model, we can make our parameterization depends on any data from the context. In order to see Context, select Context in Main Toolbar.
After you enter Context you will see screen of all Types:
No. | Column/Action name | Description |
---|---|---|
1. | Name | Full type name. You can filter this column by providing any string. |
2. | GMO Table name | Full GMO Table name. You can filter this column by providing any string. |
3. | Description | Full description of type. You can filter this column by providing any string. |
4. | Last update | The last modification date of the type. |
5. | Actions | List of quick access actions. Currently only Remove action (bin icon) is available here. Remove action deletes the desired type. To learn more about removing a specific Context Type, go here. |
6. | Download Types | Downloads a TXT file that contains all Types and Attributes of Types. To learn more about downloading Types, go here. |
7. | Upload Types | Allows uploading Types from a TXT file. To learn more about uploading Types, go here. |
8. | + New type | Allows creating new Types. To learn more about adding Types, go here [go here. |
9. | Delete all types | Deletes all Context Types. |
Context - Add new type
If you want to add a new context type, follow these steps:
-
Choose Context in Main toolbar.
-
Choose + New type.
a. Choosing + New type opens a step-by-step Context Type wizard.
-
In step 1. Name you need to provide unique Type name. Name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “-”.
a. If you enter illegal characters, then borders will be highlighted with red color. Hover on the field to see tooltip with more information.
-
Choose Next.
-
In step 2. Description you may add Type’s description. Description can contain only characters from collection a-z; A-Z; 0-9; “.”; “-”; “,”; “_” and white-space characters. This data is not
a. If you choose Previous you will go back to step 1. Name.
b. If you enter illegal characters, then borders will be highlighted with red color. Hover on the field to see tooltip with more information.
-
Choose Next.
-
In step 3. Attributes you may add/remove attributes. This data is not necessary to save a type.
a. If you decide to add attributes, you:
i. must** provide unique name. Name can contain only characters from collection a-z; 0-9; “-”; “_”; and it can’t start with “-”;
ii. must select a type from a drop-down list.
iii. can check/uncheck multi value.
iv. can provide Attribute description. Description can contain only characters from collection a-z; A-Z; 0-9; “.”; “-”; “,”; “_” and white-space characters.
b. You can sort attributes by left-clicking on arrows next to each Column name.
c. If you enter illegal characters in name field for any attribute, then borders will be highlighted with red color, and you will not be able to save a type.
d. If you enter illegal characters in the description field for any attribute, then borders will be highlighted with red color, and you will not be able to save a type.
-
Choose Save.
a. Type with data you provided is created.
b. If in step 3. Attributes you entered the same name in at least two attributes, then validation error will appear.
Context - Remove Context Type
If you want to remove a specific context type, follow these steps:
-
Choose Context in Main toolbar.
-
Choose Remove action (bin icon) for type you want to delete.
a. Action is greyed out for ROOT type.
b. After choosing Remove action, confirmation pop-up will appear.
-
Choose Delete.
a. Specific Type is being removed from the environment. This action is irreversible.
Context - Download Context
If you want to download context, follow these steps:
-
Choose Context in Main toolbar.
-
Choose Download.
a. Choosing Download a TXT file that contains the whole Context.
Context - Upload Context
If you want to upload context, follow these steps:
-
Choose Context in Main toolbar.
-
Choose Upload.
a. Choosing Upload brings up Import context screen.
-
Drag&drop desired file or Click to upload a file and choose file in File explorer.
a. If you choose a file with extension other than TXT, then validation error will pop up.
b. If there is something wrong with data in TXT file, then validation error will appear.
-
Choose Upload
-
When the progress bar reaches 100%, it means that context was uploaded correctly
a. If a validation error occurs (see above), then an upload process is being aborted.
Context - Delete all types
If you want to delete all types in context, follow these steps:
-
Choose Context in Main toolbar.
-
Choose Delete all types.
a. After choosing Delete all types button, confirmation pop-up will appear.
-
Choose Delete.
a. The Entire Context excluding ROOT is deleted from the environment.
Context Type details screen
You can access Context Type details by left-clicking on the specific type in the screen of all Types.
An important difference in Context is that changes made in Types are instant, without session mechanism.
No. | Name | Description |
---|---|---|
1. | Type details section | Contains information such as: Type’s name, GMO Table Name, and Type’s description. |
2. | Attributes section | Contains information about all attributes created in Type. |
3. | Name | Full attribute name. |
4. | Type | Data type used in the attribute. |
5. | Multi value | If multi-value is checked, then it allows providing a list of elements. If unchecked, then only single elements can be provided. |
6. | GMO Persistent | Informs about the used GMO type. |
7. | GMO Column name | Name of the GMO column in the database. |
8. | Description | Full description of the type. |
9. | Edit - Type | Enables Edit mode for Type details section. To learn more about editing type details, go here. |
10. | Edit - Attributes | Enables Edit mode for Attributes section. To learn more about editing attributes, go here. |
Context Type details - Edit Type details
If you want to edit data in a Type details section, follow these steps:
-
Choose Context in Main toolbar.
-
Left-click on a type you wish to edit.
a. Left-clicking on type opens Context Type details screen.
-
Choose Edit in Types details section.
a. Highlighted borders indicate that edit mode is active.
-
Edit any data you need.
a. If you enter illegal characters in type’s name, then validation error will appear.
-
Choose Save changes to save all changes made in context type.
a. Cancel reverts all changes made in context type.
b. If you change type’s name to name that is already used by another type, then validation error will appear.
Context Type details - Edit Attributes
If you want to edit data in the Attributes section, follow these steps:
-
Choose Context in Main toolbar.
-
Left-click on a type you wish to edit.
a. Left-clicking on type opens Context Type details screen.
-
Choose Edit in Attributes section.
a. Highlighted borders indicate that edit mode is active.
-
Edit any data you need.
-
Choose Save changes to save all changes made in context type.
a. Cancel reverts all changes made in the context type.
A decision table presents values in rows and columns. Each row describes a situation when given inputs (columns) result in certain outputs (also columns). In other words, a decision matrix displays decisions based on certain criteria. You can create a decision table in Higson (so-called a parameter), where you define input and output columns and then populate data with values in rows.
In order to see all Decision Tables select Decision Tables in the Main Toolbar.
After that, when you enter Decision tables, you will see a screen of Decision Tables
No. | Column name | Description |
---|---|---|
1. | Name | Full name of Decision table. |
2. | Tags | List of all Tags assigned to the Decision table |
3. | Region | List of all Regions the decision table are assigned to |
4. | Input levels | List of input levels for business data |
5. | Last change | The last modification date of the decision table |
6. | Actions | List of quick access actions. Currently only remove action is available here. Remove action deletes decision table |
On this screen, you can apply Filters to search for specific parameter or to narrow down the number of displayed parameters. You can also perform actions on one or multiple parameters.
You can see All Actions available for the parameters below:
No. | Action | Description |
---|---|---|
1 | Checkboxes | Select the top checkbox to select all decision tables in the view or select individual checkboxes to group decision tables for actions 5a, 5b, 5c, 5f, 5g, 5h, 5i. |
2 | + Add decision tables | Opens a step-by-step decision tables wizard. Allows you to create new decision tables. |
3 | Upload | Allows importing decision table’s from a ZIP file. |
4 | Hide filters | Hides or reveals the Filters bar accordingly. If Filter bar is visible, then action Hide filters is available. If it’s hidden, then action Show filters is available. |
5 | More actions | The drop-down menu that contains actions 5a-5i. Bear in mind that actions 5a, 5b, 5c, 5f, 5g, 5h, and 5i are available only if at least one decision table is selected (at least one checkbox is checked). Otherwise, the mentioned actions will be greyed out (see picture below the table). |
6 | Mass export to XLSx | Downloads a ZIP file that contains XLSX file and files with decision tables body. |
7a | Extract codes | Downloads an XLSX file that contains decision tables extract. |
7b | Download codes | Download a TXT file with decision tables names. |
7c | Select from file | Allows uploading a TXT file with decision tables. After uploading, all decision tables present in the file will be selected. |
7e | Compare with extract | Allows uploading an XLSX file with decision tables extract. Makes comparison between the provided file and the environment. |
7f | Add region | Adds regions to all selected decision tables. |
7g | Remove region | Removes regions from all selected decision tables. |
7h | Manage tags | Allows adding/removing tags to/from selected decision tables. |
7i | Remove | Delete all selected decision tables. |
Now we can see More actions drop-down menu, when no decision tables are selected
You can see all Filters available for decision tables below:
No. | Filter name | Description |
---|---|---|
1 | Search text field | Filter by any string provided by the user. |
2 | Tags | Filter by assigned tags; only tags assigned to at least one decision table are visible for selection. |
3 | Region | Filter by assigned regions; only regions assigned to at least one decision table are visible for selection. |
4 | Date range | Filter by last change date in format YYYY/MM/DD - YYYY/MM/DD. |
Decision tables - Add Decision table
If you want to add Decision tables follow these steps:
-
Choose Decision tables in Main toolbar.
-
Choose + Add Decision tabl in All actions bar.
a. Choosing + Add Decision table opens a step-by-step wizard.
-
In step 1. Name, you need to provide a unique decision table code/name. Name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “-”.
a. If you changed your mind and don’t want to create a new decision table, you can choose Cancel in step 1. Name.
-
Choose Next.
a. If you enter illegal characters, then the validation error will appear
b. If the name you provided is already used by another decision table, then a pop-up dialog will appear, either close the pop-up by clicking Cancel or View existing decision table, that will redirect you to the appropriate Decision table and close the Decision table wizard.
-
In step 2. Definition you may add a description, and assign regions and tags, but this is not necessary to proceed to the next step. When you check the option for external sources in the next step, you will be able to add them.
-
Besides, we have the following selections to choose from
During creating decision tables, we have the options described in points 1-4
No. Name Description 1 Match required If checked: when in matrix value won’t be found, it will return an error; if checked and no match is found in the matrix, the parameter will return null. 2 Distinct filters Removes duplicated records from the result list. 3 In memory index If not checked, then with every call to that parameter, its definition and matrix must be reloaded from the database. This checkbox is flagged if the parameter should be stored in the application cache. 4 Dictionary value To define the decision table as a dictionary, there is a checkbox “Dictionary” that needs to be marked. -
Choose Next.
-
In step 3. Levels you may add IN and OUT columns, but this is not necessary to proceed to the next step.
When selecting the “date” value type, be sure to use the correct recording format: yyyy-MM-dd.
When selecting the “data time” value type, be sure to use the correct notation format: yyyy-MM-dd HH:mm:ss
-
Choose Next.
-
In step 4. Matrix you may add matrix cells, but this is not necessary to proceed to the next step.
-
Choose Save changes.
a. Decision table with data you provided is created. You will be redirected to Decision table’s details screen.
Decision tables - upload
If you want to upload decision tables from a ZIP file, follow these steps:
-
Choose Decision Tables in the Main Toolbar.
-
Choose Upload in the “All Actions” bar.
a. Choosing Upload brings up the Import decision table screen.
-
Drag and drop the desired file or Click to upload a file and choose file in File Explorer.
a. If you choose a file with an extension other than ZIP, then a validation error will pop up.
-
When the progress bar reaches 100%, it means that all decision tables were uploaded correctly.
Decision tables - Mass export to XLSX
If you want to download one or more decision tables, follow these steps:
-
Choose Decision Tables in the Main Toolbar.
-
Select one or more.
a. Select the top checkbox to select all decision tables in the view, or select individual checkboxes to select one or multiple
-
From the drop-down menu More actions: choose Mass export to XLSx.
a. If action Mass export to XLSx is grayed out, it means that no decision tables have been selected.
b. Choosing Mass export to XLSx downloads a ZIP file that contains files with decision tables.
Details of zip
And view of
Decision tables - Extract codes
If you want to extract one or more decision tables, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Select one or more decision tables
a. Select the top checkbox to select all decision tables in the view or select individual checkboxes to select one or multiple.
-
From drop-down menu More actions choose Extract codes
a. If action Extract codes is greyed out, it means that no decision tables have been selected.
b. Selecting Extract codes downloads a XLSX file that contains Code, SHA and Region columns
Decision tables - download codes
If you want to download one or more decision tables codes, follow these steps:
-
Choose decision table in Main toolbar.
-
Select one or more decision tables.
a. Select the top checkbox to select all decision tables in the view, or select individual checkboxes to select one or multiple
-
From drop-down menu More actions choose Download codes
a. If Download codes action is greyed out, it means that no decision tables have been selected.
b. Selecting Download codes downloads a TXT file that contains decision tables’ codes
Decision tables - Select from file
If you want to select one or more Decision tables from the file, follow these steps:
-
Choose Decision tables in Main toolbar.
-
From drop-down menu More actions choose Select from file
a. Choosing Select from file brings up the Select from file screen
-
Drag and drop the desired file or Click to upload a file and choose file in File explorer.
a. Correct TXT file should look like this:
b. If you choose a file with an extension other than TXT, then a validation error will pop up.
-
When the progress bar reaches 100%, you will be informed which decision tables will be selected.
-
Choose Select.
a. All decision tables that were present in the Selected Elements table get selected.
Decision tables - Compare with extract
Makes a comparison between the file and the environment, and gives information on which elements are the same, and which changes are only in the file or only in the environment.
-
Choose Decision tables in Main toolbar.
-
From drop-down menu More actions choose Compare with extract.
a. Choosing Compare with extract brings up the Compare with extract screen.
-
Drag and drop the desired file or Click to upload a file and choose file in the File explorer.
a. Correct XLS/XLSX file should look like this
b. If you choose a file with extension other than XLS/XLSX, then validation error will pop up
-
When the progress bar reaches 100%, you will be informed about the status of all decision tables present in the environment and the extract file you provided.
-
In the Select section (visible below the table with decision table status), choose which Decision tables will be selected.
a. You can select multiple options.
b. Matching: decision tables that are equal between the environment and the extract file will be selected.
c. Different regions: decision tables that are equal but with different regions between the environment and the extract file will be selected.
d. Different name: decision tables that are equal but with different names between the environment and the extract file will be selected.
e. Missing from extract: decision tables that are present in the environment but absent from the extract file will be selected.
-
Choose the Select Button.
a. If the Select button is grayed out, it means that no checkboxes were selected in step 5.
b. All Decision Tables that match the criteria provided in step 5 are selected.
Decision tables - Add region
If you want to add a region to one or more decision tables, follow these steps:
-
Choose Decision Tables in the Main Toolbar.
-
Select one or more decision tables without a Region.
a. Select the top checkbox to select all decision tables in the view or select individual checkboxes to select one or multiple decision tables.
-
From the drop-down menu More actions, choose Add region.
a. If action Add region is grayed out, it means that no decision tables have been selected.
b. Choosing Add Region brings up the Manage Versioning screen.
-
Select a Region and one or more versions.
-
Select Change.
-
The region has been assigned to the decision tables
Decision tables - Remove region
If you want to remove a region from one or more decision tables, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Select one or more Decision tables with a Region.
a. Select the top checkbox to select all decision tables in the view or select individual checkboxes to select one or multiple.
-
From drop-down menu More actions choose Remove region.
a. If action Remove region is greyed out, it means that no function has been selected.
b. After choosing Remove region action, confirmation pop-up will appear.
-
Choose Confirm.
a. Regions are being removed from all selected decision tables.
Decision tables - Manage tags
If you want to manage tags from one or more decision tables, follow these steps:
-
Select the decision tables on the main toolbar.
-
Select one or more untagged decision tables.
-
From the More Actions drop-down menu, select Manage Tags.
-
Select the tags you are interested in and click Save.
Decision tables - remove
If you want to delete one or more decision tables, follow the steps below:
-
Choose the Decision tables in the Main toolbar.
-
Select one or more decision tables.
a. Select the top checkbox to select all decision tables in the view, or select individual checkboxes to select one or multiple
-
From the drop-down menu More actions, choose Remove.
a. If action Remove is grayed out, it means that no decision tables have been selected.
b. After choosing Remove action, a confirmation pop-up will appear.
-
Choose Confirm.
-
All selected decision tables are deleted from the environment
Decision tables details
You can access decision table details by left-clicking on the specific decision table in the List of all decision tables. The decision tables details screen contains all information about the decision tables, including their description, assigned regions, tags, and others.
And you can see the available actions below:
No. | Name | Description |
---|---|---|
1 | Duplicate | Allows to duplicate decision table. |
2 | Download | Downloads XLSX file with decision table. |
3 | Import table | Allows to upload file XLSX or ZIP. |
4 | More actions | Drop-down list that contains actions 4A-4G. |
4A | Shows history | Opens a new screen with a table of all modifications made on the decision table. |
4B | Rename | Allows you to change the name. |
4C | Attach/Detach | Allows you to add/remove a region to/from the Decision table. Attach region is available if there are no regions added to the Decision table. Detach region is available if there is a region added to the Decision table. |
4D | Create Alias | Creates a copy of the decision table with its own code. |
4E | Find usages | Redirects you to global search where you may find every reference to that decision table. |
4F | Remove | Action removes the decision table. |
Left-click on LEVELS AND DEFINITION to see more details about the Decision table.
No. | Name | Description |
---|---|---|
1 | Definition section | Definition of Decision table. Contains information such as: - Description of Decision table - Assigned Tags - Created Aliases |
2 | Levels section | Levels of Decision table. Contains information about created IN Columns and OUT Columns. |
3 | IN Columns section | IN Columns table contains all IN Columns created in Decision table. |
3a | Unique Code | Unique Code of IN Column. |
3b | Column Name | Name of IN Column. |
3c | Value Type | Informs about Value Type of IN Column. |
3d | Value Source | Value Source of IN Column. |
3e | Matcher | Informs about the selected matcher for IN Column. |
3f | Union | Informs if Union checkbox was selected for IN Column. |
4 | OUT Columns section | OUT Columns table contains all OUT Columns created in Decision table. |
4a | Unique Code | Unique Code of OUT Column. |
4b | Column Name | Name of OUT Column. |
4c | Value Type | Informs about Value Type of OUT Column. |
4d | Blob | Informs if Blob checkbox was selected for OUT Column. |
4e | Tab | Informs if Tab checkbox was selected for OUT Column. |
Decision tables details - Duplicate
If you want to duplicate specific Decision table, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Left-click on the Decision table you wish to duplicate.
a. Left-clicking on Decision table opens Decision table details screen.
-
Choose Duplicate in Available actions.
a. Choosing Duplicate brings up the Duplicate table screen.
-
Enter unique Decision table name. Name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “-”.
-
Choose Save changes.
a. If you entered illegal characters, then name filed will highlight with red color.
b. If the name you provided is already used by another Decision table, then pop-up dialog will appear. You can either close the pop-up by clicking Cancel or you can click View existing Decision table, that will redirect you to the appropriate Decision table.
Decision tables details - Download
If you want to download a specific Decision table, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Left-click on the Decision table you wish to download.
a. Left-clicking on Decision table opens Decision table details screen.
-
Choose Download in Available actions.
a. Choosing Download downloads an XLSX file that contains data of Decision table.
Decision tables details - Show history
If you want to check all modifications made on Decision table, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Left-click on the Decision table you want to check.
a. Left-clicking on Decision table opens Decision table details screen.
-
From drop-down menu More actions choose Show history.
a. Choosing Show history brings up the Decision table history screen.
No. Column name Description 1 Operation Type Type of operation made on the Decision table. 2 Author User’s login that made an operation. 3 Modification Date Date of the published session that made an operation. 4 Region Region and version assigned to the Decision table at the time of modification. 5 Actions View redirects to an archived version of the Decision table. In this screen, you can choose Restore to restore that version of the Decision table.
Decision tables details - Rename**
If you want to rename a Decision table, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Left-click on the Decision table you wish to duplicate.
a. Left-clicking on Decision table opens Decision table details screen.
-
From drop-down menu More actions choose Rename.
a. The Highlighted border around the Decision table name indicates that the name is editable.
-
Enter unique Decision table name. Name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “-”.
-
Choose Save name.
a. If you enter illegal characters, then the rename field will highlight with red color.
b. If the name you provided is already used by another Decision table, then pop-up dialog will appear. You can either close the pop-up by clicking Cancel or you can click View existing decision table, that will redirect you to the appropriate Decision table.
Decision tables details - Attach region
If you want to attach a region to a specific Decision table from Decision table details level, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Left-click on Decision table with no region assigned you want to attach a region.
a. Left-clicking on Decision table opens Decision table details screen.
-
From drop-down menu More actions choose Attach region
a. If Detach region action is available, it means that the Decision table has assigned the region already. You need to Detach region (hyperlink) before you will be able to attach a new region.
b. Choosing Attach region brings up Manage versioning screen.
-
Select Region and one or more Version.
-
Choose Change
a. The Region is being assigned to the Decision table.
Decision tables details - Detach region
If you want to detach a region from a specific Decision table from
Decision table details** level, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Left-click on the Decision table with a region assigned you want to detach region.
a. Left-clicking on Decision table opens Decision table details screen.
-
From drop-down menu More actions choose Detach region.
a. If Attach region action is available, it means that the Decision table has no region assigned.
b. After choosing Detach region action, confirmation pop-up will appear.
-
Choose Confirm.
a. The Region is being detached from the Decision table.
Decision tables details - Create alias
If you want to create an alias to specific Decision table, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Left-click on Decision table you want to create alias.
a. Left-clicking on Decision table opens Decision table details screen.
-
From drop-down menu More actions choose Create alias.
a. Choosing Create alias brings up the Create alias screen.
-
Enter unique alias name. Name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “-”.
-
Choose Save change.
a. If you enter illegal characters, then the rename field will highlight with red color.
b. If the name you provided is already used by another Decision table, then a pop-up message will appear.
Decision tables details - Find usages
If you want to check where Decision table is used, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Left-click on the Decision table you want to check.
a. Left-clicking on Decision table opens Decision table details screen.
-
From drop-down menu More actions choose Find usages.
a. Choosing Find usages brings up the Find usages screen.
No. Column name Description 1 Element Type Type of element that uses this Decision table. 2 Name Name of the element that uses this Decision table. 3 Value Value of the element that uses this Decision table. This column is filled only for Attribute value element; for other elements, this column is empty. 4 Field Informs about the type of field where the Decision table is used. 5 Number of applied filters Informs the user how many filters of a specific type are applied. 6 Unselect all filters Unselects all filters of a specific type inside. b. You can apply filters to narrow down the displayed results. All available filters are visible in the picture below.
Decision tables details - Remove
If you want to delete specific Decision table from Decision table details level, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Left-click on the Decision table you wish to remove.
a. Left-clicking on Decision table opens Decision table details screen.
-
From drop-down menu More actions choose Remove.
a. After choosing Remove action, confirmation pop-up will appear.
-
Choose Confirm.
a. The Decision table is deleted from the environment.
Decision tables details - Edit Matrix
If you want to edit matrix in a specific decision table, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Left-click on the Decision table you wish to edit.
a. Left-clicking on the Decision table opens the details screen.
-
Choose Edit in Matrix section.
a. Highlighted borders indicate that the edit mode is active.
-
Edit any data you need.
-
Choose Save changes to save all changes made in the Decision table.
a. Cancel reverts all changes.
Decision tables - Edit Levels and Definition
If you want to edit levels or definition in a specific decision table, follow these steps:
-
Choose Decision tables in Main toolbar.
-
Left-click on the Decision table you wish to edit.
a. Left-clicking on Decision table opens Decision table details screen.
-
Expand LEVELS AND DEFINITION
-
Choose Edit in Definition section or in Levels section. Only one section can be edited at given time.
a. Edit mode for Definition section.
b. Edit mode for Levels section.
-
Edit any data you need.
-
Choose Save changes to save all changes made in the Decision table.
a. Cancel reverts all changes.
In Domain configuration we can create instances of domain types and configure their attributes with use of Decision tables or Functions.
In order to see Domain Configuration, select Domain in Main Toolbar.
After you enter Versions you will see screen of configuration from ROOT perspective:
No. | Name | Description |
---|---|---|
1. | Tree search field | Filter by any string provided by user. Configuration tree navigates to all Elements matching the provided criteria. |
2. | Download Domain | Downloads a XML file that contains entire Domain Configuration. To learn more about downloading Configuration go here |
3. | Upload Domain | Allows to upload Domain Configuration from a XML file. To learn more about uploading Configuration go here |
4. | Configuration tree | Tree structure of your product. |
5. | Delete tree | Deletes all Configuration Elements. To learn more about delete all Configuration elements go here |
6. | Collection | Collections with all created elements. |
6a. | Add new element to tree | Allows to create new Configuration Elements. To learn more about adding Configuration Elements go here |
User can Expand/Collapse a tree by clicking on the arrows.
Configuration Collection:
Domain configuration - Add new collection elements
If you want to add a new collection elements, follow these steps:
-
Choose Domain in Main toolbar.
-
Navigate to Collection you want to add new elements to.
-
Choose Add new elements to tree in desired Collection.
a. Choosing Add new elements to tree brings up Add to tree screen.
-
Choose Add elements radiobutton.
-
On this screen, you:
a. need to provide unique Element code. Code can contain only characters from collection a-z; 0-9; “-”; “_” and it can’t start with “-”.
i. If the code you provided is not unique, then borders will be highlighted with red color and warning message will appear.
ii. If you enter illegal characters, then borders will be highlighted with red color. Hover on the field to see tooltip with more information.
b. need to provide Element name. Name can contain only characters from collection a-z; A-Z; 0-9; “-”; “_” and white-space characters.
i. If you enter illegal characters, then borders will be highlighted with red color. Hover on field to see tooltip with more information.
c. can provide Element description. Description can contain only characters from collection a-z; A-Z; 0-9; “:”; “.”; “,”; “-”; “_” and white-space characters.
i. If you enter illegal characters, then borders will be highlighted with red color. Hover on field to see tooltip with more information.
d. can add additional Elements by clicking + NEW ELEMENT.
-
Choose Add.
a. Elements with data you provided are created.
Domain Configuration - Add reference
If you want to add a reference, follow these steps:
-
Choose Domain in Main toolbar.
-
Navigate to the Collection for which you want to create reference.
-
Choose Add new elements to tree in desired Collection.
a. Choosing Add new elements to tree brings up Add to tree screen.
-
Choose Add a reference radiobutton.
a. If the Add button is greyed out, it means that you have not chosen any Collection Element to refer to yet.
-
Choose Collection Element you want to create a reference to.
a. If there are no Elements to refer to, then an information message will be placed instead of the configuration tree.
-
Choose Add.
a. Reference to chosen Element is created.
Domain Configuration - Add a copy
If you want to copy Collection or Collection Element, follow these steps:
-
Choose Domain in Main toolbar.
-
Navigate to the Collection for which you want to copy Elements.
-
Choose Add new elements to tree in desired Collection.
a. Choosing Add new elements to tree brings up Add to tree screen.
-
Choose Add a copy radiobutton.
-
In step 1. Description, you:
a. need to provide unique Element code. Code can contain only characters from collection a-z; 0-9; “-”; “_” and it can’t start with “-”.
i. If the code you provided is not unique, then borders will be highlighted with red color and warning message will appear.
ii. If you enter illegal characters, then borders will be highlighted with red color. Hover on field to see tooltip with more information.
b. need to provide unique Element name. Name can contain only characters a-z; A-Z; 0-9; “-”; “_” and white-space characters.
i. If the name you provided is not unique, then borders will be highlighted with red color and warning message will appear.
ii. If you enter illegal characters, then borders will be highlighted with red color. Hover on field to see tooltip with more information.
-
Choose Next.
-
In step 2. Element to copy you need to choose which Collection Element you want to copy.
a. If the Add button is greyed out, it means that you have not chosen any Collection Element to copy.
-
Choose Add.
a. Copy of chosen Collection Element is created.
Domain Configuration - Download Domain Configuration
If you want to download Domain Configuration, follow these steps:
-
Choose Domain in Main toolbar.
-
Choose Download Domain Configuration in Configuration tree.
a. Choosing Download Domain Configuration downloads an XML file that contains all configuration Collections, Collection Elements, Definition Types and all dependencies between them.
Domain Configuration - Upload Domain Configuration
If you want to upload Domain Configuration, follow these steps:
-
Choose Domain in Main toolbar.
-
Choose Upload Domain Configuration in Configuration tree.
a. Choosing Upload Domain Configuration brings up Import from XML screen.
b. If you select checkbox Remove elements not included in file, then warning will appear.
-
Drag&drop desired file or Click to upload a file and choose file in File explorer.
a. If you choose a file with extension other than XML, then validation error will pop up
b. If there is something wrong with data in XML file, then validation error will appear.
-
Choose Upload
-
When the progress bar reaches 100%, it means that domain definition was uploaded correctly.
a. If a validation error occurs (see above), then an upload process is being aborted.
b. If you checked checkbox Remove elements not included in file in step 2, then adequate information about changes will appear after uploading a file.
Domain Configuration - Delete tree configuration
If you want to delete the entire Domain Configuration, follow these steps:
-
Choose Domain in Main toolbar
-
Choose Delete tree configuration.
a. After choosing Delete tree configuration button, confirmation pop up will appear.
-
Choose Confirm.
a. The Entire Domain Configuration is deleted from the environment.
-
Choose Session.
a. After choosing Session button, Session preview screen will appear.
-
Choose Publish changes.
Collection Element details screen
You can access Collection Element details by left-clicking on the specific Element in the Domain Configuration tree.
No. | Name | Description |
---|---|---|
1 | Collection Element details | Collection Element details include information about assigned Region, assigned Tags and description of Collection Element. |
1a | Definition Type code | Type code from Domain Definition. |
1b | Assigned Tags | List of all Tags assigned to the Element. |
1c | Collection Element | Description of Collection Element. |
2 | Collection Element attributes | List of all Global and Local Attributes created in Collection Element. |
2a | Attributes Group name | Name of Attributes Group. |
2b | Global Attributes | Global Attributes are defined by Types in Domain Definition. |
2c | Local Attributes | Local Attributes are created in Collection Element by User. |
3 | Edit | Enables Collection Element edit mode. To learn more about editing collection element go here |
4 | Clone | Allows to clone Collection Element. To learn more about cloning collection elements go here |
5 | Delete element | Deletes Collection Element. To learn more about deleting collection element go here |
6 | Attach/Detach region | Allows you to add/remove a region to/from the Collection Element. - Attach region is available if there are no regions added to Collection Element - Detach region is available if there is a region added to Collection Element If User has opened session, then button is greyed out. |
Collection Element details - Edit
If you want to edit data in specific Collection Element, follow these steps:
-
Choose Domain in Main toolbar.
-
In the Configuration tree, left-click on Collection Element you wish to edit.
-
Choose Edit.
a. Highlighted borders indicate that edit mode is active.
-
Edit any data you need.
-
Choose Save changes to save all changes made in Collection Element.
a. Cancel reverts all changes made in the Collection Element.
Collection Element details - Add local attribute
-
Choose Domain in Main toolbar.
-
In the Configuration tree, left-click on Collection Element you wish to add local attribute.
-
Choose Edit.
-
Choose Add local attribute and you:
a. need to provide unique Attribute code. Code can contain only characters from collection “a-z”; “A-Z”; “-”; “_”.
i. If you entered the same code in at least two attributes, then borders will be highlighted with red color, and you will not be able to save changes.
ii. If you enter illegal characters, then borders will be highlighted with red color. Hover on field to see tooltip with more information.
b. need to provide Attribute name. Name can contain only characters from collection “a-z”; “A-Z”; “0-9”; “-”; “_” and white-space characters.
i. If you enter illegal characters, then borders will be highlighted with red color. Hover on field to see tooltip with more information.
c. need to provide Attribute value. Value can contain any characters.
-
Choose Save changes.
Collection Element details - Reset to default value
-
Choose Domain in Main toolbar.
-
In the Configuration tree, left-click on Collection Element you wish to add local attribute.
-
Choose Edit.
-
Choose Reset to default value for specific Global Attribute.
a. Attribute’s value is changed to the value defined in the appropriate Definition Type.
-
Choose Save changes.
Collection Element details - Clone
If you want to clone specific Collection Element, follow these steps:
-
Choose Domain in Main toolbar.
-
In the Configuration tree, left-click on Collection Element you wish to clone.
-
Choose Clone.
a. Choosing Clone brings up the Clone element screen.
-
You need to provide:
a. unique code. Code can contain only characters from collection “a-z”; “A-Z”; “-”; “_”.
i. If the code you entered is not unique, then borders will be highlighted with red color and warning message will appear.
ii. If you enter illegal characters, then borders will be highlighted with red color. Hover on field to see tooltip with more information.
b. unique name. Name can contain only characters from collection"a-z"; “A-Z”; “0-9”; “-”; “_” and white-space characters.
i. If the code you entered is not unique, then borders will be highlighted with red color and warning message will appear.
ii. If you enter illegal characters, then borders will be highlighted with red color. Hover on field to see tooltip with more information.
-
Choose Clone.
a. Collection Elements are being cloned.
Collection Element details - Delete element
If you want to delete specific Collection Element, follow these steps:
-
Choose Domain in Main toolbar.
-
In the Configuration tree, left-click on Collection Element you wish to delete.
-
Choose Delete element.
a. After choosing Delete element action, confirmation pop up will appear.
-
Choose Confirm.
a. Collection Element is deleted from the environment.
Collection Element details - Attach region
If you want to attach a region to Collection Element, follow these steps:
-
Choose Domain in Main toolbar.
-
In the Configuration tree, left-click on Collection Element with no region assigned you want to attach a region.
-
Choose Attach region
a. If Attach region action is greyed out, it means that user has active open session.
b. If Detach region action is available, it means that Collection Element has assigned reason already. You need to Detach region before you will be able to attach a new region.
c. Choosing Attach region brings up Manage versioning screen.
-
Select Region and one or more Version.
-
Choose Change.
a. Region is being assigned to the Collection Element.
Collection Element details - Detach region
If you want to detach a region from Collection Element, follow these steps:
-
Choose Domain in Main toolbar.
-
In the Configuration tree, left-click on Collection Element with a region assigned you want to detach a region.
-
Choose Detach region.
a. If Detach region action is greyed out, it means that user has active open session.
b. If Attach region action is available, it means that Collection Element has no region assigned.
c. After choosing Detach region action, confirmation pop up will appear.
-
Choose Confirm.
a. The Region is being detached from Collection Element.
In Domain definition we can design domain types, their relationships and attributes. In order to see Domain Definition, select Domain in Main Toolbar.
Select Definition tab.
After you enter Definition you will see screen of all definition types:
No. | Name | Description |
---|---|---|
1. | Tree search | Filter by any string provided by the user. Definition tree navigates to all Types matching the provided criteria. |
2. | Download | Downloads an XML file that contains the entire Domain Definition. To learn more about downloading the Definition, go here. |
3. | Upload Domain | Allows uploading Domain Definition from an XML file. To learn more about uploading the Definition, go here. |
4. | Definition tree | A visual representation of dependencies between Definition Types. |
5. | Delete tree | Deletes all Definition Types. Action is available only if: - User’s session is closed, - The Domain Configuration section is empty. Otherwise, the action is greyed out. |
6. | Types search | |
7. | Add a new Type | Allows creating new Definition Types. To learn more about adding Definition Types, go here |
8. | Tiles view | Enables viewing Definition Types as tiles. |
9. | List view | Enables viewing Definition Types as a list. |
10. | All Definition Types | Every Definition Type created is visible here. |
10a. | Configuration ROOT | Configuration ROOT is marked more distinctively from other Definition Types. Borders of ROOT are highlighted, and the label “root” is visible. |
Definition Type tile
List view of Definition types
Domain Definition - Add a new type
If you want to add a new definition type, follow these steps:
-
Choose Domain in Main toolbar.
-
Choose Definition tab.
-
Choose ADD A NEW TYPE +
a. Choosing ADD A NEW TYPE + opens a step-by-step Definition Type wizard.
-
In step 1. Description, you:
a. need to provide unique Type code. Code can contain only characters from collection a-z; 0-9; “-”; “_” and it can’t start with “-”.
i. If entered code in step 1. Description is already used by another type, then validation error will appear.
b. need to provide Type name. Name can contain only characters from collection a-z; 0-9; “-”; “_” and it can’t start with “-”.
c. can provide Type description. Description cannot contain characters like “<”; “>”; “@”; “$”; “|” and it * cannot* start with any “special character”, for example “!”
d. If you change your mind and don’t want to create a new type, you can choose Cancel in step 1. Name.
-
Choose Next.
a. If you enter illegal characters in code, name or description field, then borders will be highlighted with red color, and you will not be able to proceed to the next step. Hover mouse over the field to see tooltip with more details.
-
In step 2. Components you may add/duplicate/remove components. This data is not necessary to save a type.
a. If you decide to add a component, you must provide code (unique), name and type code.
i. Type code is a drop-down list with codes of all types
b. If you entered the same code in at least two components, then borders will be highlighted with red color, and you will not be able to proceed to step 3. Business attributes
c. If you enter illegal characters in code or name field, then borders will be highlighted with red color, and you will not be able to proceed to the next step. Hover mouse over the field to see tooltip with more details.
d. If you choose Previous you will go back to step 1. Description
-
Choose Next.
-
In step 3. Business attributes you may add/duplicate/remove global attributes. This data is not necessary to save a type.
a. If you decide to add business attributes, you must provide code unique name. Providing default value is optional.
b. If you entered the same code in at least two components, then borders will be highlighted with red color, and you will not be able to save a type.
-
Choose Save changes.
a. If you entered the same code in at least two attributes, then borders will be highlighted with red color, and you will not be able to save a type.
Domain Definition - Download Domain Definition
If you want to download Domain Definition, follow these steps:
-
Choose Domain in Main toolbar.
-
Choose Definition tab.
-
Choose Download Domain Definition in Definition tree.
a. Choosing Download Domain Definition downloads an XML file that contains all definition types and all dependencies between definition types. Example file:
Domain Definition - Upload Domain Definition
If you want to upload Domain Definition, follow these steps:
-
Choose Domain in Main toolbar.
-
Choose Definition tab.
-
Choose Upload Domain Definition in Definition tree.
a. Choosing Upload Domain Definition brings up Import from XML screen.
b. If you select checkbox Remove elements not included in file, then warning will appear.
-
Drag&drop desired file or Click to upload a file and choose file in File explorer.
a. Correct XML file should look like this:
b. If you choose a file with extension other than XML, then validation error will pop up
-
Choose Upload.
-
When the progress bar reaches 100%, it means that domain definition was uploaded correctly.
a. If validation error occurs (see above), then an upload process is being aborted.
b. If you checked checkbox Remove elements not included in file in step 3, then adequate information about changes will appear after uploading a file.
Domain Definition - Delete tree definition
If you want to delete the entire Domain Definition, follow these steps:
-
Choose Domain in Main toolbar.
-
Choose Definition tab.
-
Check the status of Delete tree definitione buton:
a. If button is greyed out, continue from step 4. Before deleting entire domain definition, you need to delete entire domain configuration first and publish session.
b. If buton is available, continue from step 11.
-
Choose Configuration tab.
-
Choose Delete tree configuration.
a. After choosing Delete tree configuration button, confirmation pop-up will appear.
-
Choose Confirm.
a. The Entire Domain Configuration is deleted from the environment.
-
Choose Session.
a. After choosing Session button, Session preview screen will appear.
-
Choose Publish changes.
-
Choose Domain in Main toolbar.
-
Choose Definition tab.
-
Choose Delete tree definition button.
a. After choosing Delete tree configuration button, confirmation pop-up will appear.
-
Choose Confirm.
a. The Entire Domain Definition is deleted from the environment.
Definition Type details screen
You can access Definition Type details by left-clicking on the specific type tile in the Domain Definition tab. You can also see Definition Type details by changing from Tiles view to List view.
Tiles view
List view
You can see Available actions for the Definition Type below:
No. | Action | Description |
---|---|---|
1. | Delete type | Deletes definition type. To learn more about deleting definition type, go here. |
2. | Edit | Enables definition type edit mode. To learn more about editing definition type, go here |
Definition Type details - Delete type
If you want to delete a specific Definition Type, follow these steps:
-
Choose Domain in Main toolbar.
-
Choose Definition tab.
-
Left-click on a definition type you wish to delete.
a. Left-clicking on a definition type brings up Definition Type details screen.
-
Choose Delete type.
a. After choosing Delete type action, confirmation pop-up will appear.
-
Choose Confirm.
a. Definition type is deleted from the environment.
b. If a definition type is used in the Domain Configuration, then validation error will appear.
Definition Type details - Edit
If you want to edit data in specific definitione type, follow these steps:
-
Choose Domain in Main toolbar.
-
Choose Definition tab.
-
Left-click on a definition type you wish to edit.
a. Left-clicking on a definition type brings up Definition Type details screen.
-
Choose Edit.
a. Highlighted borders indicate that edit mode is active.
-
Edit any data you need.
-
Choose Save changes to save all changes made in definition type.
a. Cancel reverts all changes made in the definition type.
b. If components you edit are used in Domain Configuration, then validation error will appear.
Licenses
Licenses are a screen that allows you to manage licenses. You can add new licenses and remove old ones. To access the license screen, please select Tools in Main Toolbar and select Licenses
After you enter Licenses you will see screen of all licenses:
No. | Column name | Description |
---|---|---|
1. | License number | Unique license identification number. You can sort table by License number pressing arrow icon. |
2. | Status | This column indicates the current status of the license. It can have several possible labels such as active, expired. The status provides a quick way to determine if the license is currently valid and its scope. You can sort table by Status pressing arrow icon. |
3. | Licensee | Title of the License. You can sort table by Licensee pressing arrow icon. |
4. | Valid from | Date of the license validity. You can sort table by Valid from date pressing arrow icon. |
5. | Valid to | Date of the license expire. You can sort table by Valid to date pressing arrow icon. |
6. | Permitted CPU | Information about the maximum number of CPU cores cores which the software or service covered by the license can be used. You can sort table by Permitted CPU cores pressing arrow icon. |
7. | special | Additional license conditions. You can sort table conditions by Special conditions pressing arrow icon. |
8. | actions | List of quick access actions. Currently only Remove action is available here. Remove action delete desired license |
No. | Filter name | Description |
---|---|---|
1. | Search text field | Filter by any string provided by the user. |
2. | Status | Filter by selected license status |
Action - Add license
If you want to add a new license follow these steps:
-
Select Tools in Main Toolbar and select Licensee
-
Choose + Add license
-
Enter your license code and press Add button
a. If a valid license code is entered, information about the license will appear.
No. Column name Description 1. License number Unique license identification number. 2. License Title of the License 3. Valid from Date of the license validity. 4. Valid to Date of the license expire b. If an invalid license code is entered, an error message about the incorrect license code will appear.
Action - Remove license
If you want to remove license choose Delete icon and confirm it pressing Confirm button
Logging in is necessary to use Higson features and functionalities. Once Higson Studio is opened, you will be directed to the login page automatically.
Before logging in, ensure that you have the following:
- A registered account: You must have a valid account created within Higson. If you have not signed up yet, please contact your system administrator.
- Username and password: Make sure you have your unique username and password associated with your account. If you do not remember your credentials, there is a Forgot Password option available on the login page. Utilize this option to reset your password.
Logging in steps
- Launch Higson Studio
- In Username field, enter your unique username.
- In Password field, enter the password associated with your account.
- Click on Log in button
Resetting password
If you have forgotten your password or need to change it for any other reason, you can utilize the password reset option. The password reset process involves the following steps:
-
Click Reset your password.
-
Enter email linked to your Higson account. Check your email inbox, including the spam or junk folder, for the password reset email.
-
Upon clicking the hyperlink provided in the email, you will be directed to a page where you can set a new password for your account. Enter a new password. Retype it in the confirmation field.
-
Once you have entered and confirmed your new password, click Reset password button to save your new password.
Profiles in our environment are entire data modules. The domain and context are directly assigned to the profile and cannot exist without it. All the profiles existing in the environment are listed above the toolbar.
Selecting profile
-
Open the dropdown menu on the right side of the toolbar.
-
Choose a profile from the list.
Profiles screen
In order to access profiles screen open Tools in Main Toolbar and select profiles.
After you enter Profiles you will see screen of all profiles:
No. | Column name | Description |
---|---|---|
1. | Name | Full profile name |
2. | Description | Optional profile description |
3. | Default tag | Tag assigned to the profile. To learn more about assigning Tags go here [Hyperlink do przypisywania tagów] |
4. | Add tag to decision table | Flag adding selected tag automatically for each new decision table within the given profile |
5. | Add tag to functions | Flag adding selected tag automatically for each function within the given profile |
6. | Filter decision tables | Flag filtering the view of the list of the decision tables to show ones containing the selected tag |
7. | Filter functions | Flag filtering the view of the list of the functions to show ones containing the selected tag |
8. | Actions | List of quick access actions. Edit action (pencil) allows changing other columns within a profile. After it’s selected, two buttons will emerge in its place: click Save to save changes or Cancel to reject them. Remove action (bin icon) deletes the desired profile. |
9. | Add profile | Adds a new profile. Enter its name and optionally other data to save it. You can click Cancel to remove it. |
Adding new profile
In order to add a new profile, you need to:
-
Choose + Add profile
-
Provide unique Profile name. Name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “-”.
a. If you enter illegal characters in name field, then borders will be highlighted with red color, and you will not be able to save tag.
-
Optional: add description and the rest of profile properties
-
Choose Save
a. Profile with entered data is created.
b. If you enter the same name as one of the Profiles already created, then validation error will appear.
Runtime tokens are a screen that allows you to manage tokens. You can add new token and remove old ones. To access the runtime tokens screen, please select Tools in Main Toolbar and select Runtime tokens.
After you enter Runtime tokens you will see screen of all tokens:
No. | Column name | Description |
---|---|---|
1. | Checkbox | Checkbox allows you to select all tokens. |
2. | Token | Present token value. |
3. | User | User to whom the token is assigned. |
4. | Expiration | Token validity period date. |
5. | Actions | List of quick access actions. Currently, only the Remove action is available here. The Remove action deletes the desired license. |
If you hover on table row, you can click View value to see full Runtime token value
On the screen will present Value preview
Currently, there is only one filter Search which filter list of tokens by any string provided by user.
Runtime token actions
No. | Action name | Description |
---|---|---|
1. | Add token | Opens a runtime token wizard. Allows generating new tokens. |
2. | Delete tokens | Allows removing all selected tokens. |
Action - Add token
If you want to generate a new token for user, follow these steps:
-
Select Tools in Main Toolbar and select Runtime tokens
-
Chose + Add token
-
In point 1 select the user for whom the token should be generated. In point 2 choose the date until which the token should be valid.
a. If you leave the username empty, and you click Generate token button, you will see a validation error message
-
Generate token by clicking in Generate token button
Action - Delete tokens
If you want to delete more than one token, you can use the checkbox on table left side and press Delete tokens. You will see the confirmation wizard where you can Confirm or Cancel your action.
Action - Delete single token
If you want to delete only one token, you can click on the trash icon in the Actions column**.** You will see the confirmation wizard where you can Confirm or Cancel your action.
Configuration of the product in Higson is composed of:
- Domain configuration
- Decision tables
- Functions
Operators make changes in configuration in work session. Open session (by this we understand every change made in range of configuration) is visible only to operator, who is making changes. In the moment of publication that session changes are seen by all the users and are applied to structure.
There are two basic ways to publish your session: by Main toolbar > Tools > Sessions or shortcut session button in the top right corner of the application Higson.
-
When a user chooses to go through the main toolbar (A):
the screen will show with a list of all sessions:
While looking for specified session may filter possible matches by:
-
All sessions, Open, Published, Rejected (A)
-
Session id, Start date, End date, User (B)
Your guidelines will be applied automatically. There is no need to fill all search cells or filter decision tables at once. Input only those which you find necessary. Sessions view is in the form of a table with columns (C):
Id. Column name Description 1. Status Status of session: Published, Open, Rejected 2. User The user who owns the session 3. Start date Date of creation of session 4. End date Date of publishing or rejecting session 5. Remote Flag informing if the session created by higson runtime rest 6. Description Description of a session after publishing or rejecting When a session from the list is selected (by clicking on it) detail information will show:
In this view, we can see a summary of the selected session: elements number, the start date of the session, and user owner (A).We can publish or reject changes in (B) (only if the Session in (A) is marked as Open). This view also contains three sections: Decision table, Domain, and Function with assigned table containing columns (C):
Id. Column name Description 1. Operation Operation on the element: Create, Update, or Delete 2. ID ID number of element 3. Element Element name 4. Created/Modified Date of operation executed at the element 5. Actions Column for reverting changes on one separate element on this session -
-
When the user chooses to go through the shortcut session button (B) in the top right corner of the application Higson**:**
very similar session details to the previous one view will appear:
After clicking on (A) Reject or Publish changes view will pop up:
After confirmation, changes will be PUBLISH or REJECT with no message or a message in the description field filled.
Sometimes after publishing a session, there is information about overriding changes. That means another user modified the same decision table while you were working on it. That means his changes probably are not in your current version of the decision table/function (or any objects you were working on). Then you may overwrite another user’s changes - which mean delete his changes and apply yours - or check what changes were made and apply them to your project - to not lose any important data. To check another user’s changes, go to the main toolbar and Main toolbar > Tools > Sessions (like in 1.). From the list of sessions, choose the one whose author is the other user. Then when detailed information about the session occurs, click on the change made on your object. Then you will see how that element looks after (that user) changes and may make a comparison with your current version, then apply any changes in your version by clicking on your session on the session list.
What’s more, there is a possibility of occurring collision during publishing. That happens when another user makes changes to the same element at the same time. When this kind of situation takes place, the user should run a cohesion analysis to check which elements are the cause. If cohesion analysis is needed, then some changes must be reverted from the session and then (they may be) applied again in a new session on the base of updated elements.
Snapshot is one of the global download/upload tools available in the Higson system. This functionality allows you to download selected parts of the configuration to the .ZIP file and upload this into another environment. The contents of the .ZIP file are a directory structure with plain text files, making it easy to work with. Higson allows downloading and uploading snapshots.
Snapshot download
To see the Download snapshot view select Download snapshot in Tools from Main Toolbar:
After that, you will see a screen allowing you to choose the elements that you want to be in a snapshot:
-
Profiles
-
Domain
-
Decision tables
-
Functions
-
Profile
-
Tags
-
Choosing the Profiles:
The snapshot download will contain functions and decision tables, which are versioned inside the selected **profiles **. You can choose one or more profiles. In this case, the snapshot download will contain functions and decision tables from two selected profiles:
-
Choosing the Domain:
When you choose Domain snapshot download will contain the domain with published changes and the current user’s session changes by default.
-
Choosing Decision tables:
When you choose Decision tables snapshot download will contain decision tables:
a) which will be from the current session if marked (A)
b) which will be filtered by name if filled and added in (B)
c) which will be marked by a specific tag if selected in (C)
-
Choosing Functions:
When you choose Functions snapshot download will contain functions - filtered the same way as Decision Tables in 1.3
-
Choosing Profile:
If you choose Profile, the snapshot download will contain the configuration of the profile.
The data contained in the snapshot may contain elements also from the context (A). Context definition can only be downloaded together with the profile definition. If you do not mark the checkbox Profile, the snapshot download will contain only functions, decision tables, and tags.
-
Choosing Tags:
When you choose Tags snapshot download will contain tags.
Finally, after applying configuration to snapshot download - to download the snapshot, you need to click the Download button (A):
Snapshot upload
In order to see Upload snapshot view select Upload snapshot in Tools from Main Toolbar:
Then Upload snapshot view will appear:
When you choose a file in (A) and click the Upload button (B), the upload will take place. When you choose the upload option (C) all changes from the snapshot will be published right away. After the snapshot uploads, summary results with detailed information will appear in a dropdown list form:
In summary, there is information on how many elements were in status:
No. | Status | Description |
---|---|---|
1. | Imported | Elements imported |
2. | Deleted | Elements deleted |
3. | Errors | Elements with errors occurred |
4. | Skipped | Elements skipped |
5. | Not published | Elements not published |
Every status section can be expanded (A) for more detailed information with a description per element, e.g.:
Historical Snapshot uploads
There is also a historical Snapshot uploads view available. After clicking on (A) from the Upload snapshot view:
you will see the Snapshot uploads view with historical uploads in the form of a table:
with column names (C):
No. | Column name | Description |
---|---|---|
1. | Date | Date of snapshot upload |
2. | File name | The file name of the file from which the snapshot was uploaded |
3. | User | User name which performed snapshot upload |
4. | Status | Summary status of snapshot upload: Warning, Skip, Ok, Error |
5. | Actions | Contains expandable Details (D) if any message upload exists |
After clicking on (D) you will be redirected to view with detailed information as a dropdown list like in the * Upload Snapshot* summary view.
Insertable field (B) allows filtering table data by Date and File name column.
Tags are helpful tools to search for decision tables and functions. They work as label, which can be assign to different elements in the system. Tags have no influence on work of Higson system, they are there only for our convenience.
In order to see Tags, select Tools → Tags in Main Toolbar.
After you enter Tags you will see screen of all Tags:
No. | Column/Action name | Description |
---|---|---|
1. | Name | Full tag name. You can sort this column by left-clicking on the arrows visible next to the label. |
2. | Description | Full tag description. You can sort this column by left-clicking on the arrows visible next to the label. |
3. | Access control | Shows which tags have restricted access. You can sort this column by left-clicking on the arrows visible next to the label. |
4. | Actions | List of quick access actions available for each user. Available actions are: - Find usages - Edit - Delete |
5. | Add tag | Allows to create new Tags. To learn more about adding Tags go here. |
6. | Upload tags | Allows to upload Tags from a XLSX file. To learn more about uploading Tags go here. |
7. | Download tags | Downloads a XLSX file that contains data of all Tags currently on the environment. To learn more about downloading Tags go here |
You can see all Filters available in Tags below:
No. | Filter name | Description |
---|---|---|
1. | Search text field | Filter by any string provided by user. Filtered by Name column. |
2. | Access control checkbox | Filter by Access control column. |
All actions visible in quick access action list are listed below:
No. | Name | Description |
---|---|---|
4. | Actions | List of quick access actions available for each tag. |
4a. | Find usages | Redirects to Global search with the correct filters applied. To learn more about finding usages go here |
4b. | Edit | Allows to edit tag’s data. To learn more about editing tag’s data go here. |
4c. | Delete | Deletes tag. To learn more about deleting tag go here. |
Tags - Add tag
If you want to add a new tag, follow these steps:
-
Choose Tools → Tags in Main toolbar.
-
Choose + Add tag.
a. Choosing + Add tag adds new empty record to the List of all Tags.
-
You:
a. need to provide unique Tag name. Name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “-”. i. If you entered illegal characters in name field, then borders will be highlighted with red color and you will not be able to save tag. b. can provide Tag description. Description can contain any characters. c. can select Access control checkbox to determine if Tag should have restricted access.
-
Choose Save. a. Tag with entered data is created. b. If you entered the same name as one of Tags already created, then validation error will appear.
Tags - Upload tags
If you want to upload tags, follow these steps:
-
Choose Tools → Tags in Main toolbar.
-
Choose Upload. a. Choosing Upload brings up Upload tags screen.
-
Drag&drop desired file or Click to upload a file and choose file in File explorer. a. If you will choose a file with extension other than XLSX, then validation error will pop-up.
-
Choose Upload.
-
When progress bar reach 100%, it mean that file was uploaded correctly.
a. If validation error will occur (see above), then upload process is being aborted.
Tags - Download tags
If you want to download all tags currently on the environment, follow these steps:
-
Choose Tools → Tags in Main toolbar.
-
Choose Download.
a. Choosing Download downloads a XLSX file, that contains data of all tags currently on the environment.
Tags - Find usages
If you want to know which elements use certain tags, follow these steps:
- Choose Tools → Tags in Main toolbar.
- Choose Find usages actions for desired Tag. a. Choosing Find usages redirects to Global search with the correct filters applied.
Tags - Edit
If you want to edit data in specific tag, follow these steps:
-
Choose Tools → Tags in Main toolbar
-
Choose Edit action for desired tag.
a. If Tag is being used by any Elemetn, then Edit action is greyed out. b. Highlighted borders indicate, that edit mode is active.
-
Edit any data you need.
a. Name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with „-’’. If you entered illegal characters in name field, then borders will be highlighted with red color and you will not be able to save tag.
-
Choose Save.
a. Tag is being updated. b. If you entered the same name as one of Tags already created, then validation error will appear.
Tags - Delete tag
If you want to delete specific tag, follow these steps:
-
Choose Tools → Tags in Main toolbar.
-
Choose Delete action for desired tag. a. If Tag is being used by any Element, then Delete action is greyed out. b. After choosing Delete action, confirmation pop-up will appear
-
Choose Delete.
a. Specific Tag is being deleted from the environment. This action is irreversible.
Tester allows you to verify if the created Decision Table, Function and Domain Elements are working as intended. In order to see Tester, select Tools → Tester in Main Toolbar.
After you enter Tester you will see Test panel with a list of all tests:
No. | Column/Action Name | Description |
---|---|---|
1. | Test Name | Full test case name. You can sort this column by left-clicking on the arrows visible next to the label. |
2. | User | User’s login that made the last modification in the test case. You can sort this column by left-clicking on the arrows visible next to the label. |
3. | Last Modified | The last modification date of the test case. You can sort this column by left-clicking on the arrows visible next to the label. |
4. | Actions | List of quick access actions. Currently only the Remove action (bin icon) is available here. The Remove action deletes the desired test case. To learn more about removing a specific test case, go here. |
5. | + Add Test | Allows creating a new Test case. To learn more about adding Test cases, go here. |
6. | Upload Test | Allows uploading Test case from an XLSX file. To learn more about uploading Test cases, go here. |
7. | Hide/Show Filters | Hides or reveals the Filters bar accordingly. If the Filter bar is visible, then the action Hide filters is available. If it’s hidden, then the action Show filters is available. - is visible, then action Hide filters is available. - is hidden, then action Show filters is available. |
You can see all Filters available in a Test panel below:
No. | Filter Name | Description |
---|---|---|
1. | Search Text Field | Filter by any string provided by the user. |
2. | Date Range | Filter by last modified date in format YYYY/MM/DD-YYYY/MM/DD. |
3. | Modified By | Filter by users who made the last modification in test cases. |
Number in Hide/Show filters action indicates how many filters are active.
Tester - Upload test
If you want to upload a test case from Test panel screen, follow these steps:
-
Choose Tools → Tester in Main toolbar.
-
Choose Upload test.
a. Choosing Upload brings up Upload test case screen.
-
Drag&drop desired file or Click to upload a file and choose file in File explorer.
a. If you choose a file with extension other than XLSX, then validation error will pop up.
-
When the progress bar reaches 100%, it means that test was uploaded correctly.
a. You will be redirected to the uploaded Test case screen. Bear in mind, that Test case has not been saved yet. In order to save uploaded Test case, choose Save test.
b. If validation error occurs (see above), then an upload process is being aborted.
Tester - Add test case
If you want to add a new test case, follow these steps:
-
Choose Tools → Tester in Main toolbar.
-
Choose + Add test.
a. Choosing + Add test opens New Test case screen.
No. Name Description 1. Enter Test Name Enter unique test case name here. Test case name can contain only characters from collection a-z; 0-9; “-”, “_”, and it can’t start with “-”. 2. Test Settings Bar Allows configuring delimiter - choose which delimiter ("," or “|”) will be used in the expected value. Default delimiter is “,”. 3. + Add New Element Opens Add New Element screen. You can choose here which elements will be added to the Test Case. Available elements are: - Decision Tables - Functions - Domain Configuration Elements 4. Download Test Downloads an XLSX file that contains all data from the currently opened Test Case. 5. Upload Test Allows uploading Test Case from an XLSX file. To learn more about uploading Test Cases, go here. 6. Save Test Allows saving Test Case. Action is grayed out until Tested Elements are provided. 7. Run Test Runs the currently opened Test Case with set Test Settings. When the process is finished, then Test Results will be updated for each Tested Element. 8. Tested Elements List of all elements added to the Test Case. 9. Test Input Data List of all available Test Input Data for Tested Elements. -
Choose + Add new element. This step is necessary to save Test case.
a. Choosing + Add new element brings up New element screen.
No. Name Description 1. Add to Test Add selected elements to the Test Case. Greyed out until at least one element is selected. 2. Element Type Bar Allows switching between visible Element Types. Note that switching between different tabs will not uncheck already-checked elements. 3. Elements Search Field Filters visible elements by any string provided by the user. 4. Checkboxes Select one or multiple checkboxes to add elements to the Test Case. -
Select elements you wish to add to Test case.
a. After you select at least one element, then Add to test button will activate.
-
Choose Add to test.
a. Selected elements are added to the Test case.
b. Test input data is added automatically based on selected elements.
-
In Enter test name field enter unique test name.
-
In Expected value field enter value you expect. This step is optional to save a test case.
-
In Test input data table fill Value fields accordingly. This step is optional to save a test case.
-
Configure Test settings. This step is optional to save a test case.
-
Choose Save test.
a. Test case with data you provided is saved.
b. If you enter the same name as one of the Test cases already created, then validation error will appear.
Tester - Remove test case
If you want to remove a specific test case, follow these steps:
-
Choose Tools → Tester in Main toolbar.
-
Choose Remove action (bin icon) for Test case you want to delete.
a. After choosing Remove action, confirmation pop up will appear.
-
Choose Confirm.
a. Specific Test case is being removed from the environment. This action is irreversible.
Test case details screen
You can access Test case details screen by left-clicking on specific Test case in Test panel. Test case details screen looks exactly the same as New test screen.
No. | Name | Description |
---|---|---|
1. | Test case name | Enter unique test case name here. Test case name can contain only characters from the collection a-z; 0-9; “-”, and “_”, and it can’t start with ‘-’. |
2. | Test settings bar | Allows configuring the delimiter - choose which delimiter ("," or “|”) will be used in the expected value. Default delimiter is “,”. |
3. | + Add new element | Opens the Add new element screen. You can choose here which elements will be added to the Test case. Available elements are: - Decision Tables - Functions - Domain Configuration Elements |
4. | Download test | Downloads an XLSX file that contains all data from the currently opened Test case. To learn more about downloading Test cases, go here. |
5. | Upload test | Allows uploading a Test case from an XLSX file. To learn more about uploading Test cases, go here. |
6. | Save test | Allows saving the Test case. Action is greyed out until Tested elements are provided. |
7. | Run test | Runs the currently opened Test case with set Test settings. When the process is finished, then Test results will be updated for each Tested element. |
8. | Tested elements table | List of all elements added to the Test case. - Name: Full code/name/path of the tested element. You can change the order of Tested elements by drag & dropping each element. - Type: Type of the tested element: Decision table, Function, or Domain. - Test Result: When the Run test process is finished, then the Test result column will be updated for each Tested element. Test result can take statuses as: - Success: Expected value matches value returned by the system based on Test input data values. - Failure: Expected value does not match the value returned by the system based on Test input data values. - Error: An error occurred while running the test for a specific Tested element. Check LOG in ACTIONS column for more information. - No expected value: Run test process finished with no errors, but there is no Expected value to compare with the value returned by the system based on Test input data values. - Expected Value: Value expected by the user. After the Run test process is started, then the Expected value will be compared with the value returned by the system based on Test input data values. - Actions: Available actions for each Tested element: - LOG: Informs about problems that occurred in Run test process for Tested element. If there are no LOGS to display, then the action is greyed out. - Remove (bin icon): Removes the Tested element from the Test case. |
8a. | Name | Full code/name/path of the tested element. You can change the order of Tested elements by drag & dropping each element. |
8b. | Type | Type of tested element: Decision table, Function, or Domain. |
8c. | Test result | When Run test process is finished, then Test result column will be updated for each Tested element. Test result can take status as: - Success: Expected value matches value returned by the system based on Test input data values. - Failure: Expected value does not match the value returned by the system based on Test input data values. - Error: An error occurred while running the test for a specific Tested element. Check LOG in ACTOINS column for more information. - No expected value: Run test process finished with no errors, but there is no Expected value to compare with the value returned by the system based on Test input data values. |
8d. | Expected value | Value expected by the user. After Run test process is started, then Expected value will be compared with value returned by system based on Test input data values. |
8e. | Actions | Available actions for each Tested element: - LOG: Informs about problems that occurred in Run test process for Tested element. If there are no LOGS to display, then action is greyed out. - Remove (bin icon): Removes Tested element from Test case. |
8f. | Tested elements | Filter Tested elements by any string provided by the user. Filtered by Name column. |
8g. | Test result drop-down list | Filter Test results by test results status. |
9. | Test input data table | List of all available Test input data for Tested elements. |
9a. | Code | Full Test input data code. You can change the order of Test input data by drag & dropping each of them. |
9b. | Type | Type of Test input data i.e. string, integer, date etc. |
9c. | Value | Value of Test input data entered by the user. |
9d. | Actions | Available action for each Test input data: - Remove (bin icon): Removes Test input data from Test case. Bear in mind, that deleting Test input data may cause errors in test results. |
9e. | Test input data search field | Filter Test input data by any string provided by the user. Filtered by Code column. |
Test case details - Download Test case
If you want to download a specific test case, follow these steps:
-
Choose Tools → Tester in Main toolbar.
-
Left-click on Test case you wish to download.
a. Left-clicking on Test case opens Test case details screen.
-
Choose Download test.
a. Choosing Download test downloads an XLSX file that contains data from currently opened Test case.
Test case details – Upload Test case
If you want to upload a test case from Test case details screen, follow these steps:
-
Choose Tools Tester in Main toolbar.
-
Choose + Add test or left-click on existing Test case in Test panel.
a. choosing + Add test and left-clicking on Test case opens New Test case screen or Test case details screen accordingly.
-
Choose Upload test.
a. Choosing Upload test brings up Upload test case screen.
-
Drag&drop desired file or Click to upload a file and choose file in File explorer.
a. If you choose a file with extension other than XLSX, then validation error will pop up.
-
When the progress bar reaches 100%, it means that Test case was uploaded correctly.
a. If a validation error occurs (see above), then an upload process is being aborted.
b. Bear in mind, that if in step 2 you chose existing Test case, then uploaded Test case will overwrite it.
Test case details - Run test case
If you want to run a test case, follow these steps:
-
Choose Tools Tester in Main toolbar.
-
Left-click on Test case you wish to Run test for.
-
Choose Run test.
a. When Run test process is finished, then Test result column will be updated for each Tested element.
Test result can take status as:
i. Success - Expected value matches value returned by system based on Test input data values
ii. Failure - Expected value does not match value returned by system based on Test input data values
iii. Error - an error occurred while running test for specific Tested element. Check LOG in ACTIONS column for more information
iv. No expected value - Run test process finished with no errors, but there is no Expected value to compare with value returned by system based on Test input data values.
You can mouse over on test results for each Tested element to see value returned by system.
b. You can filter Tested elements by selecting test result status in Test result drop-down list. The Number indicates how many statuses are selected.
Users’ screen contains information about all users that are created. Only those users have access to Higson module that you are working on. In order to see Users, select Tools → Users in Main Toolbar.
After you enter Users you will see screen of all Users:
No. | Column/Action name | Description |
---|---|---|
1 | Login | Login associated with the account. Used for logging in to your Higson module. You can sort this column by left-clicking on the arrows visible next to the label. |
2 | First name | First name of the user associated with the account. You can sort this column by left-clicking on the arrows visible next to the label. |
3 | Last name | Last name of the user associated with the account. You can sort this column by left-clicking on the arrows visible next to the label. |
4 | E-mail address of the user associated with the account. You can sort this column by left-clicking on the arrows visible next to the label. | |
5 | Roles | All roles assigned to the account. You can sort this column by left-clicking on the arrows visible next to the label. |
6 | Status | Current status of the account: - New, inactive - Active - Blocked - Closed You can sort this column by left-clicking on the arrows visible next to the label. |
7 | Created on | Date of creation of a user. You can sort this column by left-clicking on the arrows visible next to the label. |
8 | Actions | List of quick access actions available for each user. Available actions are: - Edit - Update password - Show login history - Delete user |
9 | + Add user | Allows creating new Users. To learn more about adding Users, go here. |
10 | Download users | Downloads an XLSX file that contains data of all Users currently on the environment. To learn more about downloading Users, go here |
11 | Upload users | Allows uploading Users from an XLSX file. To learn more about uploading Users, go here. |
12 | Hide/Show filters | Hides or reveals Filters bar accordingly. If Filter bar: - is visible, then action Hide filters is available. - is hidden, then action Show filters is available. |
You can switch between Grants, Roles and Users screens by left-clicking on the desired Tab.
You can see all Filters available in Users tab below:
No. | Filter Name | Description |
---|---|---|
1. | Search text field | Filter by any string provided by the user. Filtered by the Login column. |
2. | Date range | Filter by created on date in the format YYYY/MM/DD-YYYY/MM/DD. |
3. | Status | Filter by the user’s account status. |
4. | Role | Filter by assigned roles. |
Number in Hide/Show filters action indicates how many filters are active.
All actions visible in a quick access action list are listed below:
No. | Name | Description |
---|---|---|
7. | Actions | List of quick access actions available for each user. |
7a. | Edit | Allows to edit user data. To learn more about editing user data go here. |
7b. | Update | Allows updating the user’s password. To learn more about updating the user’s password go here. |
7c. | Show login | Shows login history. To learn more about login history go here. |
7d. | Delete user | Deletes user. To learn more about deleting the user go here. |
Users - Add user
If you want to add a new user, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Choose Add user
a. Choosing Add user opens a step-by-step Add a new user wizard.
-
In step 1. Data, you:
a. need to provide unique user’s login. Login can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “@”.
b. need to provide user’s First name. First name can contain only characters from collection a-z; diacritical marks; space; “-”.
c. need to provide user’s Last name. Last name can contain only characters from collection a-z; diacritical marks; space; “-”.
d. need to provide unique user’s e-mail address. E-mail address can contain only characters from collection a-z; 0-9; “.”; “-”; “_”; “@”.
-
Choose Next.
a. If you enter illegal characters in any field, then adequate validation error will appear.
i. For Login field
ii. For First name field
iii. For Last name field
iv. For Email field
b. If you enter Login or Email already used by another account, then adequate validation error will appear.
i. For Login field
ii. For Email field
-
In step 2. User roles you can assign Roles from a drop-down list. You can select multiple roles. This step is optional to add user.
-
Choose Next.
-
In step 3. Account registration you can select if you want to manually set password for user, or you can send activation link to the e-mail address entered in step 1. Data.
a. Bear in mind, that Activation link option is only available when property higson.studio.security.password.send-reset-tokens is configured within dedicated file application.properties or higson.properties
b. If you choose the Password option, then there are a few Password requirements that need to be met in order to save an account. These requirements are:
i. 10-128 characters—password can’t be shorter than 10 characters and can’t be longer than 128 characters
ii. Lower case letter (a-z) - password must contain at least one lower case letter
iii. No more than 2 identical characters in a row - you can’t type more than two identical characters in a row i.e. CC; cc; Cc is acceptable but CCC; ccc; CcC is not
iv. New and confirmed password have to match - password typed in New password and Confirm new password must be exactly the same.
v. Number (0-9) - password must contain at least one number
vi. Uppercase letter (A-Z) - password must contain at least one upper case letter
vii. Special character - password must contain at least one special character i.e. !; @; #; $; %; etc.
-
Choose Save account.
a. Account with entered data is created.
b. If Password requirements aren’t met, then adequate requirement will be highlighted with red color, and you will not be able to save an account.
Users - Download users
If you want to download data of all users currently in the environment, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Choose Download users.
a. Choosing Download users downloads a XLSX file, that contains data of all users currently in the environment.
Users - Upload users
If you want to upload users, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Choose Upload users.
a. Choosing Upload users brings up Upload users screen.
-
Drag&drop desired file or Click to upload a file and choose file in File explorer.
a. If you choose a file with extension other than XLSX, then validation error will pop up.
-
Choose Upload.
-
When the progress bar reaches 100%, it means that file was uploaded correctly.
a. If a validation error occurs (see above), then an upload process is being aborted.
Users - Edit
If you want to edit data of a specific user, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Choose Edit action for the desired user.
a. Highlighted borders indicate that edit mode is active
-
Edit any data you need:
a. Login can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “@”.
b. First name can contain only characters from collection a-z; diacritical marks; space; “-”.
c. Last name can contain only characters from collection a-z; diacritical marks; space; “-”.
d. E-mail address can contain only characters from collection a-z; 0-9; “.”; “-”; “_”; “@”.
-
Choose Save.
a. User’s account data is being updated.
b. If you enter illegal characters in any field, then adequate validation error will appear.
i. For Login field
ii. For First name field
iii. For Last name field
iv. For Email field
c. If you entered Login or Email already used by another account, then adequate validation error will appear.
i. For Login field
ii. For Email field
Users - Update password
If you want to update the password of a specific user, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Choose Update password action for desired user.
a. Choosing Update password brings up Update password screen.
-
Enter new password in New password and Confirm new password fields.
a. There are a few Password requirements that need to be met in order to update password. These requirements are:
i. 10-128 characters - password can’t be shorter than 10 characters and can’t be longer than 128 characters
ii. Lower case letter (a-z) - password must contain at least one lower case letter
iii. No more than 2 identical characters in a row - you can’t type more than two identical characters in a row i.e. CC; cc; Cc is acceptable but CCC; ccc; CcC is not
iv. New and confirmed password have to match - password typed in New password and Confirm new password must be exactly the same.
v. Number (0-9) - password must contain at least one number
vi. Uppercase letter (A-Z) - password must contain at least one upper case letter
vii. Special character - password must contain at least one special character i.e. !; @; #; $; %; etc.
-
Choose Change.
a. The Password to the user’s account is being updated.
Users - Show login history
If you want to check the login history of a specific user’s account, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Choose Show login history action for desired user.
a. Choosing Show login history brings up Login history screen.
No. | Name | Description |
---|---|---|
1 | Date | Day and precise hour of login attempt. You can sort this column by left-clicking on the arrows visible next to the label. |
2 | Status | Status of login attempt. Available statuses are: - Success - login attempt was successful. User logged in to Higson system. - Bad_credentials - login attempt failed. User provided the wrong password and was not able to login to Higson system. You can sort this column by left-clicking on the arrows visible next to the label. |
3 | Page | Allows cycling through pages. Use buttons < Previous and Next > to change pages one at a time or type a specific page number in the text field to move directly to it. |
Users - Delete user
If you want to delete a specific user, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Choose Delete user(bin icon) action for user you wish to delete.
a. After choosing Delete user action, confirmation pop-up will appear.
-
Choose Confirm.
a. Specific User is being deleted from the environment. This action is irreversible.
Roles
Roles are the set of selected grants, multiple grants may be assigned to one Role. Roles screen contains information about all roles that are created.
In order to see Roles, select Tools → Users in Main Toolbar.
Then, select Roles tab.
After you enter Roles you will see screen of all Roles:
No. | Column/Action Name | Description |
---|---|---|
1. | Code | Full role code/name. Role code and Role name are interchangeable. You can sort this column by left-clicking on the arrows visible next to the label. |
2. | Created on | Date of creation of a role. You can sort this column by left-clicking on the arrows visible next to the label. |
3. | Description | Full role description. You can sort this column by left-clicking on the arrows visible next to the label. |
4. | Grants | List of all grants assigned to the role. |
5. | Actions | List of quick access actions available for each role. Currently only Delete role (bin icon) action is available. To learn more about deleting roles go here. |
6. | Add role | Allows to create new Roles. To learn more about adding Roles go here. |
7. | Download roles | Downloads an XLSX file that contains data of all Roles currently on the environment. To learn more about downloading Roles go here. |
8. | Upload roles | Allows to upload Roles from an XLSX file. To learn more about uploading Roles go here. |
You can switch between Grants, Roles and Users screens by left-clicking on the desired Tab.
Roles - Add role
If you want to add a new role, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Switch to Roles tab.
-
Choose Add role.
a. Choosing Add role opens Role screen.
-
In Description section you:
a. need to enter unique role code/name. Code/name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with „-’'.
i. If you enter illegal characters in name field, then borders will be highlighted with red color, and you will not be able to save a role.
b. need to provide role Description
-
In the Grants section, you can select one or more grants to assign to a role.
-
Choose Save changes.
a. Role with entered data is created.
b. If you enter the same name as one of the Roles already created, then validation error will appear.
Roles - Download roles
If you want to download data of all roles currently in the environment, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Switch to Roles tab.
-
Choose Download roles.
a. Choosing Download roles downloads an XLSX file that contains data of all roles currently in the environment.
Roles - Upload roles
If you want to upload roles, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Switch to Roles tab.
-
Choose Upload roles.
a. Choosing Upload roles brings up Upload roles screen.
-
Drag&drop desired file or Click to upload a file and choose file in File explorer.
a. If you choose a file with extension other than XLSX, then validation error will pop up.
-
Choose Upload.
a. If there is something wrong with data in XLSX file, then validation error will appear.
-
When the progress bar reaches 100%, it means that file was uploaded correctly.
a. If a validation error occurs (see above), then an upload process is being aborted.
Roles - Delete role
If you want to delete a specific role, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Switch to Roles tab.
-
Choose Delete role(bin icon) action for a role you wish to delete.
b. After choosing Delete role action, confirmation pop-up will appear.
-
Choose Confirm.
a. Specific Role is being deleted from the environment. This action is irreversible.
Grants
Grant allows using one or few functions in a Higson system, for example, authority to read a list of decision tables, change decision tables, etc… designers form these kinds of privileges available to users from the Higson team. Nevertheless, nothing stay on your way to set new grants.
In order to see Grants, select Tools → Users in Main Toolbar.
Then, select Grants tab.
After you enter Grants you will see screen of all Grants:
No. | Column/Action name | Description |
---|---|---|
1. | Code | Full grant code/name. Grant code and Grant name are interchangeable. You can sort this column by left-clicking on the arrows visible next to the label. |
2. | Created on | Date of creation of a grant. You can sort this column by left-clicking on the arrows visible next to the label. |
3. | Description | Full grant description. You can sort this column by left-clicking on the arrows visible next to the label. |
4. | Actions | List of quick access actions available for each grant. Currently only Delete grant (bin icon) action is available. To learn more about deleting grants, go here. |
5. | Add grant | Allows creating new Grants. To learn more about adding Grants, go here. |
You can switch between Grants, Roles and Users screens by left-clicking on the desired Tab.
Grants - Add grant
If you want to add a new grant, follow these steps:
-
Choose Tools → Users in Main toolbar.
-
Switch to Grants tab.
-
Choose Add grant.
a. Choosing Add grant opens Grant screen.
-
In Description section you:
a. need to enter unique grant code/name. Code/name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with „-’'.
i. If you enter illegal characters in name field, then borders will be highlighted with red color, and you will not be able to save a role.
b. need to provide grant Description.
-
Choose Save changes.
a. Grant with entered data is created.
b. If you enter the same name as one of the Grants already created, then validation error will appear.
Grants - Delete grant
If you want to delete specific grant, follow these steps:
-
Choose Tools Users in Main toolbar.
-
Switch to Grants tab.
-
Choose Delete grant (bin icon) action for Grant you wish to delete.
a. After choosing Delete grant action, confirmation pop-up will appear.
-
Choose Confirm.
a. Specific Grant is being deleted from the environment. This action is irreversible
Versions is a very useful option when the calculation mechanism in your product is changing through time. In Versions, you can create new Regions and Versions of Regions
In order to see Versions, select Versions in Main Toolbar.
After you enter Versions you will see screen of all Regions:
No. | Name | Description |
---|---|---|
1 | Regions search | Filter by any string provided by the user. All Regions matching the provided criteria are filtered. |
2 | Add a new Region | Allows creating new Regions. To learn more about adding Regions, go here. |
3 | All Regions | Displays every Region created. |
4 | Download Regions | Downloads an XLSX file containing all Regions and Versions of Regions. To learn more about downloading Regions, go here. |
5 | Upload Regions | Allows uploading Regions from an XLSX file. To learn more about uploading Regions, go here. |
6 | Tiles view | Enables the view of Regions as tiles. |
7 | List view | Enables the view of Regions as a list. |
Region tile:
List view of Regions:
Versions - Add a new region
If you want to add a new region, follow these steps:
-
Choose Versions in Main toolbar.
-
Choose ADD A NEW REGION +
a. Choosing ADD A NEW TYPE + opens Add new region screen.
-
Provide unique Region name. Name can contain only characters from the collection: a-z; A-Z; 0-9; “-”; “_” and white-space characters.
-
Choose Add.
a. Region with data you provided is created.
b. If you enter the same name as one of the Regions already created, then validation error will appear.
Versions - Download Regions
If you want to download Regions, follow these steps:
-
Choose Versions in Main toolbar.
-
Choose Download.
a. Choosing Download downloads a XLSX file, that contains all Regions and Versions of Regions.
Versions - Upload Regions
If you want to upload Regions, follow these steps:
-
Choose Versions in Main toolbar.
-
Choose Upload.
a. Choosing Upload brings up Upload regions screen.
-
Drag&drop desired file or Click to upload a file and choose file in File explorer.
a. If you choose a file with extension other than XLSX, then validation error will pop up.
b. If there is something wrong with data in XLSX file, then validation error will appear.
-
Choose Upload.
-
When the progress bar reaches 100%, it means that regions were uploaded correctly.
a. If a validation error occurs (see above), then an upload process is being aborted.
Region details screen
You can access Region details by left-clicking on the specific region tile in the screen of all Regions. You can also see Region details by changing from Tiles view to List view.
An important difference in the Versions screen is that Regions have no read-only mode. Another important difference is that changes made in Regions are instant, without session mechanism.
Data in Regions is editable all the time.
Tiles view
List view
No. | Name | Description |
---|---|---|
1 | Active | Indicates which Version is currently visible based on My View (hyperlink do MyView) settings. To learn more about My View, go here (hyperlink do MyView). |
2 | Default | “Default” Version is set by Timeliness based on VALID TO and VALID FROM dates. Currently valid Version is labeled as “Default”. |
3 | Add to | Allows adding Version to Timelines. User cannot add Version to Timelines twice in a row; in this case, the action will be greyed out. To learn more about adding a version to Timelines, go here. |
4 | Clone | Allows cloning Version. To learn more about cloning a version, go here. |
5 | Delete Version | Deletes a version of the region. If the action is greyed out, it means that the version is assigned to Timelines and cannot be deleted. To learn more about deleting a version, go here. |
6 | Delete Timelines | Deletes Timelines; only the newest Timeline can be deleted. “Delete” action is greyed out for older Timelines. To learn more about deleting Timelines, go here. |
7 | Delete region | Deletes a Region. To learn more about deleting regions, go here. |
Region details - Add to Timelines
If you want to add a version to Timelines, follow these steps:
-
Choose Versions.
-
Left-click on a region you wish to add Timelines to.
a. Left-clicking on region brings up Region details screen.
-
Choose Add to Timelines action for desired Version.
a. If action is greyed out, it means that this particular Version was added to the newest Timeline. You cannot add the same Version to Timelines twice in a row.
-
Choose VALID FROM date in calendar.
-
Choose Accept.
a. New Timeline is created.
b. If you choose a date older than the VALID FROM date of the currently newest Timeline, then a validation error will appear.
Region details - Clone version
If you want to clone a version, follow these steps:
-
Choose Versions.
-
Left-click on a region you wish to clone a version.
a. Left-clicking on region brings up Region details screen.
-
Choose Clone version action for desired Version.
a. The New version is created as a clone.
-
You can enter the description for created version.
Region details - Delete version
If you want to delete a version, follow these steps:
-
Choose Versions.
-
Left-click on a region you wish to clone a version.
a. Left-clicking on region brings up Region details screen.
-
Choose Delete version action for desired Version.
a. After choosing Delete version action, confirmation pop up will appear.
-
Choose Delete.
a. Version is being deleted from Region.
b. Bear in mind that deleting version will also permanently delete all attached elements (Decision Tables, Functions, Domain Configuration elements).
Region details - Delete Timelines
If you want to delete timelines, follow these steps:
-
Choose Versions.
-
Left-click on a region you wish to clone a version.
a. Left-clicking on region brings up Region details screen.
-
Choose Delete timeline action for the newest timeline.
a. Bear in mind that only the newest timeline can be deleted. Delete action for older timelines is greyed out.
Region details - Delete Region
If you want to delete a region, follow these steps:
-
Choose Versions.
-
Left-click on a region you wish to delete.
a. Left-clicking on region brings up Region details screen.
-
Choose Delete region.
a. After choosing Delete region action, confirmation pop up will appear.
-
Choose Delete.
a. The Region is being deleted from the environment.
b. Bear in mind that deleting region will also permanently delete all attached elements (Decision Tables, Functions, Domain Configuration elements).
Functions enable you to write code snippets in regular programming language, which let you implement any logic you want. You can write functions where Decision Table matrix is not enough.
In order to see all functions, select Functions in Main Toolbar.
After you enter Functions you will see screen of all functions:
Each function is described by seven attributes:
No. | Column name | Description |
---|---|---|
1. | Name | Full function name/code. The function name and function code are interchangeable. |
2. | Type | Type of programming language used in the Groovy function. |
3. | Tags | List of all Tags assigned to the function. To learn more about assigning Tags go here. |
4. | Region | Code of Region the function is assigned to. To learn more about assigning Regions go here. |
5. | Description | Contains the Description of the function if such was added. |
6. | Last change | The last modification date of the function. |
7. | Actions | List of quick access actions. Currently only Remove action (bin icon) is available here. Remove action deletes desired function. |
On this screen, you can apply Filters to search for specific function or to narrow down the number of displayed functions. You can also perform actions on one or multiple functions.
You can see All Actions available for the functions below:
No. | Action | Description |
---|---|---|
1. | Checkboxes | Select the top checkbox to select all functions in the view, or select individual checkboxes to group functions for actions 5a, 5b, 5c, 5f, 5g, 5h, 5i. |
2. | + Add function | Opens a step-by-step function wizard. Allows to create new functions. To learn more about adding functions go here. |
3. | Upload | Allows to import functions from a ZIP file. To learn more about uploading functions go here. |
4. | Hide/Show filters | Hides or reveals Filters bar accordingly. If Filter bar is visible, then action Hide filters is available. If Filter bar is hidden, then action Show filters is available. - is visible, then action Hide filters is available. - is hidden, then action Show filters is available. |
5. | More | Drop-down list that contains actions 5a-5i. Bear in mind that actions 5a, 5b, 5c, 5f, 5g, 5h, 5i are available only if at least one function is selected (at least one checkbox is checked). Otherwise, the mentioned actions will be greyed out (see picture below the table). |
5a. | Mass export to XLSx | Downloads a ZIP file that contains XLSX file and files with functions’ body. To learn more about mass export go here |
5b. | Extract codes | Downloads a XLSX file that contains functions’ extract. To learn more about extracting codes go here. |
5c. | Download codes | Download a TXT file with functions’ names/codes To learn more about extracting codes go here. |
5d. | Select from file | Allows to upload a TXT file with function codes, after uploading, all functions present in file will be selected. To learn more about selecting from file go here |
5e. | Compare with extract | Allows to upload an XLSX file with functions’ extract. Makes comparison between the provided file and the environment. To learn more about comparing with extract go here |
5f. | Add region | Adds regions to all selected functions. To learn more about adding regions go here |
5g. | Remove region | Removes regions from all selected functions. To learn more about removing regions go here |
5h. | Manage tags | Allows to add/remove tags to/from selected functions. To learn more about adding/removing tags go here |
5i. | Remove | Deletes all selected functions. To learn more about removing functions go here |
More actions drop-down menu, when no function is selected.
You can see all Filters available for the functions below:
No. | Filter name | Description |
---|---|---|
1. | Search text field | Filter by any string provided by the user. |
2. | Type | Filter by used programming language: Groovy |
3. | Tags | Filter by assigned tags. Only tags assigned to at least one function are visible for selection. |
4. | Region | Filter by assigned regions. Only regions assigned to at least one function are visible for selection. |
5. | Date range | Filter by last change date in the format DD/MM/YYYY-DD/MM/YYYY. |
Functions - Add function
If you want to add a new function, follow these steps:
-
Choose Functions in Main toolbar.
-
Choose + Add function in All actions bar.
a. Choosing + Add function opens a step-by-step Function wizard.
No. Field/Bottom code Description 1a Name Allows to add function name. 1b Cancel Interrupts the process of creating a new function. Returns the user to the functions list view. 1c Next Proceeds to the next step of the function wizard. -
In step 1. Name, you need to provide unique Function code/name. Name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “-”.
a. If you change your mind and don’t want to create a new function, you can choose Cancel in step 1. Name.
-
Click Next.
a. If you enter illegal characters, then validation error will make field frame red.
b. If another function already uses the name you provided, then pop-up dialog will appear. You can either close the pop-up by clicking Cancel or you can click View existing function, that will redirect you to the appropriate function and close the Function wizard.
-
In step 2. Definition you may add description, assign a region and tags, but this data is not necessary to save a function.
No. Field/Bottom code Description 2a Description Add or modify element description. Here you can add any additional detailed information about the new function. 2b Change Modify tags attached to the function. 2c Previous Go back to the first step of the function wizard. 2d Save function Completes the process of creating the new function. a. If you choose Previous you will go back to step 1. Name
-
Choose Save function.
a. Function with data you provided is created. You will be redirected to Function’s details screen.
Functions - Upload
If you want to upload functions from ZIP file, follow these steps:
-
Choose Functions in Main toolbar.
-
Choose Upload in All actions bar.
a. Choosing Upload brings up the Upload screen.
-
Drag&drop desired file or Click to upload a file and choose file in File explorer.
a. If you choose a file with extension other than ZIP, then validation error will pop up to learn how the correct file looks like go here.
b. If there is some problem with the data in the ZIP file you provided, then validation error will pop up.
-
If the file loads correctly, it may be uploaded to the environment. File will load correctly if there is no file format problem.
a. If validation error occurs (see above), then no function will be uploaded.
No. Field/Bottom code Description 1 Close Aborts the upload process. 2 Delete Removes the loaded file. When clicked, you will need to provide the file to load for the upload process to be completed. 3 Upload Uploads the loaded file to the system. The report of the upload will show. -
Click Upload
-
When Upload is completed, the progress bar at 100% shows and the report is visible below.
It allows you to check all the imported elements and if any problems during upload occurred.
Functions - Mass export to XLSx
If you want to download one or more functions, follow these steps:
-
Choose Functions in Main toolbar.
-
Select one or more function.
a. Select the top checkbox to select all functions in the view, or select individual checkboxes to select one or multiple functions
-
From drop-down menu More actions choose Mass export to XLSx
a. If action Mass export to XLSx is greyed out, it means that no function has been selected.
b. Choosing Mass export to XLSx downloads a ZIP file that contains files with functions’ body (one file per function) and XLSX file with functions’ details.
Functions - Extract codes
If you want to extract one or more functions, follow these steps:
-
Choose Functions in Main toolbar.
-
Select one or more function.
a. Select the top checkbox to select all functions in the view, or select individual checkboxes to select one or multiple functions
-
From drop-down menu More actions choose Extract codes
a. If action Extract codes is greyed out, it means that no function has been selected.
b. Selecting Extract codes downloads a XLSX file that contains Code, SHA and Region columns
Functions - Download codes
If you want to download one or more function codes, follow these steps:
-
Choose Functions in Main toolbar.
-
Select one or more function.
a. Select the top checkbox to select all functions in the view, or select individual checkboxes to select one or multiple functions
-
From drop-down menu More actions choose Download codes
a. If action Download codes is greyed out, it means that no function has been selected.
b. Selecting Download codes downloads a TXT file that contains functions’ codes (as in you can see below, one function code per one row)
Functions - Select from file
If you want to select one or more functions from the file, follow these steps:
-
Choose Functions in Main toolbar.
-
From drop-down menu More actions choose Select from file
a. Choosing Select from file brings up the Select from file screen
No. Field/Bottom code Description 1 Upload a file Drag & drop a txt file from your computer or select a txt file through File Explorer. 2 Upload Uploads the loaded file. When clicked, the file gets uploaded and all elements provided in it are compared with elements on the environment. 3 Select Selects (checks checkboxes) for elements on the list from the provided file. -
Drag&drop desired file or Click to upload a file and choose file in File explorer.
a. Correct TXT file should look like this:
b. If you choose a file with extension other than TXT, then validation error will pop up
-
When the progress bar reaches 100%, you will be informed which functions will be selected.
a. Functions present in Selected elements table will be selected in step 5. These functions exist both in the TXT file and on the environment.
b. Functions present in Missing from table will not be selected in step 5. These functions exist only in TXT file therefore, they cannot be selected on the environment.
-
Choose Select.
a. All functions that were present in Selected elements table get selected (checkboxes associated with these functions are checked).
Functions - Compare with extract
Makes a comparison between file and the environment, gives information which element are the same, which changed and which are only in file or only in the environment.
-
Choose Functions in Main toolbar.
-
From drop-down menu More actions choose Compare with extract.
a. Choosing Compare with extract brings up the Compare with extract screen.
-
Drag&drop desired file or Click to upload a file and choose file in File explorer.
a. Correct XLS/XLSX file should look like this:
b. If you choose a file with extension other than XLS/XLSX, then validation error will pop up
-
When the progress bar reaches 100%, you will be informed about the status of all functions present in the environment and the extract file you provided.
-
In Select section (visible below table with functions’ status) choose which functions will be selected
a. You can select multiple options
b. Matching - functions that are equal between the environment and the extract file will be selected.
c. Different region - functions that are equal but with different regions between the environment and the extract file will be selected.
d. Different name - functions that are equal but with different name between the environment and the extract file will be selected.
e. Missing from extract - functions that are present in the environment but absent from extract file will be selected.
-
Choose Select buton.
a. If Select button is greyed out, it means that no checkboxes were selected in step 5.
b. All functions that match the criteria provided in step 5 are selected.
Functions - Add region
If you want to add a region to one or more functions, follow these steps:
-
Choose Functions in Main toolbar.
-
Select one or more functions without a Region.
a. Select the top checkbox to select all functions in the view, or select individual checkboxes to select one or multiple functions.
-
From drop-down menu More actions choose Add region.
a. If action Add region is greyed out, it means that no function has been selected.
b. Choosing Add region brings up the Manage versioning screen.
-
Select Region and one or more Version.
-
Choose Change.
a. Region is being assigned to all functions selected in Step 2.
b. If at least one function you selected in Step 2 had assigned Region, then validation error appears and assigning Region process will be aborted.
Functions - Remove region
If you want to remove region from one or more functions, follow these steps:
-
Choose Functions in Main toolbar.
-
Select one or more functions with a Region.
a. Select the top checkbox to select all functions in the view, or select individual checkboxes to select one or multiple functions.
-
From drop-down menu More actions choose Remove region.
a. If action Remove region is greyed out, it means that no function has been selected.
b. After choosing Remove region action, confirmation pop-up will appear.
-
Choose Confirm.
a. Regions are being removed from all selected functions.
Functions - Manage tags
If you want to manage tags for one or more functions, follow these steps:
-
Select the Functions on the Main toolbar.
-
Select one or more functions.
-
From the More Actions drop-down menu, select Manage Tags.
-
Select the tags you are interested in and click Save.
Functions - Remove
If you want to delete one or more functions, follow the steps below:
-
Choose Functions in Main toolbar.
-
Select one or more functions.
a. Select the top checkbox to select all functions in the view, or select individual checkboxes to select one or multiple functions.
-
From the drop-down menu More actions choose Remove
a. If action Remove is greyed out, it means that no function has been selected.
b. After choosing Remove action, confirmation pop-up will appear.
-
Choose Confirm.
a. All functions are deleted from the environment.
Function details screen
You can access Function details by left-clicking on the specific function in the List of all functions. * Function details* screen contains all information about the function, its Description, assigned Region/Tags, function body and function arguments.
Firstly, function basic info:
No. | Field/Bottom code | Description |
---|---|---|
1 | Add to favorites | Adds the element to favorites. |
2 | Function code/name | Current function name/code. |
3 | Copy name | Copies the function name to clipboard. |
4 | Language | Groovy. Defines the programming language in which the function is validated and performed. |
5 | Region | Carries information about region and version attached to the function. |
You can see Available actions for the function below:
No. | Action | Description |
---|---|---|
1 | Edit | Enables function edit mode. To learn more about editing function go here. |
2 | Duplicate | Allows to duplicate function. Duplicated function has all data the same as the original function. |
3 | Download function | Downloads a ZIP file that contains XLSX file and file with function body. |
4 | More actions | Drop-down list that contains actions 4a-4e. |
4a | Show history | Opens a new screen with a table of all modifications made on the function. To learn more about function history go here. |
4b | Rename | Allows changing function code/name. To learn more about renaming function go here. |
4c | Detach/Attach | Allows managing region and versions attached to the function. |
4d | Find usages | Opens a new screen with a table of all elements that use this function. You can apply filters to narrow down the results. To learn more about finding usages go here. |
4e | Remove | Deletes function. To learn more about removing function go here. |
The main part of the function view includes the most important information about the function that makes it work:
No. | Action | Description |
---|---|---|
1. | Description | Contains the Description of the function if such was added. |
2. | Tags | Contains the tags attached to function. |
3. | Argument name | Argument name defined separately for each argument. Must e unique within the function. |
4. | Argument type | Argument type selected from the available types list, defined separately for each argument. |
5. | Argument class | Argument class name defined separately for each argument. |
Function details - Edit
If you want to edit data in a specific function, follow these steps:
-
Choose Functions in Main toolbar.
-
Left-click on the function you wish to edit.
a. Left-clicking on function opens Function details* screen.
-
Choose Edit in Available actions.
a. Highlighted borders indicate that edit mode is active.
-
Edit any data you need.
No. Action Description 1 Description Contains the Description of the function if such was added. 2 Change Allows to manage tags. 3 Add argument Adds a new argument for which name, type, and class name will have to be provided. 4 Function body Here you can write code to create your algorithm. You can define variables and use arguments defined in the Argument section. 5 Cancel Rejects all changes made in the edit mode. 6 Save changes Saves all changes made in the edit mode. a. Bear in mind that function’s name can only be changed with Rename action.
-
Choose Save changes to save all changes made in the function.
a. Cancel reverts all changes made in the function.
Function details - Duplicate
If you want to duplicate specific function, follow these steps:
-
Choose Functions in Main toolbar.
-
Left-click on the function you wish to duplicate.
a. Left-clicking on function opens Function details* screen.
-
Choose Duplicate in Available actions.
a. Choosing Duplicate brings up the Duplicate function screen.
No. Action Description 1 Name Provide the name for the duplicated function. 2 Cancel Abort the process of duplicating the function. 3 Save changes Save the new, duplicated, element. 4 Close Abort the process of duplicating the function. -
Enter unique function name. Name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “-”.
-
Choose Save changes.
a. If you enter illegal characters, then validation error will make the field frame red.
b. If another function already uses the name you provided, then pop-up dialog will appear. You can either close the pop-up by clicking Cancel or you can click View existing function, that will redirect you to the appropriate function.
-
Choose Save changes.
a. The Function will be duplicated with the name provided in step 4. You will be redirected to duplicated Function’s details screen.
Function details – Show history
If you want to check all modifications made on function, follow these steps:
-
Choose Functions in Main toolbar.
-
Left-click on the function you want to check.
a. Left-clicking on function opens Function details* screen.
-
From drop-down menu More actions choose Show history.
a. Choosing Show history brings up the Function history screen.
No. Column name Description 1. Operation Type of operation made on function. 2. Author User’s login that made an operation. 3. Modification Date Date of the published session that made an operation. 4. Region Region and version assigned to function at the time of modification. 5. Actions View redirects to archived version of Function. In this screen you can choose Restore to restore that version of Function.
Function details - Rename
If you want to rename a function, follow these steps:
-
Choose Functions in Main toolbar.
-
Left-click on the function you wish to duplicate.
a. Left-clicking on function opens Function details screen.
-
From drop-down menu More actions choose Rename.
a. The Highlighted border around the function name indicates that it is editable.
-
Enter unique function name. Name can contain only characters from collection a-z; 0-9; “.”; “-”; “_” and it can’t start with “-”.
-
Choose Save name.
a. If you enter illegal characters, then validation error will appear.
b. If another function already uses the name you provided, then pop-up dialog will appear. You can either close the pop-up by clicking Cancel or you can click View existing function, that will redirect you to the appropriate function.
Function details - Find usages
If you want to check where the function is used, follow these steps:
-
Choose Functions in Main toolbar.
-
Left-click on the function you want to check.
a. Left-clicking on function opens Function details* screen.
-
From drop-down menu More actions choose Find usages.
a. Choosing Find usages brings up the Find usages screen.
No. Column name Description 1. Element type Type of element that uses this function. 2. Number of applied filters Informs the user how many filters of specific filters type are applied. 3. Unselect all filters inside Unselects all filters of specific type. 4. Show all Shows all available filters for the selected type. b. You can apply filters to narrow down the displayed results. All available filters are visible in the picture below.
When filters for search are set, you will see the list of results:
No. Column name Description 1. Element type Type of element that uses this function. 2. Element name Name of the element that uses this function. 3. Field Value of the element that uses this function. This column is filled only for Attribute value element, for other elements this column is empty. 4. Value Informs the user in what value the searched element was used.
Function details - Remove
If you want to delete specific function from Function details level, follow these steps:
-
Choose Functions in Main toolbar.
-
Left-click on the function you wish to remove.
a. Left-clicking on function opens Function details* screen.
-
From drop-down menu More actions choose Remove.
a. After choosing Remove action, confirmation pop-up will appear.
-
Choose Confirm.
a. The Function is deleted from the environment.
Technical Documentation
Bootstrap
Higson Studio is a Java application and can be run at JVM machine equipped with:
- at least Java 17 JRE,
- 4 GB of RAM,
- 1 CPU,
- Linux, Windows or macOS machine.
Docker
Higson Studio distribution does not contain JDBC drivers other than H2 database. Every image contains description how to configure JDBC driver.
Full docker repository is available here.
Prerequisites:
- Java 17
- Maven 3.x
- Spring Framework
- Higson Studio
We will show how to configure Higson Engine using Spring Boot configuration
Maven configuration
Apart from standard spring boot dependencies, you need to include higson-runtime dependency, available in Maven Central.
|
|
Another needed dependency is the JDBC driver to the database of choice, e.g., h2, oracle, mssql, postgresql and database connection pool managing library:
|
|
Properties
Add Higson Runtime data source properties to application.properties file.
|
|
Properties are available here
Spring configuration
Add required beans to your java class annotated with @Configuration:
|
|
The application is ready to start. After successfully starting the application, you can see similar log output:
Prerequisites
- Java 11
- Maven 3.x
- Spring Boot
Maven configuration
Apart from standard spring boot dependencies, you need to include higson-runtime-spring-boot-starter
dependency,
available in Maven Central.
Add higson-runtime-spring-boot-starter
dependency to pom.xml
file:
|
|
Another needed dependency is the JDBC driver to the database of choice, e.g., h2, oracle, mssql, postgresql:
|
|
Properties
With the above setup, all the configuration that is needed is application.properties
file with database properties:
|
|
If required properties are not available, higson-runtime-spring-boot-starter
will return an adequate message.
To configure external sources, you have to set comma separated list of external sources names and connection properties for each of them. You can do it by using the properties below.
|
|
Using auto-configured HigsonEngine
After successfully configuring properties while starting the application, spring will create HigsonEngine bean available in the spring application context, then which can be injected anywhere:
|
|
Overriding default configuration
To override default auto-configuration, you need to define HigsonEngine bean in the @Configuration
class:
|
|
Existing auto-configured DataSource and HigsonRuntimeProperties can be used simply by injecting them:
|
|
Disabling Higson
If you want to disable higson temporarily for some reason, you can do it with property higson.runtime.enabled
set
to false
.
|
|
Higson Runtime REST is a web application that provides REST API for parameter/function/domain access. It is a REST implementation of Java’s Higson Runtime jar. It is available in two forms:
- Spring boot’s executable jar, available here: https://mvnrepository.com/artifact/io.higson/higson-runtime-rest
- Docker image, available here: https://hub.docker.com/repository/docker/decerto/higson-runtime-rest
Environment
Higson Runtime REST is a Java application and can run with any Java 8 or higher on Windows, MacOS X and Linux/Unix.
CLI
To run Runtime-Rest from cli you must pass four properties:
- loader.path - path to jdbc driver
- higson.database.url
- higson.database.username
- higson.database.password
Download latest version of higson runtime rest and database driver (postgresql for example)
|
|
Docker
To run Higson Runtime REST as a docker image, there is need to build a separate docker image based on decerto/higson-runtime-rest image, add your database driver jar and run Higson Runtime REST jar with additional path.
Example:
|
|
Additionally, you need to pass 3 properties:
- higson.database.url
- higson.database.username
- higson.database.password
An invocation example:
|
|
Using Higson Runtime REST
This short tutorial will guide you through the process of running Higson Runtime REST as a docker image and invoking parameter/function/domain element.
Prerequisites
In order to run examples from this article you will need:
- running docker. See https://docs.docker.com/installation/#installation for details on setting Docker up for your machine.
- a favorite REST API Client to send requests such as Postman
- a favorite internet browser
Setting up a docker images
The tutorial will be based on our motor insurance. It consists of the insurance web application, Higson Studio, and Higson Runtime REST modules. There is a docker-compose.yml file that makes the whole application easy to run. Just download a project from GitHub, open terminal in that directory, and run the following command:
|
|
If you look closely inside the docker-compose.yml file, you will see that Higson Runtime REST docker image needs three additional properties to be passed to run properly:
- higson.database.url : JDBC url to Higson’s database
- higson.database.username : Higson’s database username
- higson.database.password : Higson’s database password
If you want to connect to other database types such as Oracle, Postgres, MsSQL or MySQL, then you must build your own docker image and provide your database driver. Here’s a Docker file example that copies custom database driver and runs Runtime REST application:
|
|
- Demo app should be available at
localhost:48080/demo
- Higson Studio should be available at
localhost:38080/higson/app
- Higson Runtime REST should be available at
localhost:8081
To access higson services use followed credentials: User
: admin Password
: admin
Getting parameter value
We will be using parameter examples from this article. Let’s get the value of a demo.motor.coverage.position parameter for the “BI” coverage code. Here’s the request we’re going to use:
|
|
It consists of 2 main parts: ctx and elements. The former represents the input values we want to pass to Higson. We can pass there simple as well as complex objects. The latter is a list of Higson elements to invoke.
When we send this request to the localhost:8081/api/execution/invoke url, we should receive the following response:
|
|
We receive a list of executed Higson elements with corresponding values.
Let’s see how the response will look like if more than one row will be returned from the parameter. In this example, we are going to use the demo.motor.dict.vehicle.available Makes parameter. Here’s the request:
|
|
Besides a new parameter code and context property, you can see how to invoke more than one Higson element in a single JSON request. Let’s see the response:
|
|
As we see, each element has its own JSON section in returned array. What’s more, each row in the parameter’s matrix corresponds to one complex element in the resultValue array.
Calling function
Let’s get the computed value of the demo.insurance.calc.premium function. Here’s the request we’re going to use:
|
|
It’s basically the same request as the one used in the parameter section. However, we pass here three context key-value pairs instead of one. Here’s the response we should get by calling the localhost:8081/api/execution/invoke endpoint:
|
|
Again, the same response format as in the parameter’s.
Accessing domain attributes
Last but not least, let’s see how to access domain attributes through invoke API. We’ll be using examples from this article. Let’s see how to evaluate a position attribute of a coverage BI domain element:
|
|
The main difference between domain element and parameter/function is the presence of 2 additional attributes: profileCode and attributeCode, which names are self-describing. Let’s look at the response:
|
|
As we see, the response format is the same as in the parameter/function section.
If you want to learn more or discover other available endpoints, there is a Runtime REST swagger online documentation available at: http://localhost:8081/swagger-ui.html.
Properties
Higson gives user a possibility to configure and overwrite internal application properties. They are stored in dedicated file, named application.yml . File should be placed in container or may be pass using environment properties
|
|
Configurable properties
Property | Description | Default value |
---|---|---|
Database | ||
higson.database.dialect | Database dialect to use. Predefined dialects available in Higson: oracle,hsqldb, h2, mssql2012, postgresql, mysql | oracle |
higson.database.hbm2ddl-mode | proxy for hibernate property hibernate.hbm2ddl.auto | validate |
higson.database.autoddl-action | Action to be taken during Higson Studio startup with respect to database schema update:check - verify whether schema is correctupdate - chcek database schema and update, if neededskip - do nothing | update |
higson.database.url | JDBC connection url | |
higson.database.username | Username that Higson will use to connect to database defined in mpp.database.url | |
higson.database.password | Password that Higson will use to connect to database defined in mpp.database.url | |
higson.database.schema | Database schema wherein Higson tables exist | |
Environment | ||
higson.studio.instance-name | Id identifying specific Higson Studio Instance. It is visible in Higson Studio below menu toolbar | 1.5.0 |
higson.studio.url | Higson Studio url used in few places, for example to create url for authentication token reset, CAS authentication etc. | http://localhost:8080/higson/app |
higson.studio.ui.header-color | CSS style (e.g. rgb(27, 140, 204)) defining Studio header color. If not set, default color is used | |
higson.studio.ui.text-color | CSS color (e.g. #7f8c8d) used on text existing in start pages. | |
higson.studio.ui.chart-colors | Collection of rgb colors separated by semicolon used in Higson Studio Simulation View to differentiate datasets | 190,210,250;110,150,240;20,80,220; 170,230,250;70,200,240;15,150,190; 190,250,205;60,240,110;10,150,50 |
higson.studio.region.updater.task-cron | CRON expression used to schedule job updating system region versions in Higson Studio | 0 1 0 * * * |
higson.studio.ui.show-stacktrace | Flag determining whether full stacktrace should be shown when GUI error happened | false |
higson.studio.session.require-message | Flag determining whether session message is required when publishing session | false |
Security | ||
higson.security.password-encoder.name | Name of using password encoder | bcrypt |
higson.security.password-encoder.complexity | Password encoder complexity | 5 |
higson.security.jwt.authentication-server | Determines if studio server works as authentication provider | true |
higson.security.jwt.secret-key | Secret to sign and decode JWT token (up to 256-bytes chars). To communicate with UI and Runtime Rest client. | |
higson.security.jwt.algorithm | Determines JWT token sign algorithm (only HMAC256 supported) | HMAC256 |
higson.security.jwt.access-token-lifetime.value | Access token lifetime value | 5 |
higson.security.jwt.access-token-lifetime.unit | Access token lifetime unit | Minutes |
higson.security.jwt.refresh-token-lifetime.value | Refresh token lifetime value | 7 |
higson.security.jwt.refresh-token-lifetime.unit | Refresh token lifetime unit | Minutes |
higson.security.jwt.persist-refresh-token | Should persist refresh token to database (session idempotent) | true |
Features | ||
higson.studio.function.support.rhino.enabled | Should use Rhino as additional function’s language | false |
higson.studio.mail.host | Mailer server host. If host and port are not set - mailer is not loaded | "" |
higson.studio.mail.port | Mailer server port. If host and port are not set - mailer is not loaded | "" |
higson.studio.mail.username | Mailer server username | "" |
higson.studio.mail.password | Mailer server username’s password | "" |
higson.studio.mail.from | Mailer from metadata | "" |
higson.studio.global-search.history-limit | limit of history searches to keep in Higson Studio memory | 60 |
higson.studio.external-environments.codes | Name for the connected environment, to SEND snapshots and Superpacks to | prod |
higson.studio.external-environments.%s.url | Url to the connected environment API | |
higson.studio.external-environments.%s.username | Username to data source. %s is env code from property above. | admin |
higson.studio.external-environments.%s.password | Password to data source. %s is env code from property above. | admin |
higson.studio.snapshot.param.matrix.writer.order-by-all-level | Should sort by all levels during export parameter to file. Available: true/false | true |
RUNTIME
Available for runtime or runtime-rest apps
Property name | Description | Default Value |
---|---|---|
Database | ||
higson.database.dialect | Database dialect to use. Available values: oracle, hsqldb, h2, mssql2012, postgresql, mysql | oracle |
higson.database.url | JDBC connection url | |
higson.database.username | Username that Higson will use to connect to database defined in mpp.database.url | |
higson.database.password | Password that Higson will use to connect to database defined in mpp.database.url | |
higson.database.schema | Database schema wherein Higson tables exist | |
Environement | ||
higson.runtime-rest.url | URL of Higson Runtime Rest | |
Authentication | ||
higson.runtime-rest.security.type | Defines security type for runtime rest. Possible values: jwt, active-directory. When not set basic authentication is enabled | |
higson.security.jwt.secret-key | Secret key to decrypt runtime rest token | |
higson.security.active-directory.domain | Active Directory main root | |
higson.security.active-directory.url | Active Directory server url | |
higson.security.active-directory.root-dn | AD root domain | |
Other | ||
higson.runtime.function.validate-arguments | flag determining whether function arguments data types should be validated before execution | false |
higson.runtime.normalization.throw-on-exception | flag determining whether an exception should be thrown when matrix value can’t be normalized | false |
higson.runtime.external-datasource.sql.names | Names of data sources list. | |
higson.runtime.external-datasource.sql.%s.url | Url to data source. %s is name of datasource from property above. | |
higson.runtime.external-datasource.sql.%s.username | Username to data source. %s is name of datasource from property above. | |
higson.runtime.external-datasource.sql.%s.password | Password to data source. %s is name of datasource from property above. | |
higson.runtime.parameter.value-never-null | Flag responsible for managing global support of nullable parameter’s results in Higson Engine. If true, parameters will return instance of pl.decerto.higson.runtime.core.EmptyParamValue when no match found. If set to false, parameters return null. | true |
higson.runtime.watchers.enabled | Flag determining whether runtime watchers should start automatically | true |
higson.runtime-rest.openapi.servers | Comma separated list of servers URLs used in try it function in OpenAPI GUI. If not filled, URL will be generated automatically. |
COMMON
Version 2.3 | Version 4.x |
---|---|
hyperon.database.url | higson.database.url |
hyperon.database.username | higson.database.username |
hyperon.database.password | higson.database.password |
hyperon.database.dialect | higson.database.dialect |
hyperon.security.basic.bcrypt.complexity | higson.security.basic.bcrypt.complexity |
hyperon.security.jwt.secret-key | higson.security.jwt.secret-key |
hyperon.database.hbm2ddl-mode | higson.database.hbm2ddl-mode |
hyperon.database.autoddl-action | higson.database.autoddl-action |
hyperon.database.schema | higson.database.schema |
hyperon.build.version | higson.build.version |
hyperon.build.number | higson.build.number |
HIGSON STUDIO:
Version 2.3 | Version 4.x | default value |
---|---|---|
hyperon.studio.url | higson.studio.url | |
hyperon.studio.instance-name | higson.studio.instance-name | |
hyperon.studio.ui.header-color | higson.studio.ui.header-color | |
hyperon.studio.ui.text-color | higson.studio.ui.text-color | |
hyperon.studio.ui.chart-colors | higson.studio.ui.chart-colors | |
hyperon.studio.security.type | higson.studio.security.type | |
hyperon.studio.security.cas.server-url | higson.studio.security.cas.server-url | |
hyperon.studio.security.cas.login-url | higson.studio.security.cas.login-url | |
hyperon.studio.security.cas.logout-url | higson.studio.security.cas.logout-url | |
hyperon.studio.security.cas.logged-out-url | higson.studio.security.cas.logged-out-url | |
hyperon.studio.security.basic.password-encoder | higson.studio.security.basic.password-encoder | |
hyperon.security.active-directory.domain | higson.security.active-directory.domain | |
hyperon.security.active-directory.url | higson.security.active-directory.url | |
hyperon.security.active-directory.root-dn | higson.security.active-directory.root-dn | |
hyperon.studio.security.azure-active-directory.client-id | higson.studio.security.azure-active-directory.client-id | |
hyperon.studio.security.azure-active-directory.tenant-id | higson.studio.security.azure-active-directory.tenant-id | |
hyperon.studio.security.azure-active-directory.client-secret | higson.studio.security.azure-active-directory.client-secret | |
hyperon.studio.security.azure-active-directory.base-url | higson.studio.security.azure-active-directory.base-url | |
hyperon.studio.security.azure-active-directory.username-attribute-name | higson.studio.security.azure-active-directory.username-attribute-name | |
hyperon.studio.security.azure-active-directory.roles-origin | higson.studio.security.azure-active-directory.roles-origin | |
hyperon.studio.mail.host | higson.studio.mail.host | |
hyperon.studio.mail.port | higson.studio.mail.port | |
hyperon.studio.mail.username | higson.studio.mail.username | |
hyperon.studio.mail.password | higson.studio.mail.password | |
hyperon.studio.mail.from | higson.studio.mail.from | |
hyperon.studio.superpack.environments | higson.studio.superpack.environments | test, prod |
hyperon.studio.superpack.test.url | higson.studio.superpack.test.url | |
hyperon.studio.superpack.test.username | higson.studio.superpack.test.username | |
hyperon.studio.superpack.test.password | higson.studio.superpack.test.password | |
hyperon.studio.external.environment.codes | higson.studio.external.environment.codes | test, prod |
hyperon.studio.external.environment.test.url | higson.studio.external.environment.test.url | |
hyperon.studio.external.environment.test.username | higson.studio.external.environment.test.username | |
hyperon.studio.external.environment.test.password | higson.studio.external.environment.test.password | |
hyperon.studio.global-search.history-limit | higson.studio.global-search.history-limit | |
hyperon.studio.security.login.attempts-limit | higson.studio.security.login.attempts-limit | |
hyperon.studio.security.login.attempts-cooldown | higson.studio.security.login.attempts-cooldown | |
hyperon.studio.ui.show-stacktrace | higson.studio.ui.show-stacktrace | true or false |
hyperon.studio.security.login.auto-login | higson.studio.security.login.auto-login | true or false |
hyperon.studio.session.require-message | higson.studio.session.require-message | |
hyperon.studio.security.password.send-reset-tokens | higson.studio.security.password.send-reset-tokens | true or false |
hyperon.studio.region.updater.task-cron | higson.studio.region.updater.task-cron |
HIGSON RUNTIME:
Version 2.3 | Version 4.x | default value |
---|---|---|
hyperon.runtime.security.type | higson.runtime.security.type | |
hyperon.runtime.function.validate-arguments | higson.runtime.function.validate-arguments | true |
hyperon.runtime.normalization.throw-on-exception | higson.runtime.normalization.throw-on-exception | |
hyperon.runtime.external-datasource.sql.names | higson.runtime.external-datasource.sql.names | |
hyperon.runtime.external-datasource.sql.test.url | higson.runtime.external-datasource.sql.test.url | |
hyperon.runtime.external-datasource.sql.test.username | higson.runtime.external-datasource.sql.test.username | |
hyperon.runtime.external-datasource.sql.test.password | higson.runtime.external-datasource.sql.test.password | |
hyperon.runtime.dev-mode-enabled | higson.runtime.dev-mode-enabled | |
hyperon.runtime.username | higson.runtime.username | |
hyperon.runtime.parameter.value-never-null | higson.runtime.parameter.value-never-null | |
hyperon.runtime.watchers.enabled | higson.runtime.watchers.enabled | true |
hyperon.runtime.external-datasource.sql.names | higson.runtime.external-datasource.sql.names |
HIGSON RUNTIME REST:
Version 2.3 | Version 4.x |
---|---|
hyperon.runtime-rest.security.user-cache-enabled | higson.runtime-rest.security.user-cache-enabled |
Authentication
Standard / JWT Authentication
No extra actions needed to use it, it is available by default.
SAML
Configuration steps:
- Configure Tomcat to use HTTPS (if needed).
- Fill properties:
|
|
- Generate Studio metadata and import in your Identity Provider
On your IDP:
- Configure Identity Provider to send attributes with assertion response.
- Check that Identity Provider configuration for Assertion Consumer Service URL and Logout Service URL is correct.
Important! SAML Response signature must include message and assertions!
Attributes mapping
SAML Response must contain following attributes:
- Name ID (this is used as user login)
- firstname
- lastname
- roles
Roles
- if higson.studio.security.saml.roles-origin=saml is specified roles are taken from assertion response therefore Identity Provider must be configured to send it with response. internal means Studio will take roles from database instead of SAML assertion response to authorize user.
Active Directory
- Fill properties:
|
|
Requirements for Access Directory user:
Login - not empty, min size: 1, max size: 200
First name - not empty, min size: 1
Last name - not empty, min size: 1
E-mail address - if empty Higson generates default e-mail consistent with schema: ’login@local.com’
Roles - min one role consistent with Higson role.
Roles defined in Active Directory must be compatible with roles in Higson structure.
Hierarchy of roles in Higson:
MPP_ADMIN - Higson Administrator
MPP_USER - Higson User
MPP_USER_READONLY - Readonly Higson User \
It is possible to create own roles in AD but remember to create same roles in Higson structure. It’s necessary to proper authentication process.
Standard / Basic Authentication
No extra actions needed to use it, it is available by default. You can choose from the following password encoder security algorithms: bCrypt (default) or Pbkdf2
To select a Pbkdf2 algorithm, you must set higson.security.basic.password-encoder=Pbkdf2
property in the application.properties
You can choose the complexity of BCrypt algorithm by setting a property higson.security.basic.bcrypt.complexity
with values
between 4 and 31 are accepted, 5 is used by default. Be careful, since the bigger the value the safer algorithm is, but the
performance impact is also increasing.
Active Directory
|
|
JWT Based authentication Token
|
|
The property higson.security.jwt.secret-key
must be set in both Studio’s and client’s side
Runtime Rest application with same string sequence
You can generate a new token in Studio. A view to see all existing tokens and to generate a new one can be found in Menu’s Tools tab.
When creating a new token, you can specify the expiry date. Admin users may also specify a user that a newly generated token will be assigned to.
To use generated token in REST API calls, you need to add an Authorization Header with the standard bearer format, such as
Authorization: Bearer your_jwt_token
Upgrade
This is wise to upgrade Higson applications (the Studio and Runtime) for a newer version as we are repairing bugs and adding new features, so let’s check how to do it in a few short steps.
IMPORTANT:
- As far higson-studio and higson-runtime are separate applications we truly recommend running them the same version.
- Higson Studio MUST BE STARTED FIRST! Higson Studio is managing the Database Schema!
- If your current version starts with 1.x and you want to bump version do 2.x line later go to this article.
Bump the Studio application first
Download Studio
Firstly, download application from here. After filling the form, you will get mail with a link to your download page. Depending on your needs, download the file/files (probably you use a war file with your tomcat).
Shut down old Studio.
Turn off the Studio App. You probably want to stop all running applications which are using higson-runtime
,
because we need to modify its database schema.
Remember to create a database backup!
Due to the fact, there might occur database updates, it would be very helpful if you prepare a Higson’s database backup.
Switch .war files at your tomcat /webapps directory
Start the Studio Application
You should be able to see a standard login page
(by default: https://{serverUrl}/higson/app
)
Bump the Runtime in your applications
Since Runtime is available at Maven Central repositories, you should only bump its version at your building script, ie: build.gradle, pom.xml etc.
Bump the Studio application
Download new Studio
The first step you should do is to head for new applications here. Search for version of 4.0
Shut down the Studio
Turn off the Studio App. You probably want to stop all running applications which are using higson-runtime
,
because we need to modify its database schema.
Remember to create a database backup!
Due to the fact, there might occur database updates, it would be very helpful if you prepare a Higson’s database backup.
Check out new properties
In a Higson Studio 4.x there were a lot of changes with properties.
Take a look at your property source (by default: {your_tomcat_dir}/conf/application.properties
) and change them
regarding the table followed the link
Copy files to your tomcat.
- replace file conf/server.xml,
- copy conf/Catalina directory to your tomcat
- remove old .war file from webapps and copy new higson#api.war and higson#app directory.
Start the Studio App
You should be able to see a standard login page
(by default: https://{serverUrl}/higson/app
)
Bump the Runtime in your applications
Since Runtime is available at Maven Central repositories, you should only bump its version at your building script, ie: build.gradle, pom.xml etc. Check out the new properties for Runtime App since there were a lot of changes.
Enabling a developer mode feature allows seeing all unpublished changes of a defined user by the Runtime application, which leads to faster development. Developer mode is disabled by default.
Enabling devmode programmatically
|
|
Enabling devmode using property file
Configuration that is needed in application.yml
to enable developer mode:
|
|
Using HigsonEngineFactory
excludes a possibility to use application.yml
.
Caching bundle saved or read by Higson Persistence may be configured in three different ways.
1. Automatically generated EhCache
If cache is not configured on sight then Higson Persistence creates its own EhCache with the name : gmo
and
idleTime=10
minutes
2. Use selected EhCache region
You may configure it to use selected EhCache
region
|
|
- if it is defined ehcache “abc” then it uses that
- if it is not defined ehcache, then it will create ehcache with name “abc” in default configuration
3. Add your own implementation
On HigsonPersistanceFactory
may add your own implementation of cache (based on map or other cache) using
HigsonPersistanceFactory.setCache(BundleCache)
method
If you want to turn the cache off (for example for testing purposes) you need to give your cache implementation like follow:
|
|
Changelog
4.0.12 September 27, 2024
CHANGES:
FIXED :
- Displaying data of matrix level with between matcher chosen,
- Problems with profile-dependent tests,
- Missing region data in exported files,
- Matrix import without profile selected,
- LDAP health check error in logs,
- Displaying region info in session elements view
4.0.11 September 13, 2024
CHANGES:
FIXED :
- Check function or decision-table exists in user work session,
- Displaying a message about exceeded login limits,
- Change presentation of import validation errors,
- Missing context path hints for value source in decision table input level,
- Access to context without profile grant,
4.0.10 September 5, 2024
CHANGES:
FIXED :
- Error message in the report after importing a snapshot with parameters,
- Test case execution efficiency,
- Force publishing work session after region and version deletion,
- Fix role import for Polish language Excel,
- Remove null values from profiles when checking session items,
- Accept-Language header,
- Alias doesn’t append to region,
- FUNCTION/DT_ALREADY_EXISTS after rename/delete action
- Multiple browser tabs work
4.0.9 August 16, 2024
CHANGES:
ADDED :
- Active Directory support,
- Redesign favorite view to bookmarks
FIXED :
- Possibility to have two functions with the same name,
- Global search - incorrect count matchesCount for FUNCTION_TAG and DOMAIN_ELEMENT_TAG,
- SAML - refreshing token,
- SAML - incorrect baseHref,
- Hide upload and download button for aliases,
- Message after removing alias,
- Nulls in searching decisionTables with less than 8 columns
- Right margin in function body editor in functions,
- Cursor shift in function editing,
- Disable checkbox set in all versions if regions not exists,
- Disable delete user action for the logged in user
4.0.8 July 19, 2024
CHANGES:
ADDED :
- SAML support,
support during snapshot import,
FIXED :
- batch-tester performance optimization,
- protect against deletion of non-OPEN session elements
- make /logout possible without MPP_ACCESS,
- right dialog content hidden under footer
- not working filtering for endDate on work-session view,
- function duplicate argument validations,
- regions rows visualisation,
- add searchable user filter to sessions page
- filtering date range in decision table
- increase width of import domain dialog
- remove existing validation from create and rename function/dt,
- enlarge debounce time on function list filters,
- allow typing in datetime and localDateTime field
4.0.7 June 21, 2024
CHANGES:
ADDED :
- filtering available profiles by grants,
FIXED :
- Allow global diacritical characters for first name and last name of user,
- Disabled buttons in domain after publishing session,
- Allow . (dot) in codes and names,
- Remove chosen profile from browser storage after logout,
- Add reload after domain import
BUMP :
- Jackson 2.13.4 -> 2.17.1
- Rhino 1.7R2 -> 1.7.15
4.0.6 May 27, 2024
CHANGES:
CHANGED :
- Disabled liquibase execution on Runtime REST startup
FIXED :
- Add missing dropdown for dictionary level on add decision table view
- Wrong default description value in decision table definition,
- Error after clearing gmoTableName/gmoColumnName in Context view
- Double duplicated rows after duplicate decision table
4.0.5 May 17, 2024
CHANGES:
FIXED :
- Import users error if import modify existing user with roles
- Remove calling engine during cache initialization
- Update decision table error
- ArrayIndexOutOfBoundsException in alias search
- Displaying dashboard search result for domain attribute
- Domain definition update NPE
- Snapshot download when no profile is selected
4.0.4 April 29, 2024
CHANGES:
ADDED :
- switch function ctx default argument to io.higson
- allow whitespaces in region code
FIXED :
- matrix view for aliasess
- decision table levels update action
- no permission warning in profiles view
- start up with MySql database error
- worksession status filter
4.0.2 April 03, 2024
CHANGES:
ADDED :
- Various emails to set new password depending on new or existing user
- Fk index on table with imported snapshot history
- inTree attribute to domain definition component
- Duplicate decision table action
FIXED :
- Date formatting error in groovy functions
- NPE during calling higson.call(“func”, null)
4.0.1 January 25, 2024
CHANGES:
ADDED :
- Truncate very large logging data
FIXED :
- Hide jdbc password appended to jdbc url
- Improved sorting of decision tables and functions by region
4.0.0 January 08, 2024
Hyperon’s business rules engine transforms into Higson!
What’s new :
- Even More Intuitive Studio - Discover our new, user-friendly interface that simplifies both technical and business tasks.
- Simplified Structure Configuration - Tailoring your business application structure is now more straightforward, whether you’re an IT expert or a business strategist.
- Optimized Decision Tables Creation - Creating and editing decision tables has become simpler, and optimized for greater clarity and control.
- New Versioning - We’ve upgraded our versioning scheme, to be more intuitive and easier to manage.
- Changed architecture - FE and BE are released separately