Documentation – The Rhino Inquisitor https://www.rhino-inquisitor.com Get your insights on Salesforce Commerce Cloud B2C development! Sat, 19 Oct 2024 16:39:11 +0000 en-US hourly 1 https://wordpress.org/?v=6.8.2 https://www.rhino-inquisitor.com/wp-content/uploads/2022/02/logo-wp-inquisitor.svg Documentation – The Rhino Inquisitor https://www.rhino-inquisitor.com 32 32 SWC And Storybook: Error: Failed to load native binding https://www.rhino-inquisitor.com/swc-and-storybook-error-failed-to-load-native-binding/ Sat, 19 Oct 2024 16:33:40 +0000 https://www.rhino-inquisitor.com/?page_id=12435 When switching between my M1 MacBook and Intel X64 MacBook today, I ran into an odd error: Error: Failed to load native binding at Object. (/node_modules/@swc/core/binding.js:333:11) at Module._compile (node:internal/modules/cjs/loader:1469:14) at Module._extensions..js (node:internal/modules/cjs/loader:1548:10) at Object.newLoader (/node_modules/esbuild-register/dist/node.js:2262:9) at extensions..js (/node_modules/esbuild-register/dist/node.js:4833:24) at Module.load (node:internal/modules/cjs/loader:1288:32) at Module._load (node:internal/modules/cjs/loader:1104:12) at Module.require (node:internal/modules/cjs/loader:1311:19) at require (node:internal/modules/helpers:179:18) at Object. (/node_modules/@swc/core/index.js:49:17) Solution Deleting […]

The post SWC And Storybook: Error: Failed to load native binding appeared first on The Rhino Inquisitor.

]]>

When switching between my M1 MacBook and Intel X64 MacBook today, I ran into an odd error:

				
					Error: Failed to load native binding
    at Object.<anonymous> (/node_modules/@swc/core/binding.js:333:11)
    at Module._compile (node:internal/modules/cjs/loader:1469:14)
    at Module._extensions..js (node:internal/modules/cjs/loader:1548:10)
    at Object.newLoader (/node_modules/esbuild-register/dist/node.js:2262:9)
    at extensions..js (/node_modules/esbuild-register/dist/node.js:4833:24)
    at Module.load (node:internal/modules/cjs/loader:1288:32)
    at Module._load (node:internal/modules/cjs/loader:1104:12)
    at Module.require (node:internal/modules/cjs/loader:1311:19)
    at require (node:internal/modules/helpers:179:18)
    at Object.<anonymous> (/node_modules/@swc/core/index.js:49:17)

				
			

Solution

Deleting my package-lock.json file and node_modules,and then running ‘npm install’ again magically fixed the problem!

The post SWC And Storybook: Error: Failed to load native binding appeared first on The Rhino Inquisitor.

]]>
Slicing versus Variation Groups in Commerce Cloud https://www.rhino-inquisitor.com/slicing-versus-variation-groups-in-sfcc/ Mon, 20 Nov 2023 11:08:09 +0000 https://www.rhino-inquisitor.com/?p=10508 Clarity and efficiency are key in the strategic display and management of products in your online store. In an age where various product options and variations dominate e-commerce, we must grasp the organisational tools at our disposal.  Today, we’re thoroughly examining two tools provided by Salesforce B2C Commerce Cloud: ‘Slicing’ and ‘Variation Groups’. Both are […]

The post Slicing versus Variation Groups in Commerce Cloud appeared first on The Rhino Inquisitor.

]]>

Clarity and efficiency are key in the strategic display and management of products in your online store. In an age where various product options and variations dominate e-commerce, we must grasp the organisational tools at our disposal

Today, we’re thoroughly examining two tools provided by Salesforce B2C Commerce Cloud: ‘Slicing’ and ‘Variation Groups’. Both are an option in product management, but which is your best bet?

In this article (and I am giving away already which option blows the other out of the window), I hope to help you prepare to understand these concepts in depth and learn why, more often than not, Variation Groups may be your best bet for an exceptional online catalog management system.

What is slicing?

A robot slicing a cake shaped like a t-shirt

Slicing is a method of catalog management that hinges on separating product variants according to one attribute. It simplifies the distinct appearance of products by isolating them based on a characteristic like colour or size. For a while, this approach was quite popular as it provided a clear-cut way to handle product variations, particularly in systems with large counts of SKUs. The idea was that each variant stands alone, making it easy to list and manage inventory.

But simplicity comes at a price. When a variant sells out, it vanishes from the storefront, leaving a gap in your catalog and potentially disrupting the customer’s shopping experience. What’s more, this can be detrimental to your site’s search engine ranking as each variant has its URL that might get indexed, and having this URL disappear can undo SEO optimisations. 

From an operational standpoint, slicing demands that you replicate this process for each category your product fits into, escalating manual work and the likelihood of human error in maintaining a cohesive store experience.

What are variation groups?

A representation of the base product, variation group and variant system. A base product, with variation groups as colour and variants that represent the size.
The "Master Product" has been renamed to "Base Product" to be more inclusive.

Variation Groups present a more refined and flexible approach to managing product variants. Think of a digital catalog where products are not sorted based on one characteristic, but rather, traits can mix and match across different features. This allows you to easily find a specific combination of products, like “all blue items in any size” or “small size in any colour.” Variation Groups are what make this possible. These are groups of different versions of a product, all based on a central Variation Base, that are arranged in logical combinations that shoppers often look for.

Variation Groups are really useful because they help to show a product line in a complete way. They take information about the inventory from a group of SKUs, which makes it easier to keep track of the amount of each product you have and to show the products consistently. With Variation Groups, you can also choose specific products based on certain attributes like color and size, and place them in your store in a way that makes sense. 

Variation Groups also make it possible to tag products to promotions, which gives you more control over sales. This is something that is difficult to do with traditional product organization methods. Variation Groups are really helpful in situations where you have lots of products that need to be managed carefully, and where you need to make sure that everything looks and works well together.

Why use Variation Groups over Slicing

The leap from slicing to Variation Groups feels natural when considering the modern expectations of both merchants and customers online:

  • Enhanced Control Over Display: Variation Groups give you exacting authority over how products are presented in the store. Attributes maintained at the Group level contribute to a refined attribute value fallback system for variants, ensuring that variations adhere to predefined display rules without constant manual adjustments.
  • Merchandising with Precision: By assigning specific colours or sizes to content slots on grid or landing pages or curating sets by attributes within Variation Groups, you can create an aesthetically pleasing and user-friendly browsing experience.
  • SEO and Inventory Consistency: Since Variation Groups are indexed as a single entity, they avoid the SEO pitfalls of slicing, where individual out-of-stock variants negatively impact search visibility. Variation Groups stand sturdily in search engine results, maintaining a stable presence.
  • Promotional Dexterity: Variation Groups offer nuanced promotional capabilities, syncing effectively with seasonal or flash sales without needing individual product-level discounts, streamlining the promotional mechanics and adding value to the customer journey.
  • Simple Category Management: Variation Groups allow for reordering product displays in the view, which is invaluable for visual merchandising and alleviating the daily grind of category management. Conversely, slicing necessitates individual attention for each product within categories.
  • Composable Storefront: Although SFRA and SiteGenesis supported slicing, the PWA Kit has never been tested with slicing and solely supports Variation Groups out of the box.
  • Slicing is kind of deprecated: Although the Trailhead Module and documentation no longer show a deprecation message (I somehow remember it visible in more places), it is a deprecated feature (proved by the previous point).
A screenshot of the ProductSearchHit script documentation with the following message below slicing: "Deprecated: Please use HIT_TYPE_VARIATION_GROUP instead."
One location still has the deprecation message.

Quota Limits

When dealing with variations, it is crucial to be mindful of a single quota limit – the maximum number of variations per base product, similar to slicing.

However, this limit is generally more lenient than other platforms, like Shopify and Commercetools, which restrict the number of variations to only 100.

Conclusion

While slicing provided a rudimentary structural approach to product management, Variation Groups currently embody the sophistication required in the fast-paced, multifaceted world of e-commerce. They offer fluid merchandising, robust category management, and a cohesive approach to inventory and promotion strategies, aligning with the needs and behaviours of online shoppers. 

By leveraging Variation Groups within Salesforce B2C Commerce Cloud, merchants gain a competitive edge, ensuring their storefronts are adaptable, customer-centric, and optimised for operational excellence. 

As your digital storefront evolves, remember that Variation Groups are more than just a feature; they are a strategic stepping stone towards a more elegant, intuitive, and successful online retail presence.

The post Slicing versus Variation Groups in Commerce Cloud appeared first on The Rhino Inquisitor.

]]>
Where can I find the new SFCC Documentation? https://www.rhino-inquisitor.com/where-is-the-new-sfcc-documentation/ Mon, 03 Jul 2023 06:32:44 +0000 https://www.rhino-inquisitor.com/?p=9476 In early 2023, we were notified that the Infocenter would be replaced with a supposedly more “modern” solution. While some may have looked forward to this update, others were disappointed by the news. Were these reactions anticipated? What changes are occurring? And where can we find the relevant documentation now? Time to have a look! […]

The post Where can I find the new SFCC Documentation? appeared first on The Rhino Inquisitor.

]]>

In early 2023, we were notified that the Infocenter would be replaced with a supposedly more “modern” solution. While some may have looked forward to this update, others were disappointed by the news.

Were these reactions anticipated? What changes are occurring? And where can we find the relevant documentation now? Time to have a look!

The official announcement

In case you didn’t catch the official announcement, I’ve got you covered! Check out this link, or just read my copy/paste work.

Beginning June 15, 2023, the information currently hosted on the Salesforce B2C Commerce Infocenter will be published across three locations.

  • Salesforce Help is the new home for administrator and merchandiser content.
  • Commerce Cloud Developer Center is the new home for most developer-focused content.
  • Salesforce B2C Commerce Developer Documentation Resources is the new home for the B2C Commerce API and other developer-focused content, including legacy developer documentation.

Many improvements were made to the documentation as a part of the migration. As a result, there won’t always be a direct one-to-one mapping between topics in the Salesforce B2C Commerce Infocenter and topics in their new locations. Between June 15 and July 15, B2C Commerce documentation will be available in both the Infocenter and its new locations to help ensure a smooth transition for users. On July 15, 2023, the Infocenter will be retired and will no longer be available.

The new locations

Books with documentation scattered on multiple piles, falling over.

The word “locations” in the title of this section may be a concern for many people. Everything once found in a single place is now distributed among several. And the fact that this makes some veterans of SFCC nervous should come as no surprise.

Nevertheless, this will have some advantages:

  • Separation of concerns: when looking for technical documentation, you will not be distracted or sent to the wrong place as easily as that happens now. And visa-versa.

  • Included in the general help: How well this works out will depend on the quality of the search engine of Salesforce Help. However, having one location and a similar style of documentation as the rest of Salesforce is (for me) a welcome change. The fact the URLs don’t contain the search query anymore is also helpful…

Merchandisers & Admins

Although this section applies to all roles, all functional documentation has been put under the “B2C Commerce for Merchandisers and Administrators”.

In this section you will find everything about how to:

  • Merchandise B2C Commerce Cloud
  • Data protection & privacy
  • Account Manager
  • Log Center (although this one is technical)
  • Control Center
  • Storefront Toolkit
  • ….

Developers

Salesforce provides a dedicated site for developers that serves as a centralized location for all developer documentation, with the exception two things which we will address later.

Here you will find:

  • General development guidelines
  • Einstein documentation
  • Customer Service Center
  • OCAPI documentation

As with the SCAPI documentation, the OCAPI now also lives in its separated bubble from the rest of the documentation.

Legacy Documentation

The Infocenter previously had documentation on features that are no longer available and outdated. Unfortunately, these documents cannot be transferred to the new system. However, they have been consolidated into a single PDF to ensure that important information is not lost.

But does it make it easy to find something if you need it? Probably not.

B2C Commerce API

This movement will cause considerable friction with the Salesforce B2C Commerce Cloud developer community. The biggest question here is why it was not moved over to the developer center, to match what was done on the core platform.

Understandably, it is a huge effort to move this over – and monthly releases need more maintenance. (Although the release notes of the core platform should not be underestimated….so many pages)

An unofficial alternative

Are you completely lost in the new system? Maybe this unofficial solution for Dash, built by Charles Lavery will help you!

A screenshot of Dash showing the B2C Commerce Cloud API documentation.

My opinion

Artwork of a person choosing between two flows.
I just go with the flow...but suggest improvements

As it stands for me, this change was to be expected. All new documentation was already moved over to these respective platforms (GitHub taken out of the equation), and the Infocenter was the “odd one out”.

However, there is still a lot of work to be done, also on my side to get used to all of these new locations. Whether my workflow will improve or worsen is something I can not comment on yet. But we must give feedback via the known channels (such as #documentation and #airing-of-grievences).

Only time will tell! Though I suspect the #airing-of-grievences channel on the Unofficial Slack should be monitored by the Salesforce team.

The post Where can I find the new SFCC Documentation? appeared first on The Rhino Inquisitor.

]]>
Can an isslot Element have a dynamic ID? https://www.rhino-inquisitor.com/can-a-isslot-element-have-a-dynamic-id/ Wed, 28 Jun 2023 18:13:06 +0000 https://www.rhino-inquisitor.com/?page_id=9446 TL;DR It is not possible to set a dynamic ID in the <isslot> tag. Official Documentation For quite some time now, Content Slots have been the go-to method for displaying personalized or scheduled content. However, the advent of Page Designer has given rise to a new option. Despite their popularity, one major limitation of Content Slots is […]

The post Can an isslot Element have a dynamic ID? appeared first on The Rhino Inquisitor.

]]>
Screenshot of the isslot official documentation.

For quite some time now, Content Slots have been the go-to method for displaying personalized or scheduled content. However, the advent of Page Designer has given rise to a new option.

Despite their popularity, one major limitation of Content Slots is the inability to set a dynamic ID. It’s likely that the system scans all ISML files to determine which slots to display for configuration in the Business Manager, but this is merely speculation since it is a black box feature.

Alternative solutions to isslot

Page Designer

Using Page Designer will give you (and the merchandisers) a more modern option to manage their content!

Context

Slots support “category” and “folder” context objects that may provide a solution in specific use cases.

The post Can an isslot Element have a dynamic ID? appeared first on The Rhino Inquisitor.

]]>