Store configuration files
Customization and configuration of the store requires modification, or addition and extension of configuration files in the custom stores web archive (crs-web.war) on the Store server. The following sections detail the specific files, their locations, and their functions for customization of the store. In addition, the configuration file on the Transaction server that is required to be modified for the Store server is also detailed.
File locations
Original directory | Extension directory |
---|---|
crs-web.war/ | crs-web.war/ |
crs.ear/ | crs-web.war/ |
Store server configuration files
HCL Commerce enterprise archive (WC.ear)- workspace_dir/WC/xml/config/com.ibm.commerce.foundation/wc-component.xml
The HCL Commerce foundation component configuration file on the Transaction server. For store, this configuration includes variables that are required for storefront cache invalidation, store preview, and for the rendering of email templates (JavaServer Page files).
<_config:configgrouping name="RemoteStoreConfiguration"> <!-- value to remote store web host name --> <_config:property name="wc.store.remote.webHostName" value="
host_name
"/> <!-- value to remote store web host HTTP port number --> <_config:property name="wc.store.remote.webNonSSLPort" value="port"/> <!-- value to remote store web host HTTPS port number --> <_config:property name="wc.store.remote.webSSLPort" value="port"/> <!-- value to remote store context root --> <_config:property name="wc.store.remote.webContextPath" value="store_context_path"/> <!-- value to remote store preview context root --> <_config:property name="wc.store.remote.previewContextPath" value="preview_context_path"/>Where:- host_name
- The host name of the store web server. Used for email template rendering and store preview.
- port
- The port number for the store web server. Used for email
template rendering and store preview.
- The default non-SSL port number is 8080.
- The default SSL port number is 8443.
- store_context_path
- The non-preview context path for store pages. Used for
email template rendering. You can determine the default
context path by viewing the contents of the
wc-store.xml configuration file in
your Externalized Customization workspace. This file is in the
crs\xml\config
directory. Within the file, locate the
InstanceProperties/Websphere/WebModule
element. The default context path for store pages is defined within theModule
that has thename
property with a valueStores
. The default context path for store pages is /webapp/remote/stores. - preview_context_path
- The store preview context path for store pages. Used for
store preview rendering. You can determine the default
context path by viewing the contents of the
wc-store.xml configuration file in
your Externalized Customization workspace. This file is in the
crs\xml\config
directory. Within the file, locate the
InstanceProperties/Websphere/WebModule
element. The default store preview context path is within theModule
that has thename
property with a valuePreview
. The default preview context path is /webapp/remote/preview.
- crs.ear/xml/config/wc-store.xmlThe following sections in this file are customizable:
<config/InstanceProperties/WebSphere/WebModule>
<config/InstanceProperties/Instance>
<config/InstanceProperties/Instance@enableDialogActivity>
<config/InstanceProperties/WhiteListProtection>
<config/InstanceProperties/XSiteScriptingProtection>
<config/Components>
<config/NonEncryptedParameters>
<config/SEOConfiguration>
<config/DoubleClieckMonitoredCommands>
Note: enableDialogMarketing is the only customizable configuration option that is unique to HCL Commerce on Cloud. This feature is disabled by default. When enabled, marketing events are triggered through the web channel. This feature enables the marketing system on the Transaction server to evaluate user behavior based on marketing rules.For more information about these customizable sections and values, see Store server configuration file (wc-store.xml).
- crs-web.war/crs/xml/mapper/SEOUrlMapper.xml
The SEO URL mapper format configuration. This file is not directly customizable. If you want to change the SEO URL mapper format configuration, you must change the
config/SEOConfiguration
value within wc-store.xml. For more information about constructing SEO-friendly URLs, see Constructing SEO-friendly URLs by using pattern files in the HCL Commerce Version 9 documentation. - crs-web.war/WEB-INF/AliasConfig.xml
The alias configuration that is used by the alias tag and alias bean tag.
- crs-web.war/WEB-INF/xml/config/bi/biConfig.xml
The Coremetrics integration configuration. Can be modified directly. For details about the biConfig.xml file and how to update it, see Updating the biConfig.xml file in the HCL Commerce Version 9 documentation.
- crs-web.war/crs/xml/config/wc-attribute-masking.xml
The masking configuration for logging. Can be modified directly. For more information about masking in logging, see Logging and tracing in the HCL Commerce Version 9 documentation.
- crs-web.war/WEB-INF/xml/seo/stores/storeDir/SEOURLPatterns.xmlThe SEO URL pattern configurations. Can be modified directly. For more information about constructing SEO-friendly URLs, see Constructing SEO-friendly URLs by using pattern files in the HCL Commerce Version 9 documentation.Note: Previous SEOURLPatterns-ext.xml files can still be used to customize the SEO URL patterns. However, the default SEOURLPatterns.xml file is not updated automatically during a migration. This file must be migrated from new releases manually.
REST template
- A resource is characterized by a path which is a URI prefix that is common to a group of REST services.
- Each method definition is characterized by the remaining path after the resource path in the full URI of a REST service.
- crs-web.war/WEB-INF/xml/config/componentDir/rest-template-config.xml
These files contain the REST template configuration for each component.
The contents of these files appear as such:
<resource path="{serverHost}/{contextPath}/store/{storeId}/loginidentity" name="loginIdentityHandler"> <serverParam name="serverHost">$WCParam.serverHost</serverParam> <serverParam name="storeId">$WCParam.storeId</serverParam> … <method name="logonAndChangePassword" httpMethod="POST" path=""> <template> <![CDATA[{"logonId" : "$logonId","logonPassword" : "$logonPasswordOld","logonPasswordNew" : "$logonPassword","logonPasswordVerify" : "$logonPasswordVerify"}]]> </template> </method> … </resource>
Where:- resource
- The REST resource.
- path
- The REST resource URL. The variable in this URL is dynamically changed. Therefore, it must be enclosed within the curly brackets ('{}'), and its value is defined by the following serverParam entries.
- name
- The defined resource name of the service.
- serverParam
- This element is a subelement within the resource tag.
The variables that are used in the resource path. The serverHost, contextPath and storeId variables are automatically resolved to be the values for the backend HCL Commerce server based on the current request scheme and preview mode. Other parameters are obtained from the current request parameters.
- method
- This element is a subelement within the resource tag.
The method definition.
- name
- The defined method name. Together with the resource name it becomes the parameter property that
is defined in the action controller definition. For example, for this service example, the parameter
is
loginIdentityHandler.logonAndChangePassword
. - httpMethod
- The HTTP method for this REST request.
- path
- The method part of the REST resource in the URL. For example, the method path for the service
/store/{storeId}/person/@self
is @self. If this parameter is left empty, then the resource path URL that is used is the full URL.
- template
- The input values required by the REST request in JSON format. For POST, PUT, and DELETE services, the body JSON is in this template format. For GET services, the variables in the template are appended in the URL as request parameters. The variable values are found from request properties using the values in the templates without the dollar sign as the request property name. If a variable value does not have the dollar sign, the variable value in the template is the value composed to the REST request.
Spring configuration files
- crs-web.war/WEB-INF/spring/storeDir/controllers.xml imports all other controller definition files.
- crs-web.war/WEB-INF/spring/storeDir/views.xml imports all other view definition files.
- It is a recommended best practice that you modify these files by using the -ext naming convention, and to use store identifiers in the controller and view entries.
- The Spring entries in controllers.xml and views.xml outside of the individual store folders apply to all stores. If these files are modified directly, then delta configurations are added to the store folders of new stores that are published later. The delta configurations are used because the modified non-ext files are not compatible with the default provided starter store. If you customize your new store to be compatible with your modified global configurations, you can remove these configuration files.