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.
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.
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