Category: Uncategorized

Search Analytics: Testing and Monitoring eCommerce Search

In this article, I want to talk about my experience with how to make a website or online store search more responsive to business requirements and user expectations.

It’s common to give too much attention to technical issues, especially now, with the advent of machine learning/AI in this field. But more often than not, the deepest problems are on the surface and their solution is much simpler than a functional refinement.

One of the main challenges in managing e-сommerce websites is ensuring the product search feature works effectively. Imagine this: you notice an issue with how products are being found through search, and you decide to fix it by tweaking some settings. However, altering these settings could unexpectedly impact your business. When we talk about something being ‘broken’, it’s not just about error messages popping up. Rather, it could mean that customers are having a harder time finding what they want, which might lead to fewer sales over time. This is a subtle effect that can spread across your entire platform. But how do you pinpoint the exact cause of such a decline? Testing and monitoring changes in an ecommerce environment are complex because even small modifications can have wide-ranging effects on customer behavior and, consequently, sales performance.

To monitor changes, it’s essential to understand what to collect and how to extract data from the gathered information. Specifically, for e-commerce search, there are no good ready-made monitoring tools available, but there are various DIY kits that address some needs. Such tools suggest collecting and analyzing search results for reference queries and visualizing changes over time. However, this approach falls short in many respects. For instance, it only covers the most frequent queries.

When it comes to modernizing site search, there’s a big question about whether this is done from scratch or if it’s possible to use accumulated data from existing sessions. Developing from scratch is always a risk—because any assumptions you have about how users will search for content may be wrong. Therefore, regardless of how good the first version of the search turned out to be, it will need to be revised and reworked many times.

Today, I want to share the approach that I have used in several projects. I call it Search Analytics. Read More »

SAP Commerce Cloud’s modular DTO generation system, while robust, sometimes falls short for developers seeking advanced customization, such as specific annotations or dynamic DTO generation strategies. The solution? An underexplored, undocumented hints mechanism that offers a deeper level of customization by allowing the injection of custom logic into DTO generation.

This mechanism represents a significant opportunity for those looking to push beyond the platform’s standard capabilities, offering a pathway to tailor DTO generation precisely. However, navigating this feature requires insight into SAP Commerce Cloud’s DTO generation mechanism, including custom post-processors and XML configuration parsing.

Our article serves as a guide for developers eager to explore this advanced customization layer, detailing the steps to effectively utilize the hints mechanism without delving into the technical complexities here. Discover how to harness the full power of undocumented hints for your DTO customization needs in SAP Commerce Cloud by exploring our comprehensive exploration.

Read More »

A number of customers have been talking about the upgrade policies defined by SAP for SAP Commerce Cloud and the Composable Storefront. I mentioned the upgrades last year in the hybrismart.com article.

Historically, since I first met hybris 4 in 2009 I have seen clients who did not upgrade their versions of SAP Commerce for years. However, that all changes with latest policy SAP have with the CCV2 environment. 

These policies require that the merchant needs to keep on top of the upgrades which are currently being issued each month and therefore factor those upgrades into their development, testing and release cycles. Each release of SAP Commerce and the Composable Storefront has a 6 month validity period after which the release cannot be deployed.

A key question being asked is how onerous is this upgrading process ? and how often ?  There are usually two views: 1) the “little and often” approach, a view also recommended by SAP, that upgrades should be factored frequently; 2) the “if it isn’t broke don’t fix it” approach where we have seen examples SAP Commerce version they use has passed its long term support date.

In the end, it comes down to priorities and costs and we have experienced upgrade projects taking months because the version being upgraded from is quite old. 

In order to get a tangible view of the current upgrading of both SAP Commerce and the Composable Storefront I decided to undertake some sample upgrades on a local version I run. For those who are interested, I use an Oracle VirtualBox VM Debian guest running in a Windows 11 host).  I have traditionally built SAP Commerce using the various out-of-the-box recipes and accelerators using the instructions published by SAP. To an extent, what I am doing probably reflects what many project teams have undertaken, in that someone needs to undertake the “upgrade” user story  and share with their team.

In this article you will find the detailed walk-through.

Read More »
Back in March I wrote about how SAP had released Spartacus 5 in November 2022. I covered how it had been released as a commercial entity and I had analysed the release policy and then estimated that it would make sense for SAP to update the Composable Storefront package to use a newer version of Node.js during 2023 for ensuring a longer term support prospect.

I was partly correct – but I had underestimated what would happen !. In fact as of end-November 2023, there have been 9 releases of the Composable Storefront since 5.0, now being released on an almost monthly basis, and there have been 12 update releases of SAP Commerce Cloud itself, now in the form of the “Continuous Innovation” releases 2211.x, and at time of writing to 2211 updated to release 2211.15 and also released on an almost monthly basis.

I suspect that between the time I write this, and the time you read that at least one more release of Composable storefront and Commerce Cloud will have been released. In this article, I will share some important updates on this topic. Read More »

Discover ‘fsdumpviewer’, a practical utility designed for developers and system administrators. This tool streamlines the process of comparing and synchronizing filesystem snapshots across different computers in a semi-manual manner. Especially it is important for the folders with the huge number of files and with the bulky files. Since we’re dealing with a blog about SAP Commerce, we can apply this to a local SAP Commerce installation that isn’t under version control. Key features include visualizing file hierarchies from standard directory listing commands – like midnight commander’s, highlighting discrepancies in file size, permissions, and checksums, and creating scripts for efficient file synchronization or archiving. Whether you’re dealing with project synchronization, system integrity checks, or selective file sharing, ‘fsdumpviewer’ offers a clear, interactive approach to finding solutions for your needs. Read More »
Our article explores a solution used by EPAM for the customer from the retail optical industry, where thousands of products require precise price calculations. The conventional SAP Commerce approach, using a database-backed cart, proved time-consuming, platform-overloading, and inefficient for that specific case. To address these challenges, a new approach was devised: the InMemoryCart solution. This capability is a part of SAP Commerce, yet surprisingly, it remains underutilized and relatively obscure. Unlike the regular Cart, InMemoryCart doesn’t rely on the database but on the memory user session bound object, JaloSession. This innovative solution helped to overcome the complexities and achieve the required level of performance of the pricing calculation process, significantly improving efficiency and page loading times. By shifting the promotional calculations to InMemoryCart, while customers still interact with a regular Cart, this solution has yielded remarkable results, including shortening calculation times on Product Details Pages (PDP) to as low as 100 milliseconds and achieving consistent results for bundles configurator. Read More »
Welcome back! Time has flown by since that first commit to the Plugin repository back in October 2022. With each new day and line of code, the Plugin has evolved, becoming a powerful tool for SAP Commerce developers.

In this article, we’re diving into the features that have emerged between versions 2023.1.1 and 2023.2.7 of the Plugin. No need for elaborate words, let’s get straight to the highlights:

  • Project Import 2.0: An upgraded import process with automatic database integration and improved module management.
  • Kotlin Integration: Now supporting Kotlin language seamlessly, making development smoother.
  • CCv2 Enhancements: New icons and seamless module imports for CCv2. Improved HAC cluster support, OCC enhancements, and better Groovy script management.
  • FlexibleSearch 2.0: A revamped FlexibleSearch language with new icons, folding, and improved formatting.
  • Type System Evolution: Fresh icons for various types and relations, and a diagramming experience for Type System in Intellij IDEA Ultimate.
  • Business Process Refinements: Better code completion, custom language injections, and enhanced scripting support for business processes.
  • ImpEx Power-ups: Improved code completion, macro handling, and sld.enabled modifier support for ImpEx files.
  • Bean System Mastery: New icons, code completion, and reference enhancements for beans, with conversion possibilities on the horizon.
  • User Rights 2.0: Revamped User Rights support in ImpEx files, making management more intuitive.
And that’s just the tip of the iceberg! Dive into the Plugin’s GitHub repository, contribute, and embrace the future of SAP Commerce development. Stay tuned for more updates and improvements as we continue this journey together! Read More »
In my previous article on the Intellij IDEA Plugin (“Plugin”), I described the huge leap forward of the free & open-source SAP Commerce Developers Toolset Intellij IDEA Plugin, documenting myriad of new features, enhancements, and fixes. This article continues the story and will cover changes included in the next version 2023.1.

The article highlights improvements such as:

  • API Usage: How JetBrains’s latest batch of deprecated APIs impacts the plugin.
  • SAP Commerce in the Public Cloud (CCv2): Dive into the new features simplifying developers’ lives, including the addition of code contributions based on JSON schema.
  • SAP Data Hub on CCv2: Explore the complexities and solutions offered for projects utilizing SAP Data Hub.
  • JavaScript Storefront: The essential tools and updates for developers working in the SAP Public Cloud.
  • Type System: Discover the new usability improvements in preview mode and items.xml.
  • ImpEx & FlexibleSearch: Understand the nuances and tweaks in action group displays and custom icons.
  • Cockpit NG System: From commons to the business process, take a look at the new references added.
  • Extension Info: Dive deep into the added extras for extensioninfo.xml.

…and a plethora of other essential updates, adjustments, and fixes to ensure smoother, more efficient operations for SAP Commerce developers.

Read More »

In the previous part, we discussed the importance of redundancy and failover in a cluster setup and introduced JGroups as a crucial component of SAP Commerce Cloud for distributed messaging and eventing. In this part, we will delve deeper into troubleshooting common issues that arise with JGroups in SAP Commerce.

In this article, we will explore troubleshooting tips for common issues related to JGroups in SAP Commerce. We will discuss how to address data inconsistencies, handle dynamic IPs and membership discovery, and effectively monitor the cluster.

It is important to highlight that these recommendations were formulated and tested for the on-premise, self-hosted SAP Commerce. This setup is now rare, as many SAP Commerce projects have already been migrated to the cloud. In the cloud setup, such challenges may never be your concern, as they fall under the responsibility of SAP CCV2 support engineers. However, understanding the limitations and constraints will still help you build the solution correctly.

Read More »
There are dozens, even hundreds of test automation frameworks available, and we developed our own. Why? Why? Was it worth the effort?  This article describes our needs and our solution, E2E CLI: the architecture of the API testing tool which… Read More »