# Generic License Type Format

# Introduction

The generic license format is an Open iT text data format designed for data parsing different license managers. It helps the LicenseAnalyzer easily support different license managers.

The generic license format is a flexible key-value base format with a semicolon as the separator. It is designed for easy human reading, with indentation used per level. It can handle various special characters, requiring only the addition of an escape character for each. This format contains all the necessary data for reporting. Some keys must be supplied with the correct values, while others can be left blank or disregarded, giving you control over the information you include in your license report.

# Levels and Keys

# Product

Refer to the Product Attributes table to learn more information about a license set/group.

Attribute Description Format Size
license-type Required. The name of the license type collected. String (e.g., license-type=flex) 50
license-file Provide only if available. The full path to the license file. FileName (e.g., license-file=C:\Program\Files\alpha\license.dat) 500
host Required. A fully qualified domain name. String (e.g., host=lserver.mycompany.com) 100
server-start Provide if available. The time when the server was last restarted. ISO-8601 (e.g. server-start=2013-02-06T11:09:32.091)
-
Product Attributes

# Package

Refer to the Package Attributes table to learn more information about feature packages.

Attribute Description Format Size
id Required. The shortest possible string/number that uniquely identifies the package. String (e.g., id=feature_1.0) 50
name Required. The name of the package. String (e.g., name=feature1) 500
version Provide only if available. The version of the package. String (e.g., version=1.0) 100
issued Provide if available. The time when the package was issued. ISO-8601 (e.g. issued=2001-09-30)
-
expires Provide if available. The time when the package will expire. ISO-8601 (e.g. expires=2026-03-31)
-
licenses Required. The total number of licenses available. Number (e.g., licenses=3) BIGINT
type Provide if available. The license type. String (e.g., type=floating) 50
vendor Provide if available. The name of the vendor. String (e.g., vendor=delta) 50
components Required. A comma-separated list of component identifiers identical to the feature ID value of the components. String (e.g. components=componentfeature1:v1, componentfeature2:v1.2) 500
Package Attributes

# Feature

Refer to the Feature Attributes table to learn more information about a regular license feature.

Attribute Description Format Size
id Required. The shortest possible string/number that uniquely identifies the package. String (e.g., id=feature_1.0) 50
name Required. The name of the package. String (e.g., name=feature1) 500
version Provide only if available. The version of the package. String (e.g., version=1.0) 100
issued Provide if available. The time when the package was issued. ISO-8601 (e.g. issued=2001-09-30
-
expires Provide if available. The time when the package will expire. ISO-8601 (e.g. expires=2026-03-31
-
licenses Required. The total number of licenses available. Number (e.g., licenses=3) BIGINT
type Provide if available. The license type. String (e.g., type=floating) 50
vendor Provide if available. The name of the vendor. String (e.g., vendor=delta) 50
Feature Attributes

# Usage

This should be indented below a package or a feature. Refer to the Usage Attributes table to learn more information about package and feature usage.

Attribute Description Format Size
id Required. The shortest possible string/number that uniquely identifies the license use. String (e.g., id=1539) 50
user Required. The name of the user. String (e.g., user=jdoe) 100
host Required. The name of the host where the license is used. String (e.g., host=aa.abc.de.meme) 100
licenses Required. The number of licenses used. Number (e.g., licenses=3) BIGINT
exe Provide if available. The executable's name in the license user's host. FileName (e.g., myapp.exe) 500
start Required. The time when the license use started. ISO-8601 (e.g. issued=2001-09-30
-
Usage Attributes

# Examples

Each line lists a group of key-value pairs describing the element represented by the line. The line starts with a keyword identifying the type of element represented, followed by a colon (:), and then the key-value pairs separated by a semi-colon (;). Keys can contain lowercase letters (a-z), hyphens (for word separation if necessary), numerals (0-9), periods (.), and commas (,). Values can contain anything except new lines, but if you include a semi-colon, you must place the value within double quotes (e.g.,data="alpha;beta";count=4;). Elements that include double quotation marks must escape these: data=alpha-\"beta\".

For regular license data, the following elements should be included (if possible):

Example 1
product: license-type=alpha; host=beta; port=1700; license-file=C:\Program\Files\alpha\license.dat;
	feature: id=feature_1.0; name=feature1; version=1.0; licenses=20; vendor=delta;
		usage: id=1539; user=guess; host=myhost; display=193.217.12.14; licenses=1; version=1.0; start=2012-02-18T15:21:00.000;
Example 2
product: license-type=alpha; host=beta;
	feature: id=Enabling[20]; name=Enabling[20]; issued=2001-09-30; expires=2026-03-31; licenses=1;
	feature: id=Network[21]; name=Network[21]; issued=2001-09-30; expires=2026-03-31; licenses=134;
		usage: id=Network[21]_shimoura@tkserv5; user=shimoura; host=tkserv5; licenses=4; start=2012-10-15T21:10:00.000;
		usage: id= Network[21]_itoh@aa.abc.de.meme; user=itoh; host=aa.abc.de.meme; display=i; licenses=3; start=2012-10-15T10:58:00.000;

# Licpoll Configuration

Before proceeding with the configuration, we need to create a utility application that will convert your raw data into our generic license format. The format should be the same when written to a file when std-out. This std-out will be the licpoll’s input data.

# Configuring the Generic License Converter in Licpoll

  1. Go to the Components directory, which is by default in C:\Program Files\OpeniT\Core\Configuration\Components, then open the licpoll.xml configuration file.
  2. Search for genericlicense-sample.
  3. Configure LicenseAnalyzer to use the utility application by copying the utility to ${OpeniT.directories.bin}genlicutil.exe, which is by default in C:\Program Files\OpeniT\Core\bin or modify the licpoll.xml configuration file to point to the path of the utility application.
  4. If the utility application requires command line arguments, set it under genericlicense-sample.status-command.arguments.
  5. Activate the collection of data by setting genericlicense-sample.active to true.
  6. Save the changes, then restart the OpenitClient service.

We value your feedback!

Please take a few minutes to complete our survey and share your thoughts on your recent experience with our documentation.

Take survey

Close