Customizing your store

After you review the HCL Commerce store architecture and create your custom store, you can use the programming environment to customize your store.

Storefront customization lifecycle

The storefront customization lifecycle includes tasks that you perform to customize your storefront within your programming environment.

For example, identifying storefront design requirements, planning a customization, determining which JavaServer Page files (JSP files), Spring controllers, Spring views, and REST configurations to customize, packaging the customizations, tracking the changes, transferring the package to a drop server, and testing the customization in the quality assurance environment.

Before you begin

  • Before you customize the storefront, it is important to understand how the store presentation layer works within your HCL Commerce service. To learn more about the Store server, see Store architecture.

  • Before you can begin planning customization of your storefront, you must have your Store server development environment set up and your store assets on the Store server. See, Setting up an HCL Commerce development environment.

  • If you plan for your customization to extend beyond the Store server, you must set up the Customization server and Search server.

Customization lifecycle

  1. Identify the business problem that you need to resolve or requirement that you need to meet.
  2. Plan your customization. Determine where you need to complete the customization:
    • The customization must be developed on the Store server.
    • The customization must be developed on the Store server and the Search server.
    • The customization must be developed on the Store server and the Customization server.
    • The customization must be developed on the Store server, the Search server, and the Customization server.
  3. Create your customization by following the customization guidelines. For more information, see Customizing the store.
    For example:
    • To create or change a store page:
      • Create or modify the JSP file. See, Customizing storefront pages.
      • If required, modify the store Spring model-view-controller (MVC) configuration that is used to return the newly created or modified JSP file. See, Customizing the store Spring MVC configuration.
        • Create or modify the Spring view that returns the JSP file. You can use the device ID to return device-specific pages.
        • Create or modify the Spring view controller that returns the Spring view.
    • To create or change a store page flow:
      • Create or modify the JSP files that are used for the flow. See, Customizing storefront pages.
      • If required, modify the store Spring model-view-controller (MVC) configuration that is used to return the newly created or modified JSP files. Customizing the store Spring MVC configuration.
        • Create or modify the Spring views that return the JSP files.
          Note: To create pages that fork or branch the user experience based on the type of device that is used, you must duplicate the Spring view for the page where the user experience is forked. Modify the duplicate view to filter by device ID, and return a device-specific JSP page. You can then continue a device-specific flow by using links to pages that are only accessible from the returned device-specific page.
        • Create or modify the Spring view controller that returns the Spring view.
    • To extend the functionality of the Store server, enabling it to send and receive custom parameters from the Customization server and the Search server:
      • Create or modify the JSP file. See, Customizing storefront pages.
      • Modify the store Spring model-view-controller (MVC) configuration that is used to return the newly created or modified JSP file. For information about customizing the Spring MVC see, Customizing the store Spring MVC configuration.
        • Create or modify the Spring view that returns the JSP file.
        • Create or modify the Spring view controller that returns the Spring view.
      • Extend or modify the REST templates that communicate with the Customization server and the Search server. For information about customizing the REST templates see, Adding or modifying REST templates.
  4. Build and deploy your customization assets. For more information, see Packaging customized code for deployment.