...
The following example shows a token-based license for the license pool scenario described above, where MySolutions is a license pool that is drawn upon to fulfill license requests for MyDraw, MyWrite and MySpreadsheet.
Code Block | ||
---|---|---|
| ||
FEATURE MySolutions |
...
{ |
...
VENDOR = ABC_Software |
...
COUNT = 20 |
...
KEYTYPE = EXCLUSIVE |
...
MAJOR_VERSION = 1 |
...
MINOR_VERSION = 2 |
...
KEY = GTLP4FLUFFDFJB3N87SEVB224G0TJKKP |
...
} |
...
FEATURE MyDraw |
...
{ |
...
VENDOR = ABC_Software |
...
KEYTYPE = TOKEN |
...
MAJOR_VERSION = 1 |
...
MINOR_VERSION = 0 |
...
TOKEN_DEPENDENCY = "FEATURE=MySolutions VERSION=1.0 COUNT=5" |
...
KEY = PTZH9BTWNTLFJHH862IOAF39NHIM9HVB |
...
} |
...
FEATURE MyWrite |
...
{ |
...
VENDOR = ABC_Software |
...
KEYTYPE = TOKEN |
...
MAJOR_VERSION = 1 |
...
MINOR_VERSION = 0 |
...
TOKEN_DEPENDENCY = "FEATURE=MySolutions VERSION=1.0 COUNT=2" |
...
KEY = KW1OPU87VNUAA9ZI2NMBP9721EEU2 |
...
} |
...
FEATURE MySpreadsheet |
...
{ |
...
VENDOR = ABC_Software |
...
KEYTYPE = TOKEN |
...
MAJOR_VERSION = 1 |
...
MINOR_VERSION = 0 |
...
TOKEN_DEPENDENCY = "FEATURE=MySolutions VERSION=1.0 COUNT=1" |
...
KEY = PO3OP36RLTATVFHOT3H4RONIOV257L98 |
...
} |
Product suite licenses
Product suite licenses specify that one token-based license depends on multiple real licenses. Product suite licenses enforce a logical AND rule, requiring all licenses to be valid in order to perform a checkout. This is essentially the opposite of license pools, which specify that multiple features depend on a single real license.
...
The following example shows a token-based license for the product suite license scenario described above.
Code Block | ||
---|---|---|
| ||
FEATURE Sketcher |
...
{ |
...
VENDOR = ABC_Software |
...
COUNT = 5 |
...
KEYTYPE = EXCLUSIVE |
...
MAJOR_VERSION = 2 |
...
MINOR_VERSION = 0 |
...
KEY = GTLP4FLUFFDFJB3N87SEVB224G0TJKKP |
...
} |
...
FEATURE Printer |
...
{ |
...
VENDOR = ABC_Software |
...
COUNT = 5 |
...
KEYTYPE = EXCLUSIVE |
...
MAJOR_VERSION = 1 |
...
MINOR_VERSION = 5 |
...
KEY = HEN3CRJ8VOI6FS5L25KKB0QLRJD3CE4O |
...
} |
...
FEATURE MyDraw |
...
{ |
...
VENDOR = ABC_Software |
...
KEYTYPE = TOKEN |
...
MAJOR_VERSION = 1 |
...
MINOR_VERSION = 2 |
...
TOKEN_DEPENDENCY = "FEATURE=Sketcher VERSION=2.0 COUNT=1" |
...
TOKEN_DEPENDENCY = "FEATURE=Printer VERSION=1.5 COUNT=1" |
...
KEY = ALPO3OP36RLTATVFHOT3H4RONIOV257L |
...
} |
Alternate licenses
You can use token-based licenses to allow license requests to be fulfilled by one or more alternate product licenses. This enforces a logical OR rule, since it requires one license or another to succeed with a checkout.
...
The following example shows a license for the alternate license scenario described above. Note that the first MyDraw token-based license refers to Lower_Priced_License, so this will be the preferred license for MyDraw checkout requests.
Code Block | ||
---|---|---|
| ||
FEATURE Lower_Priced_License |
...
{ |
...
VENDOR = ABC_Software |
...
COUNT = 5 |
...
KEYTYPE = EXCLUSIVE |
...
MAJOR_VERSION = 1 |
...
MINOR_VERSION = 0 |
...
KEY = CTLF6UIWOPPQYH35Q7WPYB7W2NH68JI9 |
...
} |
...
FEATURE Higher_Priced_License |
...
{ |
...
VENDOR = ABC_Software |
...
COUNT = 10 |
...
KEYTYPE = EXCLUSIVE |
...
MAJOR_VERSION = 1 |
...
MINOR_VERSION = 0 |
...
KEY = AP1FYIS98WPN2UIP99QSVUIPA4EEOV26 |
...
} |
...
FEATURE MyDraw |
...
{ |
...
VENDOR = ABC_Software |
...
KEYTYPE = TOKEN |
...
MAJOR_VERSION = 1 |
...
MINOR_VERSION = 0 |
...
TOKEN_DEPENDENCY = "FEATURE=Lower_Priced_License VERSION=1.0 COUNT=5" |
...
KEY = HEN3CRJ8VOI6FS5L25KKB0QLRJD3CE4O |
...
} |
...
FEATURE MyDraw |
...
{ |
...
VENDOR = ABC_Software |
...
KEYTYPE = TOKEN |
...
MAJOR_VERSION = 1 |
...
MINOR_VERSION = 0 |
...
TOKEN_DEPENDENCY = "FEATURE=Higher_Priced_License VERSION=1.0 COUNT=10" |
...
KEY = ALF5HUJ9VCQ6HSNL42MLT0VLMJC3PDMM |
...
} |
Cascading (recursive) licenses
...
The following example shows a token-based license for the cascading license scenario described above.
Code Block | ||
---|---|---|
| ||
FEATURE Sketcher |
...
{ |
...
VENDOR = ABC_Software |
...
COUNT = 10 |
...
KEYTYPE = EXCLUSIVE |
...
MAJOR_VERSION = 1 |
...
MINOR_VERSION = 0 |
...
KEY = GTLP4FLUFFDFJB3N87SEVB224G0TJKKP |
...
} |
...
FEATURE MyDraw |
...
{ |
...
VENDOR = ABC_Software |
...
KEYTYPE = TOKEN |
...
MAJOR_VERSION = 2 |
...
MINOR_VERSION = 0 |
...
TOKEN_DEPENDENCY = "FEATURE=Sketcher VERSION=1.0 COUNT=2" |
...
KEY = HEN3CRJ8VOI6FS5L25KKB0QLRJD3CE4O |
...
} |
...
FEATURE MyWrite |
...
{ |
...
VENDOR = ABC_Software |
...
KEYTYPE = TOKEN |
...
MAJOR_VERSION = 2 |
...
MINOR_VERSION = 0 |
...
TOKEN_DEPENDENCY = "FEATURE=MyDraw VERSION=2.0 COUNT=1" |
...
KEY = ALPO3OP36RLTATVFHOT3H4RONIOV257L |
...
} |