August 01 2018, 01:03

HYBRIS 6.6/6.7 GENERIC AUDIT BUG EXPLAINED.

There is a new feature in hybris 6.6, Generic Audit. The new mechanism keeps track of modifications of attribute values of the auditable set of hybris objects. For this purpose, both the original value of the object and its new value are stored in the database for further inspection, if the needs arise. According to the documentation, you can turn on and off auditing for particular types. For frequently changed objects, there is a risk that the system may consume a lot of database space over time, and the database itself grows to a very large size over time. So if you keep auditing on, you should keep these things under control.

Shortly after SAP hybris 6.6 is released I found that this mechanism doesn’t work well. Specifically, when all the audit.*.enabled=false settings are applied, there are still types that are being audited anyway. The examples are Employee, Customer and Product. Many people observed the same, and the issue was reported to SAP. The bug has already been fixed, and, as to my knowledge, SAP has released a patch. I haven’t received the patch yet.

I decided to investigate the issue in detail. This article reveals the details of the problem.

https://hybrismart.com/2018/08/01/hybris-6-6-6-7-generic-audit-bug-explained/

July 31 2018, 10:26

In Walmart, three Indian guys in the Finance Department were attempting to correctly type the MoneyGram recipient’s name which I was pronouncing, letter by letter, as clearly as I could. My “D” they interpreted as Z, G, or J, but never as D. Can’t say whether it was their ears or my mouth at fault, or perhaps both. A phonetic alphabet would really come in handy in these situations.

With two Indians, the three of us were inputting the recipient’s name at the money transfer service in Walmart. For the letter D, they would press Z, G, or J, but never D. Memorizing such a chart certainly wouldn’t hurt.

July 29 2018, 21:09

Today’s hybrismart article is intended for beginners.

I have released a list of SAP hybris services that I would describe as “essential”. It includes some details on these services too, like the operations they offer and other services they depend on.

To prioritize hundreds of services and identify the essential ones, I analyzed hybris sources to discover the most frequently requested beans. Any hybris developer utilizes (and combines) these in virtually all the custom code they develop.

https://hybrismart.com/2018/07/26/essential-hybris-services/

July 27 2018, 05:51

You probably noticed that there have been no breakthroughs in the e-reader market for years. I have an idea) Imagine you have a reader with an entire library already loaded onto the device, allowing you to start reading any book immediately. For instance, 30% of any book’s content is instantly accessible to the user, whereas the remaining 70% requires activation to access. The search function works across all content. The simplest method to activate the remaining 70% is by sending a simple text message to receive a personal single-use coupon. Alternatively, you can purchase (in advance) a set of universal activation single-use codes (applicable to any book), and these coupons could be sold bundled with the device for an additional charge. The book library package is updatable and could also be sold in a package. For example, if you are a software developer, you might decide to buy a reader pre-loaded with IT books. You could update the device by adding hundreds or thousands of new books. I think this would be very convenient for anyone.

I cannot determine the exact length of this coupon. 10? 15? The device could also be fitted with a barcode reader to expedite entering it into the device. This can be used both for quick searches (for example, in a bookstore, you see a book and wish to buy it. The code is either printed on the book or nearby) and as a coupon reader at the checkout (you pay at the checkout, and the book is yours while the bookstore earns their share).

Regarding security: Coupons are generated as unique to each device. The library part of the device interface is one-directional, preventing book retrieval even in an attempted hack. The coupon verification algorithm is built into the firmware and is unique to each device (the algorithm itself can be simple, but it uses parameters that are unique per device). The same algorithm is used by the coupon generation service, which remains inaccessible to all except the manufacturer. The device parameters are known to the manufacturer, thus the coupon generator and coupon verification module are synchronized using the public part of the device ID. This public part of the device ID is printed on the customer card, which the device owner uses to buy coupons. The private part is stored in the device and in the manufacturer’s database used for generation, and it is protected and unobtainable. If you wish to buy a coupon for a specific book or section for a specific device, you need to input these details into a code generation interface: the public part of the device ID and select the desired book or section. Following payment, you will receive the coupon for your device. Once you enter the coupon into the device, it will decrypt and use the book ID or section ID via firmware to grant access. These operations are performed each time you try to access books on the device. The coupons are stored in the device’s memory. Should you need to replace the device (under warranty), the service center will generate a new set of coupons for the new device. This part of the firmware should also be non-updatable to prevent hacking of the process.

What do you think?