HCL Commerce Version 9.1.10.0 or later

Enabling HCL Commerce Marketplace functionality within a Docker-based 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 Deploy HCL Commerce with Marketplace enabled.
    This step is required for HCL Commerce 9.1.10.0 only. It is not required for subsequent releases.
    1. Enable Marketplace in your deployment.
      Set MARKETPLACE_PREVIEW_ENABLED to true in your deployment env.sh configuration file.
      MARKETPLACE_PREVIEW_ENABLED=true

      For more information on the env.sh configuration file, see The Docker Compose deployment env.sh configuration file.

    2. Deploy or re-deploy HCL Commerce.
    3. Ensure that your deployment is up and running.
  2. 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.
  3. 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.
  4. 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.