Navigating the vast seas of product searches in B2B and B2C marketplaces can be quite a headache, especially with loads of data from various suppliers. It’s tough for marketplaces to tweak supplier info without spending a fortune, yet when searches go awry, customers tend to blame the marketplace, not the suppliers. My new article suggests a slick new way to cut through the clutter—think product families, not just standalone products. This isn’t just about tidying up; it’s about making the search experience smoother and more intuitive for everyone involved. Let’s dive into why the old way of doing things—splitting catalogs into neat categories and individual products—just doesn’t cut it for big, diverse inventories. Take electronics and clothes: sorting shirts by color and size is straightforward, but try categorizing gadgets that way and you’re in for a real challenge. The game-changer here could be switching to a product families model, which groups related products together under one big family umbrella. This approach keeps things organized and makes shopping easier, which is exactly what we need for a smoother, more customer-friendly search process in our digital storefronts.

The Part I of this topic is about Product Families as an extension of the Variant Products concept.

Read More »

An incremental load is a form of ETL (Extract, Transform, Load) process that involves transferring only the data that has been altered since the last loading session. This approach is both more efficient and quicker than performing a full load because it minimizes the volume of data that needs to be moved and processed. 

However, implementing an incremental load necessitates mechanisms for recognizing and monitoring modifications in the source data, using methods like timestamps, flags, or versioning. Additionally, it must effectively manage issues like conflicts and duplications, for instance, when a single record undergoes multiple updates.

In this article I am focusing on my experience in implementing the optimized data loader integrated into the target system which was SAP Commerce. Simply put, it handles duplicates and minimizes the number of unnecessary database writes. 

Read More »

Imagine a world where an AI system not only listens but observes, constantly collecting data unless explicitly told not to. This “exoskeleton for the brain” is not just a tool but a transformative extension of human capability, enhancing efficiency and decision-making in everyday tasks. For some, this raises alarms about privacy and the potential for misuse in a society already wary of data overreach. Yet, the real question lingers: how will such capabilities shape the way we live, work, and interact not just with technology but with each other?

As we stand on the brink of making these integrations a reality, it’s important to consider not only the current implications but also the generational shift that might come with it. The youth of today, growing up with AI as a norm rather than an addition, might view this integration as indispensable—melding their cognitive functions with artificial intelligence to an extent previously unimagined. This narrative isn’t just about the technology we create but also about the human experiences and societal structures that will evolve with it. Dive into the full discussion to explore the profound shifts looming on the horizon.

Read More »

In this article, I want to share an interesting experience. It has nothing to do with SAP Commerce and might even be unrelated to eCommerce, but it could be useful for Solution Architects when tackling a task similar to mine. And the task was interesting.

It was a huge Excel file for generating estimates for B2B customers. A manager entered a bunch of parameters according to customers’ needs and get a printable quote. This Excel spreadsheet was really old, already about ten years old, and all these ten years, different people have been adjusting it, correcting it, adding formulas and constants. Basically, almost nobody knew how it worked in all details. All this evolved into a dozen tabs, each filled with numerous formulas. And these formulas refer to similar formulas from the adjacent tabs. It has almost a thousand formulas, mostly complex. How to untangle this knot?

There was no documentation, but even if there had been, where is the guarantee that the documentation fully matches the Excel file? After all, if it doesn’t match, finding the root causes of the discrepancies will be very difficult. Since the Excel file is the source of truth, it basically is the documentation.

These are the kinds of problems I love. In the article, you’ll find the solution and, believe me, it’s very non-trivial.

Read More »
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 »

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 »
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 »
SAP Commerce Data Models in Memory. Part I. What does the IDE Debugger give you?

This article focuses on how SAP Commerce stores models in memory, which is a vast topic. To begin with, we will explore a relatively simple aspect, such as the unusual structure that appears in the debugger when trying to view the contents of any SAP Commerce model. We will also discuss how to access all the object properties contained within it.

Read More »

Taking advantage of back-in-stock notifications, customers are informed that a product they were interested in recently has become available again. Alternatively, a customer may want to get subscribed to the product price updates and get notified when the price drops on a product. 

As a result, customers are more likely to return to make a purchase. These two features are often considered as must-have for almost any marketplace solution. 

Their implementation and design are also considered to be quick and easy. In fact, it is not so — there are many points for consideration easy to miss in the design phase. In this article, I focus on the potential pitfalls and best practices in implementing “Back-in-stock notifications” and “Price drop alerts”.  Read More »

End-to-End Test Automation: Why Was It Worth to Write Our Custom Framework

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 has been used by our team for about 2 years. Back in 2020, it was developed by me from scratch over the course of a weekend — In other words, it is a very simple piece based on very simple ideas. That first version was supporting 80% of the functionality available today in the last version (and described below). We don’t add features without good reason.

We use this tool to end-to-end test all our services and integration flows. Whenever we make changes to a software system, we need to ensure that they do not break what was already working.

As the architect and lead developer, I designed and developed it from the ground up, so, of course, I am very proud of my brainchild. But the field cannot be well seen from within the field. You know, reinventing wheels is not always bad. When you build something on your own, you are in full control over what is being built, what its purpose will be, and when it is finally conceived and executed as you wish. It has been two years since I have encountered any alternative to our solution. 

To reach a wider audience, I found it beneficial to share key concepts hoping to get some feedback from the community and enhance the product.

Technically, the tool has nothing to do with SAP Commerce; it’s for testing. However, our entire team, which uses this tool daily, is focused mainly on SAP Commerce development. And the tool is tailored to be used with SAP Commerce.

While the client (for whose benefit the tool is being used) has authorized me to share high-level details, I cannot disclose names or code. In spite of this, the conceptual view should be useful on its own and might become a good foundation for your own solution.

Read More »