
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
Marketplace requires HCL Commerce 9.1.10.0 or greater.
- If you are upgrading an older release of HCL Commerce prior to HCL Commerce Version 9.1, see Migrating from a previous version of HCL Commerce.
- If you are upgrading from a version of HCL Commerce Version 9.1 prior to 9.1.10.0,
see Updating HCL Commerce overview.Important: Ensure that you update your database schema to the minimum required level.
- 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.
-
- Depending on the type of environment that you are working with, navigate to the
utilities directory:
Open a command prompt and navigate to the WCDE_installdir/bin/ directory.
- Open the Utility server Docker container and navigate to the
/opt/WebSphere/CommerceServer90/bin/ directory.
For more information, see Running utilities from the Utility server Docker container.
- Run the create_marketplace_workspace
utility.
./create_marketplace_workspace.sh dbType dbName dbServer dbPort dbaUser dbaPassword dbUser dbPassword workspaceSchemaNumber
For example:./create_marketplace_workspace.bat dbType dbName dbServer dbPort dbaUser dbaPassword dbUser dbPassword workspaceSchemaNumber
./create_marketplace_workspace.sh db2 mall db 50000 db2inst1 diet4coke wcs wcs1
- Depending on the type of environment that you are working with, navigate to the
utilities directory:
-
About this task
Procedure
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.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.- 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
- In the same browser window or tab, launch Management Center.
- Open a browser and navigate to the Management Center feature enablement
URL.
-
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.
- For the Elasticsearch-based search solution:
-
Enable the Marketplace and add the seller facet to the Marketplace store.
- 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')
- Rebuild the search index for the associated Marketplace store.
- In a database command prompt, run the following SQL statements to enable and add the
seller
facet.