HCL Commerce is a high-availability, highly scalable and customizable e-commerce platform. Able to support hundreds of thousands of transactions per day, HCL Commerce allows you to do business with consumers (B2C) or directly with businesses (B2B). HCL Commerce uses cloud friendly technology to make deployment and operation both easy and efficient. It provides easy-to-use tools for business users to centrally manage a cross-channel strategy. Business users can create and manage precision marketing campaigns, promotions, catalog, and merchandising across all sales channels. Business users can also use AI enabled content management capabilities.
Topics in the Reference section contain all of the HCL Commerce reference documentation.
The HCL Commerce database model was designed for data integrity and optimal performance. HCL Commerce provides several hundred tables that store HCL Commerce instance data. To maintain data integrity, and to ease maintenance referential integrity, constraints are widely used in the database model. Indexes are used carefully on tables to avoid over-indexing and to provide a good balance between data retrieval and data manipulation activities (insert and update). The business rules are implemented at the application level rather than by using database trigger. Triggers, however, are used to facilitate data staging and optimistic locking. A limited number of SQL-based database stored procedures are used for data intensive activities.
This table holds ...
HCL Commerce has different advantages for business users, administrators and developers. HCL Commerce targets each of these roles with a tailored set of offerings so that each of your users can get maximum benefit.
Learn how to install and deploy HCL Commerce development environments and HCL Commerce production environments.
Before you migrate to HCL Commerce Version 9, review this information to help plan and execute your migration.
Topics in the Operating category highlight tasks that are typically performed by business users, customer support representatives, to complete their day-to-day tasks in the operation of the HCL Commerce site.
Topics in the Integrating category highlight the tasks that are commonly performed for using HCL Commerce in combination with other products.
Topics in the Administering category highlight tasks that are typically performed by the Site Administrator, to support daily operations of the HCL Commerce site.
The topics in the Customizing section describe tasks performed by an application developer to customize HCL Commerce.
HCL Commerce provides many tutorials to help you customize and understand your HCL Commerce instance and stores.
Topics in the Samples category highlight the various samples that are provided with HCL Commerce.
The following section describes how you can leverage HCL Commerce features and functionality to help your site be compliant with different privacy and security standards.
These topics describe the security features of HCL Commerce and how to configure these features.
Topics in the Performance section describe the means by which to plan, implement, test, and re-visit the optimization of HCL Commerce site performance.
Topics in the Troubleshooting section highlight common issues that are encountered with HCL Commerce, and how they can be addressed or mitigated.
HCL Commerce exposes two main programming APIs. The first and newest API is a REST interface, and most new classes are exposed here. The legacy Java API also contains new classes not suitable for REST, and can be browsed in Javadoc format.
Data beans are grouped into several component groups.
URL commands, controller commands, task commands, view commands and tables are related to each other.
Use this information when you are customizing a command and you want to know which tables are affected. You should also use this topic if you are modifying a table and want to know which commands and beans are affected.
The following Run Engine commands are available by default for you to configure the applications that are running inside the containers.
To enter a Docker container you can complete the following steps.
When you deploy a container from an HCL provided image, an Entrypoint.sh helper script determines the configurations to use while starting up the container. Review the following information to learn about what the helper script does, and how you can customize the configurations.
Several column data types are available for you to use when you are creating new database table or columns.
Database tables and columns within the HCL Commerce Version 9 database schema can differ from the tables and columns in the database schema for HCL Commerce Version 8.
If a database table or column is marked as deprecated, then the table or column is outdated by newer constructs. Deprecated sections are supported for reasons of compatibility with an earlier version only. These tables or columns are obsolete or can become obsolete in future versions of HCL Commerce.
Any given database data model displays the relationship among database tables in the schema.
This table is deprecated and is provided for backward compatibility only.
The list containing what job will need to be run and the time when the job should execute.
This table is used to log the status of broadcast commands for each of the clones.
The URLsthat can be used as a scheduled job by a store. This is for the Scheduler menu in the Administration Console.
This table contains all scheduled job entries.
This table contains the exception information when a job fails to execute successfully.
This table contains the entries for scheduled orders.
This table is a log of the status of scheduled jobs.
This table holds the SEO page definition for a particular pageName at a site/store level
This table holds the language specific title and meta description for a particular page definition.
This table holds the SEO page definition overrides defined for a particular catalogEntryID or catGroupID
This table holds the predefined substitution parameters which can be used while creating the title and meta description. At run-time the substitution parameter will be replaced with the values based on the request properties
Table to hold information about URL redirection as part of the SEO strategy to handle 404 and 301 redirects.
This table is used to associate a primary token for every usage type defined in a store. This also holds information as to whether a token is static or not.
This table holds the token and sitemap information for a particular URL
This table holds the store and language specific SEO URL keyword information
The table contains information about the different national currencies. The currency alphabetic and numeric codes are derived from the ISO 4217 standard.
This table stores the text descriptions for each of the currency in the SETCURR table in each of the supported language.
Reserved for HCL internal use.
This table is used to store two different types of shipping information. Both sets of information will be passed in the generated PackSlip.xml file. The first set of information is to store shipping instructions. Only one set of shipping instructions will be captured for any order, address, and ship mode combination. The second set of information is to store a shipping carrier account number. A shipping carrier account number will be stored for any order and ship mode combination.
Each row of this table represents a ShippingMode for a StoreEntity. A Store can use its own ShippingModes, and the ShippingModes of its StoreGroup.
Each row of this table indicates that a ShippingArrangement applies to all OrderItems whose shipping addresses match a ShippingJurisdictionGroup. Refer to SHPARRANGE.FLAGS.
Each row of this table represents a ShippingArrangement, indicating that a FulfillmentCenter can ship products on behalf of a Store using a ShippingMode.
This table can be used by the shipping CalculationRuleQualifyMethod to choose a CalculationRule based on ShippingMode and FulfillmentCenter. It is used when the shipping address matches one of the ShippingJurisdictions in a particular ShippingJurisdictionGroup.
The relationship between the calculation code and the ship mode for shipping promotion use.
Each row of this table contains language-dependent information about a ShippingMode.
Reserved for HCL internal use. The data and schema in the HCL Commerce database may change depending on which HCL Commerce version is installed and which features are enabled. The SITE table is used to record version information related to the HCL Commerce schema and data. The information is used by various HCL Commerce utilities. Note: All records in the SITE table should not be modified.
This table maintains a list of SMTP servers where HCL Commerce has successfully connected to in the past. Any entries in this table should represent a valid SMTP server name and port pair.
Each row represents the logical name of a catalog attribute that is defined in the search schema.
Language-sensitive display name for a search column.
This table stores the properties that are defined for each search index attribute. For example, the properties are rank, sort, catalogFilter, display, facet, filter and search.
The configuration table for HCL Commerce search integration.
The configuration table extended for SRCHCONF for HCL Commerce search integration.
This table stores search relevancy values for a search field
This table is used for capturing search related statistics at runtime.
This table contains search terms that a customer searches for, either as their inputted search term, or the substituted search term associations.
This table contains search term associations to suggest additional, different, or replacement products in search results. Search term associations include synonyms, replacement terms, and landing pages.
Reserved for HCL internal use. This command registry allows the server to look up an implementation and default parameters for a command interface
Reserved for HCL internal use. This stores the component configuration for a particular commerce instance
Reserved for HCL internal use. Primary key generation store
Reserved for HCL internal use. The list containing what job will need to be run and the time when the job should execute
Reserved for HCL internal use. This table is used to log the status of broadcast commands for each of the clones
Reserved for HCL internal use. This table contains all scheduled job entries
Reserved for HCL internal use. This table contains the exception information when a job fails to execute successfully
Reserved for HCL internal use. This table is a log of the status of scheduled jobs
Each row of this table represents a store address. StoreEntities, FulfillmentCenters, and Vendors can have store addresses. Store addresses can be staged using the staging server.
This table holds changes made on the Authoring or Staging environment that can be propagated to the Production Server using the StagingProp utility.
This table maps the internal StateProv Abbreviation Code to the State or Province Code. They are dictated by the third-party product or vendor identified in the PRODUCTVENDOR column.
This table lists State and Province names (by country or region) in each of the supported Languages identified by LANGUAGE_ID.
This table is deprecated and is provided for backward compatibility only
This summary table defines the standard (offer) price for each CatalogEntry. It contains pre-computed results based on the data existing in the underlying OFFER, OFFERPRICE, and TRADEPOSCN tables.
This view is a proxy to the STDPRICE summary table to define the standard price (offer price) for each CatalogEntry.
Each row of this table contains information about how a CalculationUsage is used by a StoreEntity. If a column value is NULL for a Store, the Store uses the value specified for its StoreGroup.
The stage configuration table for all merchant tables.
The stage configuration table for all tables containing both merchant and site information.
The stage configuration table for all site tables.
This table holds relationships between store location and fulfillment center.
Represents store location information.
Holds language specific store searchable attributes.
Contains language specific store detailed descriptions.
Store level block reason code configuration. Used to configure whether a block reason code is turned on for a store and also configure whether this block reason code will generate ticklers.
Each row of this table represents a store. A store is a store entity.
This table holds the relationship between StoreEntities and the Catalogs that they offer.
This table is used to hold the relationship between the store entities and catalog override groups they can use to display the catalog in the store front.
This table holds the relationship between StoreEntities and the CatalogEntries that they can display and process.
This table holds the relationship between StoreEntities and the CatalogGroups that they can display and process.
Each row of this table represents a StoreCategory. StoreCategories can be used to group Stores of similar types together for display purposes. For example, in order to display all clothing stores in a mall together in the mall directory, you could create a clothing StoreCategory.
Each row of this table indicates that a Contract is deployed in a Store.
Store-specific configuration data that is used by the storefront code for dynamic rendering.
Each row of this table contains default information for a Store.
This table holds the relationship between store and the default catalog.
Each row of this table represents a StoreEntity. A StoreEntity is an abstract superclass that can represent either a Store or a StoreGroup.
Each row of this table represents a StoreGroup. A StoreGroup contains information that can be used by the Stores in that StoreGroup. A StoreGroup is a StoreEntity. In WebSphere Commerce, there is only one StoreGroup.
Reserved for HCL internal use. STOREINV is a view used by the Catalog search bean. It collates several fields from the INVENTORY table. There is a column ALLOCATIONGOODFOR in the STORE table. If this column is set to zero, the search bean makes use of this view.
Each row of this table contains attributes that affect how a particular Store allocates inventory for the specified items of a particular Base Item. If there is no row for the Store, then the row for its Store Group is used.
Each row of this table indicates that a StoreEntity supports a language. See also the LANGPAIR table.
Each row of this table indicates that a Store recognizes a MemberGroup as a customer group.
This table stores the mapping information indicates which merchant id is used for a specific store.
This table stores the relationship between the page layout type and the store.
Each row of this table describes a relationship between stores.
The relationship between store entity and trading position container.
This table links the available site-level transports (specified in the TRANSPORT table) with the store where they are available.
Each row of this table contains information about a BaseItem for a particular Store (or all the Stores in a StoreGroup) and FulfillmentCenter.
Each row of this table contains a description, in a particular language, of a supported language. For example, the Spanish language might be described as "Espanol" in French but as "Spanish" in English.
This table is used to config the quote on a store entity.
This table identifies all the store relationship types defined in HCL Commerce.
This table describes all the store relationships defined in the STRELTYP table.
The usage types of a trading position container for a store entity.
This table is used by the IdResolver to resolve the primary identifiers of the database tables. If a new table is added to the schema, and if the primary identifier has to be resolved, an entry for that table has to be made in the SUBKEYS table. It is used in the same way as the KEYS table is used.
Each row of this table represents a subtotal of all the OrderItemAdjustment amounts in an OrderAdjustment whose OrderItems have the same shipping address.
Each row of this table contains subtotals of amounts for all the OrderItems of an Order with the same shipping address.
Each row of this table specifies the tax amount of a particular TaxCategory for all the OrderItems with the same shipping address as the SubOrder.
This table defines all possible types of subscription a catalog entry can be subscribed to.
This table stores the properties of subscriptions and recurring orders that has been placed by a specific shopper.
This table is used to record the list of subscriptions that were created after renewal of existing subscriptions
This table is used to record the set of scheduled jobs to be executed against each subscription or a recurring order, as specified by the shopper. Typically, jobs for cancellation of subscriptions, creation of the next child order, expiry of subscriptions after the end date are stored in this table.
This table stores the suspend start and end dates of subscriptions or recurring order as specified by the shopper. Multiple suspension periods can be specified for the same subscription or recurring order.
This table contains the properties associated with a subscription product template. For a subscription, there will be a single template for all subscribers who have purchased this subscription product. The item to fulfill as part of this subscription should be managed by the merchant. Initially this will contain the parent catalog entry ID of the subscription product and needs to be updated by the merchant if a different item needs to be shipped.
This table stores the details of a catalog entry, with quantity and price details for a given subscription template ID. This item will be shipped as part of the child order when the subscription is to be fulfilled.
In HCL Commerce, payment processing uses the Payments subsystem.
In general, caching improves response time and reduces system load. Caching techniques are used to improve the performance of World Wide Web Internet applications. Most techniques cache static content (content that rarely changes) such as graphic and text files. However, many websites serve dynamic content, containing personalized information or data that changes more frequently. Caching dynamic content requires more sophisticated caching techniques, such as those provided by the WebSphere Application Server dynamic cache, a built-in service for caching and serving dynamic content.
The root element of the cachespec.xml file, <cache>, contains <cache-entry> elements. The WebSphere dynamic cache service parses the cachespec.xml file during start-up, and extracts a set of configuration parameters from each <cache-entry> element.
<cache>
<cache-entry>
The Data Load utility contains several configuration files. You can use the configuration file schema to understand and customize the data load configuration files.
HCL Commerce provides many web services.
In HCL Commerce utilities are scripts that perform operations such as loading access control policies, loading store data, and cleaning the database of obsolete objects. In runtime environments, run utilities from the Utility server Docker container. In the development environment, run utilities from the bin directory.
HCL Commerce shopping flow URLs are organized by subsystem.
The following URLs relate to the Messaging system.
The server subsystem consists of functions that are associated with URLs that are run by the scheduler.
The Aurora starter store in HCL Commerce is completely written in jQuery, which is one of the most commonly used JavaScript libraries used in dynamic websites. The jQuery AJAX and events API provides an easy to use framework that meets most AJAX requirements for storefront development.
The HCL Commerce foundation JSTL tag library is a collection of custom tags that are provided to you to support the authoring of HCL Commerce JSP files. HCL Commerce stores use the JavaServer Pages Standard Tag Library (JSTL) to perform logic, instead of Java code. At the same time, business logic is moved into data beans. The combination of these steps allows for less Java code in a JSP page.