Custom License Parameters
Custom License Parameters is a feature which allows you to define unlimited custom parameters on licenses, which are then included in the Protection PLUS 5 SDK license file. The parameters can be used for any number of uses such as:
- Limiting which features are available to the licensed application.
- Controlling time limited features in an application.
- Limiting a feature by a counter, for example, limiting the number of concurrent application instances that can be run.
Watch the following video for an overview of the ways to customize license data, which includes Custom Parameter Sets:
Overview
In a nutshell, custom license parameters work as follows:
- A custom parameter set is defined, containing any number of custom parameters.
- The custom parameter set is then associated with any product options that are to use it.
- When adding or editing licenses for product options which are associated with a custom parameter set, form fields for setting the custom parameters will be displayed. When saving, the custom parameter data is then serialized to XML and stored on the License Custom Data field on the license (note that this is separate from the Custom Data fields on the product and product option). This field is included in the Protection PLUS 5 SDK license file, allowing it to be used in your application for any purpose.
- When viewing a license for an option with a custom parameter set defined, all of the custom parameters will be displayed.
- When a license for an option with a custom parameter set defined is viewed in the customer license portal, any custom parameters set to display in the portal will be listed.
Custom Parameter Sets
A custom parameter set defines a grouping of custom parameters. To configure custom parameter sets, from the menu, choose Configure / Products, and then choose Configure Custom Parameter Sets from the Actions menu. A listing of all currently defined custom parameter sets will be displayed, with the ability to sort and filter as needed. For each custom parameter set, the flyout menu on the left can be used to view, edit, clone, delete, or manage the custom parameters, and clicking the name will view the custom parameter set. To add a new custom parameter set, click the New Custom Parameter Set button. Each custom parameter set is defined by the following properties:
- Custom Parameter Set ID
- The system generated ID.
- Last Modification
- The date, time, and user account of the last modification.
- Display Name
- The friendly name. This is used in labeling in the administrative interface as well as the customer license portal.
- Hidden
- Whether the custom parameter set should be hidden from the drop down when configuring product options.
- Delete Removed Parameters
- When editing an existing license, controls whether or not any parameter that has been removed and is no longer defined in the custom parameter set will be deleted from the custom parameter xml blob.
- Custom Implementation Base URL
- Advanced Option. A custom URL to load the resources for editing the custom parameters when adding or editing licenses.
- License Custom Data XML Preview
- A preview/sample of the XML that will be included in the Protection PLUS 5 SDK license file.
- Custom Parameters
- One or more custom parameters. See below for more details.
Custom Parameters
Each custom parameter set consists of one or more custom parameters. To configure the custom parameters on a custom parameter set, view the custom parameter set. A listing of custom parameters will be displayed with the ability to filter as needed. For each custom parameter, the flyout menu on the left can be used to view, edit, delete the custom parameter, and clicking the name will view the custom parameter. To add a new custom parameter, click the New Custom Parameter button. Alternately, you can click the Manage Custom Parameters button to see the same interface in a modal dialog. Each custom parameter is defined by the following properties:
- Custom Parameter ID
- The system generated ID.
- Last Modification
- The date, time, and user account of the last modification.
- Parameter Set
- The custom parameter set the parameter belongs to.
- Display Name
- The friendly name. This is used in labeling in the administrative interface as well as the customer license portal.
- Tag Name
- The name for the XML tag when serializing the parameter to XML. This will also be the name referenced in code when extracting the value from the License Custom Data field. Note that this value must be unique.
- Display Index
- The display index used to order the custom parameters when adding, viewing, and editing licenses, as well as when displaying them on the license details page in the customer license portal.
- License Custom Data XML Preview
- A preview/sample of the XML that will be included in the Protection PLUS 5 SDK license file.
- Data Type
-
The data type. This is used to enforce validation when adding or editing licenses, as well as to determine how to display the parameter values in the administrative interface and customer license portal. This can be one of the following types:
- Boolean
- Date
- Float
- Integer
- String
- Required
- For non-boolean data types, whether to require the user to enter a value for the parameter.
- Always Include
- For the boolean data type, by default, a False value will be omitted from the custom data xml. Enabling this will cause the property to instead be included in the custom data xml when set to False.
- Default Checked
- For the boolean data type, whether the checkbox will be checked by default when adding new licenses.
- Default Days
- For the date data type, the number of days from the current date which will be pre-populated when adding new licenses.
- Default Value
- For numeric and string data types, the default value for the parameter which will be pre-populated when adding new licenses.
- Description
- Brief description of the usage of the custom parameter. For internal use only.
- Display in Customer License Portal
- Whether to display the custom parameter on the customer license portal license details page.
Configuring a Product Option to use Custom License Parameters
Once custom parameter sets have been defined, they must next be associated with the product option(s) that will use them. To do this, from the menu, choose Configure / Products, and the locate and edit each applicable option, setting the Custom Parameter Set property to the appropriate custom parameter set.
Managing Custom Parameters on Licenses
Once a product option is associated with a custom parameter set, a new dynamically generated form will appear when adding or editing licenses for the option, similar to the screenshot below (the form will vary based on the parameter set definition). Simply set the values as needed, and the XML will be updated on the fly and saved to the Custom License Data field on the license.
Custom Parameters and the Shopping Cart
For product options configured with custom parameters, when checking out through the shopping cart, new licenses will be automatically populated with any custom parameters that are marked as both Required and have a default value specified (for float, integer, and string types, Default Value is set; for boolean types, Always Include is set; for date types, Default Days is set).
Using Custom Parameters in Custom License Mailings
The custom license parameter values can be included in Custom License Mailings. Simply use the naming convention [varCLP-TagName], where TagName is replaced with the Tag Name of the custom parameter.
Displaying Custom Parameters in the Customer License Portal
Enabling the Display in Customer License Portal setting on a custom parameter will result in the parameter being displayed on the license details page in the customer license portal using the Display Name for the label.
Global Custom Parameter Sets
Users with Global Access permission can create global custom parameter sets, which are available to all authors on the given SOLO Server instance. To create global custom parameter sets, simply use the Configure Custom Parameter Sets (Global) option rather than the standard option in the Actions menu on the product listing page. Global custom parameter sets are particularly useful when running in Multi-Tenant Catalog Mode, and if a global parameter set is used on a parent option, it will be synchronized with the child options when synchronizing catalogs.