Commerce web store configuration requires the SuiteCommerce Configuration record. This presents a user interface to easily change configuration settings for a specified domain. Any changes made in this record save to a custom record and apply at runtime, as described below. The SuiteCommerce Configuration record is all that is required to configure properties for a domain.
The user interface of this record depends on the following files:
JSON files – These files specify configurable properties and metadata related to a module. Modules that include configuration properties contain a subdirectory called Configuration, which contains these individual JSON files.
configurationManifest.json – When you activate an extension that includes configuration files, the application concatenates the individual JSON files into the configurationManifest.json file, located in the File Cabinet. If testing locally, you must deploy and activate your extension to see these changes. Metadata stored in this auto-generated file determines the appearance and behavior of the SuiteCommerce Configuration record in NetSuite.
JSON configuration files affect the user interface of the SuiteCommerce Configuration record only. They do not configure a domain. To configure properties for a specific domain, see Configure Properties.
The following diagram provides an overview of JSON configuration as it relates to Commerce web stores:
Individual JSON configuration files specify configurable properties and metadata to be used by the SuiteCommerce Configuration record. These files are stored in the modules using the related properties.
When you activate an extension for a domain, the application concatenates any JSON configuration files into one configurationManifest.json file.
The metadata in the configurationManifest.json file determines what appears in the user interface of the SuiteCommerce Configuration record. The metadata for each property specifies important metadata about each property, including tab or subtab location, titles, possible values, default values of each property, etc. This metadata may optionally also include conditional group (tab) and subtab display logic. The configurationManifest.json file sets this information for all domains linked to the associated SSP Application.
At runtime, the application uses the default values declared in the configurationManifest.json file to implement configuration properties.
If you modify and save the SuiteCommerce Configuration record, these values exist in a custom record and merge with the data from the configurationManifest.json file at runtime. These changes take precedence over any corresponding values stored in the configurationManifest.json file for the associated domain.
The manifest determines the user interface of the SuiteCommerce Configuration record and default property values used by all domains. When you save changes to the SuiteCommerce Configuration record, you create a custom record for the selected domain. To make changes to multiple domains, you must configure each domain individually or use the Copy Configuration functionality. If you do not save any changes to the SuiteCommerce Configuration record, only the values stored in the configurationManifest.json apply at runtime.
For example, the Case.json file determines how properties associated with the Case feature appear in the SuiteCommerce Configuration record user interface. This information can include the tab or subtab where a property appears, the default value, and optional values for the property, among other things. When you deploy and activate your extension, the individual JSON configuration files concatenate into one configurationManifest.json file. When you access the SuiteCommerce Configuration record, this manifest defines what you see in the user interface. You then use the record to configure your site.
If you are implementing a SuiteCommerce Advanced site using a release prior to Aconcagua, this process occurs when you deploy your customizations to NetSuite. See Create JSON Configuration Files for details on how to add new or modify core JSON configuration files.