HCL Commerce Version 9.1.10.0 or later

Enabling HCL Commerce Marketplace functionality within a Kubernetes deployment

Marketplace enables a rich set of enhanced marketplace functionality. Introduced in HCL Commerce 9.1.10.0 as a technical preview, a production-ready solution is available with HCL Commerce 9.1.11.0.

To learn more about Marketplace, see Marketplace.

Before you begin

  • HCL Commerce Version 9.1.10.0 or laterMarketplace requires HCL Commerce 9.1.10.0 or greater.
  • If you are upgrading a deployment of HCL Commerce that was intitially created prior to 9.1.10.0, you must create a Marketplace workspace.
      1. Depending on the type of environment that you are working with, navigate to the utilities directory:
      2. Run the create_marketplace_workspace utility.
        ./create_marketplace_workspace.sh dbType dbName dbServer dbPort dbaUser dbaPassword dbUser dbPassword workspaceSchemaNumber
        HCL Commerce Developer
        ./create_marketplace_workspace.bat dbType dbName dbServer dbPort dbaUser dbaPassword dbUser dbPassword workspaceSchemaNumber
        For example:
        ./create_marketplace_workspace.sh db2 mall db 50000 db2inst1 diet4coke wcs wcs1

About this task

Marketplace is an optional feature, and is not required for HCL Commerce to function.

Procedure

  1. HCL Commerce Version 9.1.10.0 Add the MARKETPLACE_PREVIEW_ENABLED environment variable to your authoring and/or live environment.
    This step is required for HCL Commerce 9.1.10.0 only. It is not required for subsequent releases.
    1. Open your custom Helm Chart values.yaml configuration file for editing.
      In the standard deployment task, Deploying HCL Commerce on a Kubernetes cluster, this is referred to as my-values.yaml.
    2. Locate the tsApp.envParameters section of the file, and add the MARKETPLACE_PREVIEW_ENABLED environment variable with a value of true.
      An example of the file with the environment variable added is as follows:
      tsApp: 
      
        name: ts-app 
        replica: 1 
        image: commerce/ts-app 
        tag: v9-latest 
      
        resources: 
          requests: 
            memory: 4096Mi 
            cpu: 500m 
      
          limits: 
            memory: 5120Mi 
            cpu: 2 
      
        ## uncomment following property and set a proper merchant key to overwrite the merchant key in transaction server 
        #merchantKey: 
        ## when using custom envParameters, use key: value format 
      
        envParameters: 
          auth:  
              MARKETPLACE_PREVIEW_ENABLED: true 
      
          live: 
              MARKETPLACE_PREVIEW_ENABLED: true
    3. Save and close the file.
  2. HCL Commerce Version 9.1.10.0 Deploy or re-deploy your HCL Commerce Helm Chart.
    This step is required for HCL Commerce 9.1.10.0 only. It is not required for subsequent releases.
    For more information, see step #4 in Deploying HCL Commerce on a Kubernetes cluster.
  3. HCL Commerce Version 9.1.10.0 Enable the Marketplace tool in Management Center for HCL Commerce.
    This step is required for HCL Commerce 9.1.10.0 only. It is not required for subsequent releases.
    1. Open a browser and navigate to the Management Center feature enablement URL.
      This URL is based on your deployment hostname and port number.
      Note: Typically the port number is 443 for a Kubernetes environment with ingress, and 8000 for a Docker environment.

      https://CMC_HOST_NAME:CMC_PORT_NUMBER/lobtools/cmc/Configure?featureName=marketplace&featureEnabled=true

    2. In the same browser window or tab, launch Management Center.
  4. Enable the Marketplace in your search index.
    • For the Elasticsearch-based search solution:
      Make the following REST call to your Search server using the spiuser user credentials.
      PATCH https://hostname:30921/search/resources/api/v2/configuration?nodeName=ingest&envType=auth
      With a body that contains the following:
      {
        "global": {
          "connector": [
            {
              "name": "attribute",
              "property": [
                  {
                    "name": "flow.marketplace",
                    "value": "true" 
                  }
                ]
            }
          ] 
        }
      }
    • For the Solr-based search solution:
      Set hclMarketPlaceEnabled to true within your Search server wc-component.xml configuration file.
      <_config:property name="hclMarketPlaceEnabled" value="true"/>
      Note: Some limitations apply:
      • No seller facets are presently available.
      • Products and category filtering are based on seller, using the seller selection box. Multiple selection is available via search API only.
      • The seller filter selection is sticky, and will be applied to all subsequent search and browse operations. This selected seller filter must be explicitly removed in order to restore the original Marketplace search scope.
  5. Enable the Marketplace and add the seller facet to the Marketplace store.
    1. In a database command prompt, run the following SQL statements to enable and add the seller facet.
      ---by default, this feature is disabled for stores
      INSERT INTO STORECONF (STOREENT_ID, NAME, VALUE) VALUES (0,'hcl.marketplace.show.facets','false');
      
      -- enable feature in store configuration for specific store
      INSERT INTO STORECONF (STOREENT_ID, NAME, VALUE) VALUES (31,'hcl.marketplace.show.facets','true');
      
      -- register the search attribute
      
      -- Note: -1101 is the hard coded id for seller search attribute, do not change it
      --       11001 is the master catalog id, in this case it is EmeraldCAS master catalog id in provided sample data
      --       If you are planning to use this facet for multiple catalog assets stores, you can set the INDEXSCOPE to 0
      
      INSERT INTO SRCHATTR (SRCHATTR_id, INDEXSCOPE, INDEXTYPE, IDENTIFIER) VALUES (-1101, 11001, 'CatalogEntry', '_cat.Seller');
      INSERT INTO SRCHATTRDESC (SRCHATTR_ID, LANGUAGE_ID, DISPLAYNAME, DESCRIPTION) VALUES (-1101, -1, 'Seller Name', NULL);
      
      -- populate search attribute properties to make it usable in sort, facet, rank, search, display and catalog filtering
      
      INSERT INTO SRCHATTRPROP (SRCHATTR_ID, PROPERTYNAME, PROPERTYVALUE) VALUES (-1101, 'sort', 'seller');
      INSERT INTO SRCHATTRPROP (SRCHATTR_ID, PROPERTYNAME, PROPERTYVALUE) VALUES (-1101, 'facet', 'seller');
      INSERT INTO SRCHATTRPROP (SRCHATTR_ID, PROPERTYNAME, PROPERTYVALUE) VALUES (-1101, 'rank', 'seller');
      INSERT INTO SRCHATTRPROP (SRCHATTR_ID, PROPERTYNAME, PROPERTYVALUE) VALUES (-1101, 'search', 'seller');
      INSERT INTO SRCHATTRPROP (SRCHATTR_ID, PROPERTYNAME, PROPERTYVALUE) VALUES (-1101, 'display', 'seller');
      INSERT INTO SRCHATTRPROP (SRCHATTR_ID, PROPERTYNAME, PROPERTYVALUE) VALUES (-1101, 'catalogFilter', 'seller');
      
      -- register seller srch attribute as a facet
      
      -- Note: -1010 is the hard coded id for facet.
      --       12001 is the store id for catalog asset store, in this case it is EmeraldCAS store id
      
      INSERT INTO FACET (FACET_ID, SRCHATTR_ID, SELECTION, SORT_ORDER, KEYWORD_SEARCH, ZERO_DISPLAY, STOREENT_ID, MAX_DISPLAY, "SEQUENCE") VALUES (-1010, -1101, 1, 1, 1, 0, 12001, 20, 0);
      INSERT INTO FACETDESC (FACET_ID, LANGUAGE_ID, NAME, DESCRIPTION) VALUES (-1010, -1, 'Seller', 'Marketplace Seller Name')
    2. Rebuild the search index for the associated Marketplace store.

Results

Your HCL Commerce deployment contains the Marketplace function.

What to do next

Enable a store to act as your Marketplace. See Enabling a marketplace.