License file format

The license that Sage delivers to you as a customer is defined by a file that is installed on your server in the database. Installation is performed in the following methods:
* During Version 7 web server setup, enter the path of the license file, and then the license is installed automatically.
* The correct method to install a license is to paste the license contents into the "License management" screen (see our License management documentation) and invoke "Load license".
* If you cannot start the Version 7 application because of a missing license: Copy the license to a file license.json into the temp subfolder of the bin folder of the Version 7 web server installation. Start the Version 7 service. The file will be read, the contents installed, and the file will be renamed to license.bbb.

This file is in JSON format, with the UTF8 character set. It will grant you the access rights to the software and includes several elements described below:

  • fileType: identifies the file as a license file. It must be "License".
  • partnerId: identifies the partner who licenses the component.
  • product: identifies the product and can include several properties.
  • policy: identifies a specific policy, and can include several properties.
  • licenseType: is the type of license. The licenseType value can take on the following values:
    • STANDARD
    • DEMO
    • NFR
  • licensedTo: identifies the customer who owns the license. It includes at least the following fields, but additional fields may be present:
    • name
    • address (address1, city, zip, state, country...)
  • validity: is the overall validity of the license. Is a range of [startDate, endDate]. It restricts the validity of all the elements contained in the file.
  • modules: is a list of modules that are enabled by this license. A module has a code and can optionally have a validity date range.
  • activityCodes: is a list of activity codes that are enabled by this license. A module has a code and can optionally have a validity date range.
  • languages: is a list of languages that are enabled by this license. A language has a code and can optionally have a validity date range.
  • legislations: is a list of legislation codes that are enabled by this license. A legislation has a code and can optionally have a validity date range.
  • parameterKits: is a list of parameter kits that are enabled by this license. A parameter kit has a code and can optionally have a validity date range.
  • sessionControl: it can take one of two values: named or concurrent.
  • maxSessions: is the overall cap to the number of sessions.
  • badges: it lists the badges granted to the licensee. A badge has at least a code and a max value that defines the maximum number of badges allowed for the corresponding code. It can also have a validity date range.
  • parameters: is a list of parameters that will be tested by the functional modules. The parameters element has a code and a value that is a number, a string, or a boolean. Parameter codes may depend from the product and the version, but some standard values are managed by the technical platform such as:
    • WSSIZELIMIT defines the size (in Megabytes) of data that can be exchanged in incoming web services.
    • WSPERIOD (a string that can be DAY, MONTH or YEAR) defines the period on which the size limitation applies.
    • WSGRACELIMIT (as a percentage) defines the oversize percentage allowed (typically 10%; this means that if the maximum size is defined as 1Mb / day, 1.1 Mb per day will be possible without blocking the web services.
    • WSGRACESLOWDOWN describes the rate used to decrease the speed of the web services between the size limit and the size limit plus the grace limit. If for instance the value of this parameter is 5, it means that once the 1 Mb limit has been reached on a given day, the speed will be divided by 5 until the limit of 1.1 Mb is reached within the end of the day (if this limit is reached, the web services will stop).
  • signature: is a digital signature which guarantees the integrity of the license file.
  • signatureText: is the name of the organization who signed the file.

A policy file is also installed on the server with the software. This file has a JSON structure, and includes three pieces of information that must match the corresponding information in the license file. Otherwise, the license will not be considered as valid. These are:
* partnerId
* code
* version

The policy file also contains the possible values for badges, modules, activityCodes, languages, legislations, parameters and parameterKits elements. If one of the codes in the license file does not match the policy file, the license is not valid.

The contents of the signature and signatureText elements are a digital signature and the identification of the signer. They ensure the validity of the license file.

Example

CODECODE CODE json
{
  "fileType": "License",
  "partnerId": "",
  "product": {
    "code": "ERP",
    "version": "7.0"
  },
  "policy": {
    "code": "ERPSTD",
    "version": "1.0"
  },
  "licensedTo": {
    "name": "MY SMALL COMPANY",
    "address": {
      "address1": "14 Rue du Chemin Vert",
      "city": "Paris",
      "zip": "75011",
      "state": "",
      "country": "FR"
    }
  },
  "validity": ["2012-09-01", "2014-08-31"],
  "modules": [{
    "code": "SAL",
    "validity": ["2012-10-01", "2012-12-31"]
  }],
  "activityCodes": [{
    "code": "C1"
  }, {
    "code": "C2"
  }],
  "languages": [{
    "code": "FRA"
  },
  {
    "code": "CHI"
    "validity": ["2012-10-01", "2012-12-31"]
  }],
  "legislations": [{
    "code": "FRA"
  }],
  "parameterKits": [{
    "code": "KIT1"
  }, {
    "code": "KIT2",
    "validity": ["2012-08-01", "2013-12-31"]
  }],
  "sessionControl": "concurrent",
  "licenseType": "STANDARD",
  "maxSessions": 5,
  "badges": [{
    "code": "ACCTCLRK",
    "max": 20
  }, {
    "code": "CFO",
    "max": 1
  }],
  "parameters": [{
    "code": "MAXFIXEDASSETS",
    "value": 10000
  },
  {
    "code": "WSSIZELIMIT",
    "value": 1
  },
  {
    "code": "WSPERIOD",
    "value": "DAY"
  },
  {
    "code": "WSGRACELIMIT",
    "value": 10
  },
  {
    "code": "GRACESLOWDOWN",
    "value": 5
  }],
  "signature": "a9Rtk8JJm0....",
  "signatureText": "Sage"
}