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.
The topics in the Customizing section describe tasks performed by an application developer to customize HCL Commerce.
After you install and set up your programming environment, you can create your custom store and customize your storefront. You must ensure that the store server is properly configured, and that your store assets are moved to the Store server.
This HCL Commerce store uses Java Server Pages (JSP) to implement the view layer of the Model-View-Controller (MVC) design pattern.
After you review the HCL Commerce store architecture and create your custom store, you can use the programming environment to customize your store.
Customize your store's pages by completing the following tasks.
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. During the migration process, you can also upgrade editions.
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.
HCL Commerce Developer is the development toolkit for customizing a HCL Commerce application.
Functional architecture provides both the set of patterns used to implement the business functionality and the frameworks in which these business functions execute.
HCL Commerce deals with a large amount of persistent data. There are numerous tables defined in the current database schema. Even with this extensive schema, however, you might need to extend or customize the database schema for your particular business needs.
HCL Commerce separates individual front-end storefronts from the servers on which they rely. This architecture increases security, scalability, flexibility in server topology, and improves the ease of development and deployment of stores and store customizations.
You can create and configure your custom store in your Externalized Customization workspace through the configuration and execution of a Gradle script. You can then configure your store assets, sample data, and use your Externalized Customization workspace to customize that store.
Customize your storefront assets or store functionality by changing the Store server configuration, or by modifying or extending your store JavaServer Pages (JSP files) or Spring-based model-view-controller (MVC).
You can use the static HTML store to accelerate your web design cycle. When web designers use the static HTML store as a starting point, the cost of building user interface within the JSP files is reduced. You can modify the HTML and CSS files using your favorite web design tools and without a development environment. The changes can be incorporated into the corresponding JSP files by a store developer at a more convenient time.
You can publish the Aurora starter store as a B2B store and take advantage of features that are offered by the Aurora starter store plus extra B2B capabilities. Get your B2B e-commerce site up and running faster at a lower cost by using the Aurora starter store as your starting point. With B2B-optimized features built right into the storefront, you can minimize the amount of customization that is required to provide an optimal shopping experience to your business customers.
Customize storefront JavaServer Page files (JSP files) and the Spring MVC views that invoke them to modify how store pages are generated and returned to users of the store. Make additions or modifications to existing JSP files, or add new JSP files to extend the functionality of your storefront.
Customize a provided widget to modify its behavior for use on your storefront.
Override a provided resource bundle to modify the text that is displayed on your storefront widgets.
You can override the behavior for loading the catalog browsing menu on individual store pages to control the display of the menu and improve the performance of loading store pages. By configuring the behavior for the catalog browsing menu, you can configure whether a store page loads only the top-level category in the catalog browsing menu when the page loads or loads all categories in the menu. The catalog browsing menu is a pop-up menu that includes a list of departments and categories.
After you publish the Aurora sample store as a B2B store, you can enable certain facets for products in the Fasteners and Lighting categories. These facets, such as Head style for screws and Bulb shape for lighting products, have associated images to help buyers find the right product quickly. The enablement steps involve selecting the descriptive attributes to display as facets in the Catalogs tool in Management Center and then previewing the results.
Head style
Bulb shape
You can add new messages or change existing messages in sample store pages by modifying the file that contains the store strings.
After a web designer changes the static HTML files, a store developer can determine the JSP files that dynamically render the different areas on specific pages in a storefront. The highlight feature, one of the tools that are provided with the assets, is used to identify the JSP files that make up the page you are on. It marks off each area of the page that a JSP file represents and shows the file name in the upper left corner.
You can configure the Aurora starter store to include custom extension logic, such as self contained JSP on all store pages. By using this configuration, you can easily embed common code on all store pages, or embed code for tracking the browsing history of shoppers.
In order to enable subscription support in the order component, the order configuration file must be updated.
You can gather data for the site into search statistics reports so that you can view and analyze them in the Management Center.
The static HTML store shows the labels and messages. Use the static HTML store to find the properties files that are needed to customize the labels and messages in your live store.
Store files are organized by default in a defined directory structure.
For each catalog entry (product, SKU, bundle, and kit), the Aurora starter store displays images in various sizes in different locations.
In the Aurora starter store, dynamic caching is enabled by default. Dynamic caching reduces the server load because significant segments of the page, such as store widgets, do not have to be retrieved from the server on every new page display.
The crs-web > WebContent > storedir > Common > EnvironmentSetup.jspf file is a configuration file that is commonly included in starter store pages. The variables declared within this file can be modified to change the appearances and behaviors of storefront components.
The HCL Commerce test automation framework is designed to help you effectively and efficiently test your store before deployment. To fully leverage the test automation framework, it is recommended that you edit your JavaServer Pages (JSP) to include the following best practices.
The progress bar is displayed when an AJAX request is triggered and removed when the request completes. It serves as a confirmation indicator on the page, where additional actions can still be performed by the customer. That is, it does not impede the customer from performing additional actions on the page.
You can enable account activation so that customers must click an activation URL before they become registered in the Aurora starter store.
You can disable the account activation by email function if the function is enabled.
When you migrate your store from a previous version of HCL Commerce to version 9.0, your store runs on the transaction server (trs-app) and is often referred to as a local store. In addition to running on the transaction server, your local store also uses the transaction web server (trs-web). If you are using a local store, you can shorten the context root of your store's URL to make it easier for shoppers to remember a link. Shorting the context root also improves visibility in search engine results.
trs-app
trs-web
You can create a requisition list in a text or spreadsheet editor and upload the requisition list to the store. A requisition list is a reusable list of items (SKUs) that you can use to create orders. Requisition lists are supported when the Aurora starter store is published as a B2B store.
The Aurora starter store includes a feature that allows customers to subscribe to e-Marketing Spot feeds for catalog entry recommendations. To familiarize yourself with the Aurora implementation, you can enable and test the Subscribe link for an e-Marketing Spot on the Department page. Then, consider a similar implementation for your own store.
The Aurora starter store includes a feature that allows shoppers to subscribe to wish list feeds. To familiarize yourself with the Aurora implementation, you can enable and test the Subscribe link for the wish list. Then, consider a similar implementation for your own store.
The key splitting feature might potentially expose some JavaScript coding issues in the store JSP pages. JSP pages that passed or initialized JSTL variables of object's primary keys (or identifiers) into JavaScript variables as integers might be subject to unexpected behavior in the storefront.
If you want to allow shoppers to cancel orders, you can enable the Cancel button on the Order Details page for the Aurora starter store. The enablement steps involve installing interim fixes that contain code that is required for the Cancel button to function and defining modification rules for order statuses in Sterling Order Management.
The Aurora sample store uses the JavaServer Pages Standard Tag Library (JSTL) API to format the currencies that are displayed on store pages.
You can use the StoreConfigurationRegistry to access store configuration values in the STORECONF database table from either Java™ code or JSP files.
Enrich the capabilities of the Commerce Composer tool by developing your own widgets and templates, and extending other features and functions to suit your business needs.
Responsive Web Design (RWD) is a web design approach that is aimed at crafting pages that are optimized for a wide range of devices. It advocates the use of primarily fluid layouts and media queries to optimize a site for different devices, instead of designing a separate site for each device.
You can use the provided email template JSP files as a starting point to customize your email content. The templates are provided in the crs-web > WebContent > YourStoreFrontAssetStoreDir > EmailTemplates directory.
You can use one of the following solutions to optimize your store for search engine results.
You can create a React single page application Store using the HCL Commerce Store SDK that is provided for pages and react components. The Store SDK allows your front end developers to quickly develop and deploy a Store while focusing on creating the best user experience possible.
HCL Commerce uses Java Server Pages (JSP) to implement the view layer of the Model-View-Controller (MVC) design pattern. The view layer is in charge of retrieving data from the database through the use of data beans and formatting it to meet the display requirements. The view layers determines whether the request is sent to a browser or streamed out as XML. JSP files present a clean separation between data content and presentation.
The Controller layer is the conductor of operations for a request. It controls the transaction scope and manages the session related information for the request. The controller first dispatches to a command and then calls the appropriate view processing logic to render the response.
The business logic layer is the business components that provide OAGIS services to return data or start business processes. The presentation layer uses these OAGIS services to display data, or to invoke a business process. The business logic provides data required by the presentation layer. The business logic layer exists because more than just fetching and updating data is required by an application; there is also additional business logic independent of the presentation layer.
The interaction between the business objects and persistence layer is isolated in an object called the Business Object Mediator. Business object document (BOD) commands interact with the Business Object Mediator to handle the interaction with the logical objects and how they are persisted.
A business model, a representation of the business processes used throughout the site, provides a sample commerce solution which includes an organization structure, default user roles and access control policies, one or more starter stores, administration tools, and business processes that demonstrate best practices. A business model can be customized to support business requirements and scenarios. HCL Commerce provides sample business models that show some common commerce solutions. These business models are created by setting up an organization hierarchy structure, access control policies, stores, and contracts that help satisfy the necessary business requirements.
Before starting to develop your site with HCL Commerce, you need to determine the business model supported by HCL Commerce that best represents the purpose of your site. Usually sites created with HCL Commerce will be implemented based on of one of these business models.
Store data is the information that is loaded into the Transaction server database, which allows your store to function. The URL Registry Entries and View Registry Entries packages are included in the diagram, but they are not database assets. These entries are presentation configuration (that is, struts actions and forwards) that must be deployed. URL registry entries are shown in the diagram to illustrate the entire store data information model. To operate properly, a store must have the data in place to support all customer activities. For example, in order for a customer to make a purchase, your store must contain a catalog of goods for sale (catalog data), the data associated with processing orders (tax and shipping data), and the inventory to fulfill the request (inventory and fulfillment data).
You can extend the HCL Commerce product to fit your business needs. This topic describes the prerequisite skills and required knowledge that you need to customize business logic. After you have the required knowledge, use HCL Commerce Developer to take tutorials that guide you step-by-step through various customization scenarios.
The Run Engine command framework provides predefined commands, that you can use to change environment parameters or container configurations. This framework is built into the HCL provided Docker images.
The GraphQL markup language is available for any API. It is a server-side interpreter for processing queries using a data type system you design. With GraphQL, your data and code are independent of any database or storage system.
HCL Commerce uses Representational State Transfer (REST) services to provide a framework that can be used to develop RESTful applications on several platforms. These platforms can include web, mobile, kiosks, and social applications.
HCL Commerce comes with a powerful and fully integrated search function. The search functions in HCL Commerce provide an enriched customer experience, with features such as automatic search term suggestions and spelling correction. Since it is built on industry standards, HCL Commerce Search is highly flexible and extensible. Starter stores can use the search engine's most sophisticated features without requiring extra customization. Starting with Version 9.1, HCL Commerce Search with Elasticsearch microservices manage indexing and other crucial tasks, with no performance impact on the storefront or transaction server.
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.
Topics in the Reference section contain all of the HCL Commerce reference documentation.