Templates
The License Templates view in Babel Licensing provides a comprehensive interface for managing license templates that serve as the foundation for creating and issuing licenses to your customers. These templates define the standard parameters and configurations that will be applied to new licenses.
Note: For more detailed information on the conceptual framework and technical implementation of License Templates, including their role in the licensing architecture, please refer to the “License Templates” chapter of this manual.
.png)
Templates
Overview
The Templates view displays a tabular list of all available license templates in your Babel Licensing system. Each row represents a single template with its key properties displayed across multiple columns.
Action Buttons
At the top of the Templates view, you’ll find several important action buttons:
- ADD: Creates a new license template
- Search: Allows you to search for specific templates
- Refresh: Updates the template list to reflect the latest changes
- Import/Export: Enables importing or exporting templates (button with document icon)
Template List Columns
The template grid displays the following information for each template:
- Name: The descriptive name of the template (e.g., “ACME Charting 11.0.0”)
- Issue Date: Whether the template includes an issue date (indicated by a checkbox)
- Support Days: The number of days of support included with licenses based on this template (typically 365)
- Expire Days: The number of days until licenses created from this template will expire
- Type: The license type category (Server, Corporate, Basic, Enterprise, Cloud)
- Format: The format in which licenses will be generated (XML DSig, XML)
- Mode: The operational mode of the license (File, Activation)
- User Key: The format for user keys generated with this template
Row Actions
Each template row includes action buttons:
- Edit (pencil icon): Opens the template editor to modify the template
- Delete (trash can icon): Removes the template from the system
- Additional Options (three dots menu): Provides access to more actions
License Modes
The templates can be configured for different license modes:
- File: Generates downloadable license files
- Activation: Creates licenses that require activation on specific machines
- Floating: Enables a pool of licenses to be shared among multiple users or machines, with a limit on concurrent usage
Format Options
Templates define the format for generated licenses:
- XML DSig: XML format with digital signature for enhanced security
- XML: Standard XML format
- ASCII: Plain text format using standard ASCII character encoding including common character symbols like parentheses and punctuation.
- BASE32: Encoded format using Base32 encoding scheme, which produces license strings using alphanumeric characters
Creating a New Template
- Click the ADD button at the top of the template list
- Fill in the template details, including name, type, expiration, and format
- Configure any additional properties or restrictions
- Save the template
Managing Existing Templates
- Use the search functionality to locate specific templates
- Click the edit (pencil) icon to modify a template
- Use the delete (trash) icon to remove templates that are no longer needed
Editing License Templates in Babel Licensing
The Edit Template screen in Babel Licensing allows you to create or modify license templates. This comprehensive interface is divided into several sections, each controlling different aspects of the license template.

License Template Edit
Template Import
At the top of the screen, you’ll find options to import an existing template:
- SELECT XML TEMPLATE: Button to select an existing XML template file
- Drop XML file here: Area where you can drag and drop a template XML file
Template Details
This section contains the basic information about the template:
- Name: The descriptive name of the template
- License Type: The category of license (e.g., “Premium”)
- Mode: The deployment method for licenses created with this template:
- Activation: For licenses activated on specific machines
- Floating: For licenses shared among multiple users
- File: For downloadable license files
- User Key: The format for generating user activation keys (e.g.,
{TOKEN:5}-{TOKEN:5}-{TOKEN:5}-{TOKEN:5}) - Issue Date: Checkbox to include the issue date in licenses generated from this template
- Expire Days: Number of days until licenses created from this template will expire
- Support Days: Duration of support provided with licenses (e.g., “365” days)
- License File Name: Default filename for generated license files (e.g.,
babel.licenses) - Format: Output format for licenses (e.g., “Ascii”, “XML”, “XML DSig”, “BASE32”)
- Description: Optional field for additional information about the template
Selection
This section associates the template with specific products and signing keys:
- Product: The software product this template is for (e.g., “ACME TradeSphere”)
- Sign Keys: Cryptographic keys used to sign licenses generated from this template
- Select a sign key pair: Dropdown to choose from available signing keys
If Signing Keys is not selected, the product’s default keys will be used to sign the license.
License Properties
This tabbed section defines the properties included in licenses created from this template:
ASSEMBLIES Tab
Lists the software assemblies covered by licenses created from this template:
- Name: Assembly name (e.g., “TradeSphere”)
- Version: Software version (e.g., “1.8.0.0”)
- Culture: Localization setting (e.g., “neutral”)
- Public Key Token: Cryptographic identifier (e.g., “45cd27cb2b21cf6”)
Additional tabs include:
- COMPONENTS: For managing software components
- FIELDS: For custom license fields
- FEATURES: For controlling feature access
The ”+” button allows adding new assemblies, components, fields, or features.
Restrictions
This section defines limitations and conditions for licenses generated from this template:
- ADD RESTRICTION: Button to add various types of restrictions: BETA, DOMAIN, HARDWARE TRIAL, USAGE, CUSTOM
Creating Custom Restrictions
Custom restrictions in Babel Licensing provide powerful flexibility when standard restriction types don’t meet your specific licensing requirements. With custom restrictions, you can create tailor-made constraints for your software licenses based on unique parameters or conditions.

The Custom Restrictions panel allows you to define your own restriction logic through three main components:
- Restriction Name: A unique identifier for your custom restriction
- Properties: Key-value pairs that define the parameters of your restriction
- Property Name: The name of the parameter (e.g., “totalMemory”)
- Property Value: The value associated with the parameter (e.g., “4096”)
- Use the ADD PROPERTY button to include additional parameters
- Custom XML Content: Advanced configuration using XML syntax to define complex restriction logic that is represented by XML elements children of the custom Restriction element.
- This section allows you to include custom XML elements that will be embedded in the license
- In the example,
<Cpu architecture="arm" />restricts the license to ARM-based processors
To create a custom restriction:
- Click the ADD RESTRICTION button and select “CUSTOM” from the dropdown menu
- Enter a meaningful name for your restriction that reflects its purpose
- Add properties that define the parameters for your restriction
- If needed, include custom XML elements to implement more complex restriction logic
- Save your changes to apply the custom restriction to the license template
Custom restrictions are particularly useful for hardware-specific limitations (like CPU architecture or memory requirements), feature-based licensing, or any specialized licensing scenarios unique to your application.
When licenses are generated from templates with custom restrictions, your application code must include logic to interpret and enforce these custom restrictions by checking the license properties against the runtime environment. To see full code exnaple please refer to the License Restrictions paragraph.
Action Buttons
At the bottom of the screen, you’ll find:
- SAVE: Saves all changes to the template
- CANCEL: Discards changes and returns to the previous screen
Best Practices
- Create separate templates for different product versions and license types
- Use consistent naming conventions for templates to make them easily identifiable
- Regularly review and update templates to reflect changes in your licensing strategy
The License Templates view serves as the foundation of your licensing system, allowing you to standardize license generation while maintaining flexibility for different products and license types.