Configuring tenant-specific Sterling Configurator adapter properties
Sterling Configurator adapter properties allow you to define communications between Sterling Configurator and external systems.
To configure catalog and pricing adapter implementation perform the following:
- Create a <tenant_id>.properties file in the
<tenant_repository>/<tenant_id>
directory.
Where, <tenant_id> refers to the External Partner ID set in the Visual Modeler when creating a storefront.
- Define the following properties in the
<tenant_repository>/<tenant_id>/<tenant_id>.properties
file:
Table 1. Properties for catalog adapter Property Description cnfg.<tenant_id>.catalog.adapter.impl
This value provides name of the implementation class that invokes the getItemListForOrdering
API and prepares theCatalogItem
objects for the Sterling Configurator. For example,com.ibm.configurator.MyCatalogAdapter
cnfg.<tenant_id>.catalog.provider.url
URL to connect to an external catalog system where the adapter invokes the getItemListForOrdering
API. For example,http://<hostname>:<portno>/catalog/HttpServlet
cnfg.<tenant_id>.catalog.provider.username
This value provides the user name to authenticate to an external catalog system, if required. cnfg.<tenant_id>.catalog.provider.password
This value provides the password to authenticate to an external catalog system, if required. cnfg.<tenant_id>.catalog.provider.orgcode
Organization Code of the catalog provider enterprise. Table 2. Properties for pricing adapter Property Description cnfg.<tenant_id>.pricing.adapter.impl
This value provides name of the implementation class that invokes the getItemPrice
API and prepares thePriceItem
objects for the Sterling Configurator. For example,com.ibm.configurator.MyPricingAdapter
cnfg.<tenant_id>.pricing.provider.url
URL to connect to an external pricing system where the adapter invokes the getItemPrice
API. For example,http://<hostname>:<portno>/pricing/HttpServlet
cnfg.<tenant_id>.pricing.provider.username
This value provides the user name to authenticate to an external pricing system, if required. cnfg.<tenant_id>.pricing.provider.password
This value provides the password to authenticate to an external pricing system, if required. cnfg.<tenant_id>.pricing.provider.orgcode
Organization Code of the pricing provider enterprise. In addition, you can also set the following properties in the tenant properties file as per your requirement.Table 3. Misc Sterling Configurator properties Property Description cnfg.<tenant_id>.validation.customer.enabled
Set the value of this property to true to enable customer validation check for Sterling Configurator, if required. cnfg.<tenant_id>.validation.allowguestcustomer.enabled
Set the value of this property to true to enable guest user access for configuration requests, if required. cnfg.<tenant_id>.validation.currency.enabled
Set the value of this property to true to enable validation on currency that is passed to Sterling Configurator, if required. cnfg.<tenant_id>.priceandentitlement.cache.additional.param.name
Set the value of this property to a comma separated list of client property names to be part of the key for pricing and entitlement cache (user and session specific). Following property values are already part of the key for pricing and entitlement cache: ConfigurationDate
Currency
OrganizationCode
EnterpriseCode
CustomerId
IgnoreCustomerEntitlements
BuyerUserId
Comma is used as delimiter to specify multiple client property names.
For example, if the <tenant_id> is matrix then you need to define all the catalog and pricing adapter properties in the <tenant_repository>/matrix/matrix.properties file. The following code sample shows the properties file for the tenant matrix:
//For catalog adapter
cnfg.matrix.catalog.adapter.impl=com.ibm.configurator.MyCatalogAdapter
cnfg.matrix.catalog.provider.url=http://<hostname>:<portno>/catalog/HttpServlet
cnfg.matrix.catalog.provider.username=admin1
cnfg.matrix.catalog.provider.password=password
cnfg.matrix.catalog.provider.orgcode=Matrix-R
//For Pricing adapter
cnfg.matrix.pricing.adapter.impl=com.ibm.configurator.MyPricingAdapter
cnfg.matrix.pricing.provider.url=http://<hostname>:<portno>/pricing/HttpServlet
cnfg.matrix.pricing.provider.username=admin
cnfg.matrix.pricing.provider.password=password
cnfg.matrix.pricing.provider.orgcode=Matrix-R
//Misc Properties
cnfg.matrix.validation.customer.enabled=true
cnfg.matrix.validation.allowguestcustomer.enabled=true
cnfg.matrix.validation.currency.enabled=true
cnfg.matrix.priceandentitlement.cache.additional.param.name=storeId, personalizationId, contractId