Last Modified February 15, 2022

Feature-Based Licensing

  1. Overview
  2. Setting up Feature-Based Licensing
  3. Syntax for <license_data>
  4. Setting <license_data>
  5. Integration with eCommerce systems
  6. Integration with DNA Direct Connector and DNA RESTful API
  7. Manual Implementation of Feature-Based Licensing
  8. Viewing and Managing the <license_data> information in software_DNA


With Feature-Based Licensing you can offer multiple variants of your application at different price points using configuration information embedded in the software_DNA License file (the "CDM" License file). You can specify Features or attributes for a specific License Code that your Application can use to tailor its features / capabilities on start-up (for example "Extended Templates").

This feature uses the <license_data> Custom Field which is specific to a License Code, included in the ".CDM" License file on activation, and can be retrieved by your application.

The Feature-Based License process would look like the following:

  • User (Buyer) purchases your application with "Feature Set A"

  • A new License Activation Code is generated with "Set A" specified in <license_data>

  • When the Buyer activates the application with the License Activation Code, a "CDM" License file is created and includes <license_data>.

  • On start-up, your application reads in <license_data> and configures itself accordingly

Upgrading from Feature Set A to Feature Set B would entail:

  • Buyer purchases the "Upgrade" from Set A to Set B for a given price for a given License Activation Code

  • The License Activation Code is updated with the Set B <license_data>

  • The Buyer does a "Software Update" from the application which regenerates the "CDM" License file which now includes the Set B <license_data> information

  • On start-up, your application uses this new <license_data> and configures itself accordingly

The above can be fully automated using our supported eCommerce Connectors (recommended), or done manually by directly editing the <license_data> information for a specific License Activation Code.

All the available eCommerce Connectors support the initial setting of the <license_data> information, but only some eCommerce solutions have the capabilities required to offer the Upgrade process at this time (see below ).


Setting up Feature-Based Licensing

When the "Custom Field" option is enabled for a DNA Product in the DNA Control Panel:

  • The Code View screen will display and allow you to edit the <license_data> information

  • The eCommerce Connector Configuration screens will allow you to enter the <license_data> information to be used for each SKU received via the eCommerce Connector when generating the License Activation Code

  • The Code Generator screen will allow you to specify a value for the <license_data> for the batch of Licenses to be generated.

Not all License Activation Codes need to have information in <license_data>. It's acceptable to have a "blank" field.


Syntax for <license_data>

<license_data> is 0 to 1024 characters, alphanumeric, space(s) and - + _ # / . , @ ( ) % : ;

In the eCommerce Connector Configuration screens, you can enter up to 200 characters. License Data information can be added with Upgrade orders up to the maximum of 1,024 characters.

You can include any information you need and that your application will use to configure itself according to this information.


Setting <license_data>

The <license_data> field is set when:

  • an eCommerce transaction is received and the DNA eCommerce Connector configuration specifies a <license_data> setting for this SKU. (max 200 characters)

  • an eCommerce transaction is received and includes the <license_data> information that overrides the DNA eCommerce Connector configuration (max 200 chars). This is available only with selected eCommerce Connectors.

  • a RESTful API License Update command is received.

  • the <license_data> information is edited directly from the Code View screen for a specific License Activation Code (max 1,024 characters).

  • a License Code is generated using the DNA Control Panel Code Generator.


Integration with software_DNA eCommerce Connectors

All the supported DNA eCommerce Connectors will allow the initial setting of the <license_data> for a License Activation Code when the License Code is generated. This is configured within the DNA Control Panel in the eCommerce Connector Configuration screens.

The following eCommerce solutions support an Upgrade process whereas a mandatory field is presented to the Buyer during the ordering process so that the Buyer can enter the License Activation Code that will be upgraded and include it in the transaction with the DNA eCommerce Connector:

  • FastSpring Classic Springboard with Code Validation
  • PayPro Global
  • eJunkie

The following eCommerce solutions also support License Code Validation which ensures that the License Activation Code provided during the order is valid before the order is completed:

  • FastSpring Classic Springboard with Code Validation.


Integration with DNA Direct Connector and DNA RESTful API

If you have your own store-front solution that supports a Feature-Based Licensing scheme, you can:

  • use the DNA Direct Connector to:
    • generate a License Code and specify the <license_data> field
    • update the <license_data> field for a given License Activation Code
  • use the DNA RESTful API to:
    • verify the state of a License Activation Code during an upgrade purchase
    • update the <license_data> field for that License

Please contact our Technical Support for assistance in setting this up.


Manual Implementation of Feature-Based Licensing

  • Create or use an existing DNA Product

  • In the DNA Product Configuration screen, edit the Licensing Options and enable Custom Fields

  • To generate License Codes, use the Code Generator under the Codes -> Generate Codes menu, choose the License Code settings, the quantity, and specify the <license_data> field to be used when creating the License Activation Codes. Features Generate

  • Distribute the License Codes to your users as required


Viewing and Managing the <license_data> information in software_DNA

Use the Codes -> Search menu to view details on a License Activation Code (see screen shot below). The <license_data> information will be shown when Feature-Based Licensing (Custom Fields) is enabled.

Features Viewing

Click on edit () to update the <license_data>. You can enter new license data information or choose a setting already used by other License Codes from the Drop-Down List. This updated information will be stored in the ".CDM" License file at the next DNA Server Validation or Re-Activation

Features Edit