“License management” module
General information
Licensing service (hereinafter - LS):
- is designed to store the license file, read data from the file and transfer this data to Robin applications
- is a separate component that is not bound to one specific product
- is implemented on net
- included only in Enterprise delivery with web-interface
There is a folder on the application server where the LS places the license file to read it.
The license file is added to the required folder manually.
LS can only read a license file with the .licx extension. If there are files with other extensions in the folder, LS ignores them.
If there are several files with the .licx extension in the folder, LS checks only the newest file (by its modification date).
LS starts searching for the license file and reading data from it at each restart.
After checking the license file, the LS saves the license data. When applications contact LS to retrieve license information, LS does not re-check the file, but immediately sends the previously read information to the applications.
To view data on licensed products and manage the license file, the platform implements the “License management” module, through the user interface of which the data is accessed.
“License management” module
“License management” module is designed to display records of licenses for Robin platform products.
The module is displayed on the interface if the “License administrator” role is available to the user. If this role is not available, the “License management” module will not be displayed on the screen.
That said:
- The display and operation of the “License management” module does not depend on the availability of any particular license. Even if there is no license file, the module will still be available for working with it
- The table has a separate row for each product from the license file
- When scrolling, only the table rows are scrolled, the items above the table and the table header are not moved.
- The table is not displayed if:
- license file not found, and the text is displayed instead of the table: “License file not found”
- license file is corrupted, and the text is displayed instead of the table: “The license file is corrupted”
- an error occurred while trying to read the license or transfer data, and the text is displayed instead of the table: “Failed to retrieve data from the license file. Unknown error”
- When any error occurs (back or front end) that is not specified separately (when navigating to a section, opening windows, clicking buttons), the system displays a notification: “Unknown error. Please contact your administrator.”
Description of columns of the “License management” module table
Element name | Template/example | Description |
---|---|---|
Product | Example: Robin AI | Name of the product covered by the rights of the license granted Possible values in the column:
|
Status | Example: Expired | Product license status Possible values in the column:
Robin Robot may have several blocks in the license file with different expiration dates or additional parameters The column for each block shows its status |
End date | dd <short name of the month>. yyyy Example: 30 Aug. 2024 | The date until which the product license will run (inclusive) |
Additional parameters | Template: Refer to the “Matching license file and license table parameters” table | In addition to the license expiration date, some products have their own additional parameters Robin Orchestrator and Robin Process have no other parameters besides the expiration date, so the Additional Parameters column for these products will be blank More information about the value in the column in the table “Comparison of license file parameters and license table”. |
You can use the “Columns” dropdown list to select which columns will be hidden or displayed, with the "Product" column always displayed.
Comparison of license file parameters and license table parameters
Product | Name of the parameter in the file | Name of column/parameter in the table | Value in file | Value in the table |
Any product | Expiration | “End date” column | Date in the format “yyyy-MM-dd” Example: 2023-08-30 | Template: dd <short name of month>. yyyy Example: 30 Aug. 2023 |
Unlimited | Indefinite | |||
Robin Studio | LowCode | The “Additional parameters” column, Parameter “Low-code” | yes | |
There is no Robin Robot unit with this parameter in the license | ||||
Robin Robot | IsDemo | The “Additional parameters” column, Parameter “Demo” | yes | |
There is no Robin Robot unit with this parameter in the license | There will be no row in the table with Robin Robot and the parameter “Demo”. | |||
Combination of parameters:
| “Additional parameters” column, Parameters:
| 3 parameters contain data about the account on which the robots will be allowed to launch:
Example of a record on file: SerialNumber=Fgfdd321C228-009312 | Template: Host serial number <value from license> Environment identifier <value from license> Account <value from license> Example (see the corresponding example for the file): | |
There is no Robin Robot unit with these parameters in the license | There will be no row in the table with Robin Robot and the parameters “Host serial number”, “Environment identifier” and “Account” | |||
Concurrent | “Additional parameters” column \ Parameter “Competitive licenses” | integer >=1 Example file entry: Concurrent=3 | Template: Competitive licenses <number from license> Example: | |
There is no Robin Robot unit with this parameter in the license | There will be no row in the table with Robin Robot and the “Competitive licenses” parameter. |
When activated on the License administrator side, the following operations are performed on the LS side:
License verification on LS reboot
- The administrator launches or reboots the LS.
2. After a successful launch, LS starts the workflow of checking the license file. It searches the folder for a file with the .licx extension:
- If 1 .licx file is found, the next step is performed;
- if several .licx files are found, LS selects the newest one by file modification date and performs the next step;
- if no .licx file is found, step 5 is performed;
- if an unknown error occurs during the license search, step No.5 is executed.
3. LS checks whether the contents of the license file have been changed (checks the signature):
- If not, the next step is performed;
- If changed, LS saves the information about it. This completes the UC;
- If an unknown error occurs during license verification, step No.5 is performed.
4. LS reads the license data.
5. LS saves the result of the license file check. If the LS has already saved some data, it replaces it with new data.
Checking the license when the contents of the folder are changed
- The license administrator modifies the contents of the license folder:
- deletes one of the files;
- moves a file from a folder to another directory;
- adds a new file to a folder;
- modifies one of the files;
- replaces a file in a folder with another file.
2. LS starts the workflow to check the license file. Looks for a file with the .licx extension in the folder:
- if 1 .licx file is found, the next step is executed;
- if several .licx files are found, LS selects the newest one by file modification date and proceeds to the next step;
- if no .licx file is found, step 5 is executed;
- if an unknown error occurred during the license search, step No.5 is executed. n
3. LS checks whether the contents of the license file have been changed (checks the signature):
- If not, the next step is performed;
If changed, step No.5 is executed;
If an unknown error occurred during license verification, step No.5 is executed.
- If not, the next step is performed;
4. LS reads the license data.
5. LS saves the result of the license file check. If the LS has already saved some data, it replaces it with new data.
Transfer license data to the application
The application has sent a request to LS for license data for one of the applications.
1. The LS determines from the request which product the data needs to be transferred about.
2. The LS searches for the desired data among the information it saved the last time it checked the license file.
3. The LS sends a response to the application. Possible response options:
- license file not found
- license file is corrupted
- the product is not licensed (there was no block with the required product in the file)
- if there is data about the requested product, LS sends the license parameters of this product
4. ROBIN Robot may have several licenses with different parameters in the file - LS will send data about all ROBIN Robot licenses at once.
View the LS interface
1. The user is authorized in the system Log in to the system
2. If the “License administrator” role is not available to the user, the “License management” module is not displayed.
3. If the “License administrator” role is available to the User, then the User can work with the “License management” module. then he/she can work with the “License management” module.
4. At the same time the System displays the module interface:
- if no license file was found, only text is displayed on the page:
"License file not found" - if the license content has been changed (the license has not passed signature verification), only the text is displayed on the page:
"The license file is corrupted" - if there is an unknown error due to which the licensing service cannot return the license data, only text is displayed on the page:
"Failed to retrieve data from the license file. Unknown error" - if there are no errors with the license file, the table with the list of licenses is displayed on the page
5. The user views a list of product licenses.