Customers of previous DeltaXML releases may have interacted with our previous software licensing system. This guide provides transition information for users, administrators and application developers.
Flexera based licensing is being introduced into products on a rolling basis. The following table lists the releases where Flexera licensing is introduced. Any previous releases will use our traditional licensing mechanism.
License File Format
Our previous license files (for all license types except Redistribution) were based on Java Property files. Here is an example:
This format was undocumented and was only used internally by DeltaXML software.
FLexera's License Administration Guide documents their license file format in the Reading a License File section. The Flexera guide describes the full file format although licenses issued by DeltaXML will only use a subset of the full capabilities.
Here is an example of a concurrent license using the Flexera format:
There is no one-to-one correspondence between our previous or traditional format licenses where they described the product and Flexera licensing where features are enabled and counted.
We have taken this opportunity to overhaul some of the names used in the licensing to make them more consistent with the capabilities of the product.
|Product||old license product name||flexera feature name(s)|
The software (including the built-in applications and customer developed code) will attempt to locate license files at defined locations. Although the file format has changed the lookup locations are similar:
- User home directory
- Software install directory/sub-directory
- Using classpath resource lookup
File and resource names
Different filenames or resource names are used in the above lookup locations according to the product being used.
Invoking the jar file still provides a license report but some details have changed:
- IP notices contained in license files are now reported.
- There is no longer the concept of the license holder, but the hostid and other aspects of the license provide identification.
- The license type corresponds to one of several that are now supported:
The previous licensing code operated by finding a license file and then checking the details in that file. The Flexera system looks for features irrespective of which file or server they are obtained from. The feature lookup code used for license checkout will request the feature and the version corresponding to the release. In the previous system if a license file was found but the version specified in the file did not match that of the software a VersionException would be thrown. VersionException is no longer possible in the Flexera system and a NoLicenseInstalledException was produced when testing similar scenarios.
The previous code would defer license checking until the licensed operation such as a compare method. In the new system more checking is done up-front when the license is specified or set, for example when a setLicenseFile() or setRedistributionLicense() method is called. This means that exceptions that were previously thrown at comparison time are now thrown earlier and method signatures and documentation have been changed to reflect this.
While we have tried to maintain a degree of API compatibility a number of minor changes have been made to support the issues and topics discussed above. A consequence of these changes is that some recompilation may be necessary and in a limited number of cases code changes may be needed. We have incremented major version numbers of the releases to reflect these small incompatibilities at the API level.
Here is a summary of the API changes:
VersionExceptionhas been removed
LicenseExpiredExceptionhave deprecated methods as they no longer provide useful information with Flexera licensing.
- The XML Compare product's
com.deltaxml.corepackage has a new
LicenseExceptionsuperclass so as to mirror the exception class structure used in the
- The signature of the
setRedistributionLicensemethod now throws exceptions that were not used in the previous releases
- New methods have been introduced to specify the license file or server through the API, these are: