Easy Extension Framework v0.5 Help

Easy Installation Wizard

In easy-installer-wizard.json, you indicate the configuration of the wizard that is generated automatically.

Configuration Schema

In the wizard definition file, there is one entry called configurationSchema to define the schema of the configuration.

The configuration schema should respect the JSON schema specifications v3 or v4.

Below is an example of easy-installer-wizard.json.

{ "configurationSchema": { "type": "object", "title": "Options", "properties": { "baseURL": { "type": "string", "description": "This is your endpoint" }, "apiKey": { "type": "string", "description": "This is your API key" }, "timeout": { "type": "integer", "default": "52000", "description": "Timeout in ms" }, "envType": { "type": "string", "enum": ["DEV", "STG", "PRD"], "options": { "enum_titles": ["Development", "Stage", "Production"] }, "description": "This is your target environment" } } } }

We use the library JSON Editor to automatically generate the wizard Configuration tab based on the configuration schema.

Below is the outcome of wizard Configuration tab based on th example above.

HAC Installation Wizard

Predefined providers

There are predefined providers that generates data dynamically from the system:

  • productCatalogVersion

  • classificationCatalogVersion

  • contentCatalogVersion

  • unit

  • baseStore

  • currency

  • language

  • website

Below is an example on how to use these providers.

{ "configurationSchema": { "type": "object", "title": "Options", "properties": { "productCatalogVersion": { "type": "string", "enum": ["${catalogIds}"], "options": { "enum_titles": ["${catalogNames}"] } }, "classificationCatalogVersion": { "type": "string", "enum": [ "${classificationCatalogIds}" ], "options": { "enum_titles": ["${classificationCatalogNames}"] } }, "contentCatalogVersion": { "type": "string", "enum": ["${contentCatalogIds}"], "options": { "enum_titles": ["${contentCatalogNames}"] } }, "unit": { "type": "string", "enum": ["${unitCodes}"], "options": { "enum_titles": ["${unitNames}"] } }, "baseStore": { "type": "string", "enum": ["${baseStoreUids}"], "options": { "enum_titles": ["${baseStoreNames}"] } }, "currency": { "type": "string", "enum": ["${currencyIsocodes}"], "options": { "enum_titles": ["${currencyNames}"] } }, "language": { "type": "string", "enum": ["${languageIsocodes}"], "options": { "enum_titles": ["${languageNames}"] } }, "website": { "type": "string", "enum": ["${websiteUids}"], "options": { "enum_titles": ["${websiteNames}"] } } } } }

Easy Configuration Service

The service easyConfigurationService gives access to Easy configuration.

Below is an example.

Map<String, Object> easyConfiguration = easyConfigurationService.getConfiguration(); println "BaseURL: " + easyConfiguration.baseURL;

Easy Configuration in ImpEx files

Easy configuration key/value pairs are automatically injected into Easy ImpEx headers wih this format $easy-config.<key>.

They can be used in ImpEx files as below.

INSERT_UPDATE APIEndpoint ;code[unique = true];apiBaseUrl;apiKey ;default;$easy-config.baseURL;$easy-config.apiKey
Last modified: 18 August 2025