How Settings Are Resolved #
When a customer purchases a variable product variation, DDLS resolves the effective license settings before creating the license. The resolution follows a three-level inheritance model.
The Three Levels #
Level 1: License Type Defaults #
The License Type assigned to the variation (or inherited from the parent product) provides the baseline values: activation limit, duration, is_lifetime, allows_updates, allows_premium_content, allows_api_access.
Level 2: Parent Product Overrides #
If the parent WooCommerce product’s Licensing tab has values set that differ from the License Type defaults, those values override the License Type baseline. The product-level override flag (_dmsilm_override_license_type = 'yes') signals that the product has explicitly set values.
Level 3: Variation Overrides #
If the variation’s licensing fields are set, they take final precedence over both the product and the License Type. The variation-level override flag mirrors the product-level mechanism.
What “Override” Means #
An override is not simply having a value. DDLS stores a separate override flag (_dmsilm_override_license_type) at both the product and variation level. The flag records that an administrator explicitly configured that level rather than accepting inherited defaults. This allows the system to distinguish “not set” from “set to the same value as the parent.”
The Resolved Result #
The resolution process produces a single set of settings:
activation_limitlicense_durationis_lifetimeallows_updatesallows_premium_contentallows_api_access
Each field also carries a source indicator recording where the winning value came from: 'license_type', 'product', or 'variation'.
These resolved settings are what gets written to the new license record at purchase time.
After Resolution: Existing Licenses Are Not Affected #
Changing a License Type, a product’s Licensing tab, or a variation’s settings after a license has been created does not alter that license. The settings are stamped onto the license record at creation. To change an existing license, edit it directly at DDLS > Licenses.
Example #
| Level | Activation Limit | Source |
|---|---|---|
| License Type (Standard) | 1 | baseline |
| Parent product override | 3 | product |
| Variation override | 5 | variation |
| Resolved | 5 | variation |
In this example, the Standard License Type says 1 site. The parent product overrides to 3 sites. The variation overrides to 5 sites. The customer receives a 5-site license.
Related Topics #
- [Per-Variation Licensing Settings](#)
- [License Type Fields Explained](#)
- [What Are License Types?](#)
