Tags

38 pages

SAP Commerce

Parallelizing FE and BE builds with ant

Many SAP Commerce projects are still using regular storefront approach, often incorporating modern frameworks like Vue.js and using default SAP Commerce build. Implementing parallel execution of FE and BE builds can lead to significant reductions in overall build time. Even for projects utilizing the OOTB Grunt build, parallelization can result in significant time savings. Furthermore, parallelization provides the valuable advantage of decoupling FE and BE builds, enabling developers to skip FE builds when focusing on BE development.

How to use same solr index for different index types

There are cases, when it is required to use same solr index to index/search different itemtypes. For example, it is required to have in search box autocompletion different types, like Product and Media. Another common use case would be display on search result page search results of different itemtypes mixed together (for example, Product, Media, custom Resource itemtype).

Adoption of Patching Framework

Patching Framework is a Hybris OOTB framework, which is designed to simplify releasing of new code on production (for example automation of impex execution after new code deployment). Hybris provides a set of interfaces and abstract classes, which allows to write β€œPatches”, where Patch itself is a Java class that is executed during a system initialization or an update.

Fix wrong session user during Solr Hot reindex

Solr hot update indexing always uses current session user, for example current backoffice user, who triggered solr hot reindex. In lots of real world cases it would lead to wrong results in solr due to different flexible search restrictions, which are applied to backoffice user and solr indexing user.

ThreadPool for async non-blocking execution

It is a common case to execute requests to third-party systems on Hybris model change. For that purpose perfectly fits Hybris Interceptors, but execution of long-running operations inside interceptors can lead to great performance degradations and data lost. To deal with that, operations should be executed asynchronously in separate thread.