Configuring tenant-specific Omni-Configurator adapter properties

Omni-Configurator adapter properties allow you to define communications between Omni-Configurator and external systems.

To configure catalog and pricing adapter implementation perform the following:
  1. 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 Sterling Configurator Visual Modeler when creating a storefront.

  2. 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 the CatalogItem objects for the Omni-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 the PriceItem objects for the Omni-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 Omni-Configurator properties
    Property Description
    cnfg.<tenant_id>.validation.customer.enabled Set the value of this property to true to enable customer validation check for Omni-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 Omni-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