Release Notes – The Rhino Inquisitor https://www.rhino-inquisitor.com Get your insights on Salesforce Commerce Cloud B2C development! Tue, 02 Apr 2024 07:39:31 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.2 https://www.rhino-inquisitor.com/wp-content/uploads/2024/01/cropped-logo-wp-inquisitor-32x32.png Release Notes – The Rhino Inquisitor https://www.rhino-inquisitor.com 32 32 Getting to know the SFCC 24.4 Release https://www.rhino-inquisitor.com/getting-to-know-the-sfcc-24-4-release/ Mon, 01 Apr 2024 08:03:24 +0000 https://www.rhino-inquisitor.com/?p=11734 It’s that time of the year again! The April 2024 (24.4) release of Salesforce B2C Commerce Cloud is finally here, just in time for the spring season. Let’s take a closer look at all the exciting new features and improvements this release offers. Are you interested in last month’s release notes? Click here! Added support for additional HTTP […]

The post Getting to know the SFCC 24.4 Release appeared first on The Rhino Inquisitor.

]]>

It’s that time of the year again! The April 2024 (24.4) release of Salesforce B2C Commerce Cloud is finally here, just in time for the spring season. Let’s take a closer look at all the exciting new features and improvements this release offers.

Are you interested in last month’s release notes? Click here!

Added support for additional HTTP methods for Custom APIs

The newly enabled methods in 22.4 now allow us to create custom endpoints for any use-case (theoretically):

  • POST
  • PUT
  • PATCH
  • DELETE
  • HEAD
  • OPTIONS

This update is highly anticipated by Headless projects, as it offers greater flexibility in the Composable Storefront than ever before!

Read all about it here.

Rogue Query Timeouts in B2C Commerce

To protect customer instances and associated services from outages, B2C Commerce restricts rogue queries that produce 200 thousand results or more. To better protect Salesforce B2C Commerce, Salesforce plans to limit the allowed offset value from 200 thousand to 10 thousand..

Salesforce’s Commerce Cloud B2C platform has restricted rogue queries producing 200,000 or more results to protect customer instances from outages.

In the 24.6 Release in June 2024, the allowed offset value will be limited to 10,000. If a rogue query is generated, an error message will notify API users that the offset value needs to be set to under 200,000, while Business Manager calls will fail without the message.

To reduce the risk of generating large queries, users are advised to make their queries more targeted via filters and offset values. 

What batch APIs can be used to still retrieve large datasets?

				
					application failed to invoke [search_protocol.search()] on server, responding with 
            fault. exception was [com.demandware.core.rpc.server.InvocationException: exception 
            while invoking operation], cause [org.elasticsearch.ElasticsearchIllegalArgumentException: 
            Search request offset <value> is greater than offset limit 200000 for tenant '<GroupID>_<Instance'>, type 'order']
				
			

Manage More Images in Page Designer

A screenshot of the Image Picker in Page Designer showing 4 images available to select.

The Page Designer image and media picker now supports up to 1,000 images per folder. Previously, only 200 images within a folder were accessible in the image picker, even if more existed. The increased image limit improves the user experience for merchandisers and content creators and avoids workarounds, such as creating subfolders for extra images.

Since the introduction of Page Designer, users have been facing a recurring issue of images not being found due to the 200-image limit. This issue has been reported globally on a monthly basis.

The good news is that the limit has been increased to 1000. This should provide some relief to users while setting up their pages. It is still not unlimited, so it is important to manage folders effectively to avoid reaching the 1000 limit in the near future.

Business Manager​

Configure eCDN for Staging in Business Manager

A screenshot of the Staging Business Manager showing the link "Embedded CDN Settings" highlighted.

Business Manager now supports configuring eCDN for staging environments. eCDN settings are specific to each instance (development, staging, and production), and you manage them individually. When you create a proxy zone in production, the zone doesn’t replicate a corresponding proxy zone in your development or staging instance. The new eCDN configuration feature simplifies onboarding new sites for staging instances, making it easier to mimic your production instance. Because the configuration uses the existing CDN-API, you can use either Business Manager or the API to manage your eCDN configurations.

It feels like only yesterday that I published my blog post on how to upload certificates to the staging environment. With this latest release, we can now use the same user interface that we use in production and development. This is a great update that should simplify our lives, especially considering that in the past, we had to rely on support to get this done.

Auto-Correction is Disabled by Default

A screenshot of the Searchable Attributes in the Business Manager showing the new default setting for Autocorrection to be "No".

The default setting for auto-correction for searchable attributes added after the B2C Commerce 24.4 release is now set to No. This change affects searchable attributes added through the Business Manager UI or via import. Existing configurations aren’t affected. Previously, when you added a searchable attribute, the default setting was Yes, which could cause issues in instances when search functions shouldn’t correct values, such as the product SKU, ID, or ISBN. Additionally, the auto-correction dictionary’s size can incrementally increase over time, leading to search noise.

A small change has been made to remedy some confusion that can occur while configuring attributes. The Autocorrection feature is now a manual action that needs to be taken by the user, instead of being set by the system by default.

This is a nice change that will improve the overall user experience.

OCAPI & SCAPI

productSearch gets more data

With B2C Commerce 24.3, expanded the Shopper Search API productSearch endpoint to include additional parameters: productPromotions, imageGroups, priceRanges, and variants

Hooks have been a go-to patch for information like this for a while now, and being able to replace these customisations with platform-native solutions will help keep our projects maintainable.

Hook cleanup time!

New API: searchCustomerGroup

Search for customer groups in a given Site Id. The query attribute specifies a complex query that can be used to narrow down the search.

With each new release, a new API seems to appear—this time, one for the “management” side of things.

New API: Shopper Custom Objects API

Use the Shopper Custom Objects API to retrieve custom object information. You can specify an object type ID as well as a key attribute for the object.

Another use case where the OCAPI is no longer required, and we can access Custom Objects in our composable projects more easily.

Check for Customization with SCAPI

Two new SCAPI response headers are available to check for custom requests and resulting hook execution errors.

Two new headers have made their way into the SCAPI:

  1. sfdc_customization–indicates whether customization has been applied during the request execution. Currently, the only possible value for the header is “HOOK”, which indicates that a hook execution was registered.
  2. sfdc_customization_error–if the value is “1″, an error occurred within a hook execution.

This is a great addition that will allow us to get more information on the client side of what is going on and take some of the guesswork out of it.

OCAPI JWT Response to Updated Passwords Is Changed

To enhance security and align with the SLAS JWT session handling, we updated how the OCAPI JWT handles password changes. Now, if your customer changes their password, all previously issued active OCAPI JWTs are invalidated. The OCAPI client receives an HTTP 401 response, accompanied by a body message that indicates an invalid access token. Previously, the JWT remained valid until its normal timeout.

				
					“fault”: {
        “arguments”: {
        “accessToken”: “Customer credentials changed after token was issued. Please Login again.”
        },
        “type”: “InvalidAccessTokenException”,
        “message”: “The request is unauthorized, the access token is invalid.”
        }
				
			

Security is a serious matter, and automatic deactivation of active sessions is a valuable update that can give peace of mind. We can also use the information from the response to inform customers of what is happening.

Unfortunately, the error message does not have a unique identifier, only an “English” message, making translating or creating a key slightly more challenging.

Updated Cartridges & Tools

b2c-tools (v0.21.1)

b2c-tools is a CLI tool and library for data migrations, import/export, scripting and other tasks with SFCC B2C instances and administrative APIs (SCAPI, ODS, etc). It is intended to be complimentary to other tools such as sfcc-ci for development and CI/CD scenarios.

  • support parent traversal in page designer library
 

plugin_passwordlesslogin (v1.2.2)

Passwordless login is a way to verify a user’s identity without using a password. It offers protection against the most prevalent cyberattacks, such as phishing and brute-force password cracking. Passwordless login systems use authentication methods that are more secure than regular passwords, including magic links, one-time codes, registered devices or tokens, and biometrics.

The post Getting to know the SFCC 24.4 Release appeared first on The Rhino Inquisitor.

]]>
Digging into the B2C Commerce Cloud 24.3 release https://www.rhino-inquisitor.com/digging-into-the-b2c-commerce-cloud-24-3-release/ Mon, 04 Mar 2024 09:04:46 +0000 https://www.rhino-inquisitor.com/?p=11566 As snowy days slowly turn into sunny ones, the 24.3 release of SFCC has arrived! Let us have a look at the March release of 2024. Are you interested in last month’s release notes? Click here! Platform Add More Product Line Items per Basket If your site was limited to 50 line items per basket, the maximum […]

The post Digging into the B2C Commerce Cloud 24.3 release appeared first on The Rhino Inquisitor.

]]>

As snowy days slowly turn into sunny ones, the 24.3 release of SFCC has arrived! Let us have a look at the March release of 2024.

Are you interested in last month’s release notes? Click here!

Platform

Add More Product Line Items per Basket

A screenshot of the Business Manager basket preferences is displayed, featuring a new 200 default option for product line items.

If your site was limited to 50 line items per basket, the maximum number is increased to 200. This new limit doesn’t affect users who have been granted a lower or higher limit.

Quite a big uplift in the amount of different product line items allowed in a single basket by default. This will be particularly handy in certain industries such as groceries, gifting, and even some small B2B cases.

Prioritize Resource Bundle Lookup

You can now change the order of the resource bundle lookup and give priority to the WebDAV resource bundle. The default lookup first checks the resource bundle IDs of the code cartridges assigned to your site and then checks WebDAV. If you have resource bundles with the same ID in the cartridge and WebDAV, the cartridge resource bundle is always selected over the resource bundle in the WebDAV location. You can now use a toggle to switch the order to check WebDAV first.

A new feature toggle is now available under “Feature Switches” in the “Global” section of the Administration panel.

This option will give a bit more flexibility in translation management and open new routes. Does anyone care to revisit “Resource Manager”?

Scheduled Backups Button Is Disabled

The Scheduled Backups button is no longer available. Instead, use a customer job to schedule backups of your production and development environments.

The scheduled backup feature has been turned off on all PIG environments except for the staging environment. This feature was initially intended for the staging environment. So, most projects won’t be affected by this change.

However, if you use this feature in other environments, you can use a system job step called SiteExport that you can schedule independently.

Business Manager

Display Alert Messages in Business Manager

A screenshot of the Business Manager showing all different options on where to show certain notifications: Banner, Header, or Homepage

Display alerts as a persistent banner on the top of every Business Manager page. Alerts can relate to Business Manager modules and are only visible to users with permissions to access the module. Salesforce might also use the enhanced alerting framework to display critical system messages to Business Manager users.

A new option that is more prominent and cannot be ignored. To enable, go to Administration | Operations | Notification Settings in Business Manager and select the Banner alert type.

OCAPI & SCAPI

Prepare for Changes to Sever-Side Web-Tier Caching

If you provision your SCAPI zone with short code, SCAPI caching is enabled by default after March 12, 2024, and the feature switch SCAPI Server-Side Web-Tier Caching is has no effect. If you enroll in SCAPI before March 12, 2024, you can continue to enable SCAPI caching in Business Manager. To enable caching, in Business Manager, select Administration | Feature Switches, and turn on SCAPI Server-Side Web-Tier Caching.

Performance is always a hot topic for any industry, and having Web-Tier cache active will hopefully have a significant impact on the performance of all headless channels.

SCAPI - Shopper SEO

  • Updated getUrlMapping's response to include the optional property resourceSubType, which indicates whether the resolved object is a Page Designer content asset or a Content Slot asset. For more information, see the UrlMapping type reference.
  • Updated getUrlMapping to support URL redirects. For more information, see the URL Resolution guide.
  • Updated getUrlMapping to support these hooks: dw.shop.seo.url_mapping.beforeGET and dw.shop.seo.url_mapping.modifyGETResponse.

Some updates to the URL mapping endpoint, which include support for URL Redirection from the Business Manager!

Shopper Baskets v2

  • Provides support for temporary baskets. Temporary baskets can perform calculations to generate totals, line items, promotions, and item availability without affecting the shopper’s storefront cart. You can use these calculations for temporary basket checkout.
  • New Shopper Basket v2 response fields:
    1. groupedTaxItems
    2. taxRoundedAtGroup
    3. temporaryBasket

The new version for Shopper Baskets looks a bit different from v1, so adjust your customisations if you plan to upgrade.

SCAPI Load Shedding

  • If the system reaches a load threshold, an HTTP 503 response is returned for a subset of API families.
  • Covers APIs not covered by rate limits that are considered non-critical, for example: endpoints related to search, products, and authentication. Load shedding is not used for checkout-related endpoints, such as Shopper Baskets and Shopper Orders, to ensure that shoppers can complete an in-progress checkout.
  • Includes additional HTTP response headers that allow you to understand the current system load: sfdc_load, which represents a load percentage with higher percentages indicating higher loads, and sfdc_load_status, which is a enum WARN|THROTTLE that helps you understand the relative health of the system.

We received a notification regarding removing rate limits for SCAPI endpoints some time ago.

Instead, a new system called Load Shedding has been introduced. This system allows us to monitor the performance of the APIs based on different response headers that have been added. If necessary, we can also introduce our safety features.

While this system gives us more control, it also introduces a new scenario to take into account.

Custom Request Headers

Developers can send custom request headers that are passed and made available in server-side custom implementations.

It is now possible to add custom headers to your requests to use in your customisations on the server-side.

Pattern: c\_{yourHeader}

Account Manager

Security Update for the Audit History Logs

Starting with the 1.32.2 release, the full name and full email address for active audit history users are masked from administrators. Masking occurs when the active user isn’t part of the organization and they’re active in Audit History for a User, Organization, or API Client sessions. Masking is also used when organization users view their audit history on the start page. The mask improves security compliance.

A minor update for security compliance.

Updated Cartridges & Tools

plugin_passwordlesslogin (v1.2.1)

Passwordless login is a way to verify a user’s identity without using a password. It offers protection against the most prevalent cyberattacks, such as phishing and brute-force password cracking. Passwordless login systems use authentication methods that are more secure than regular passwords, including magic links, one-time codes, registered devices or tokens, and biometrics.

Update feature so that callbacks, redirects, and scopes are not overwritten.

composable-hybrid-sitegenesis-poc (v2.1.1)

This repository demonstrates a proof of concept (POC) for implementing SLAS and phased rollouts on SiteGenesis. The examples given use the latest version of SiteGenesis, using JavaScript controllers, but the same approach could be used on pipeline versions of SiteGenesis.

Although we are already at v2.1.1, this repository is new and its first release.

b2c-tools (v0.20.0)

b2c-tools is a CLI tool and library for data migrations, import/export, scripting and other tasks with SFCC B2C instances and administrative APIs (SCAPI, ODS, etc). It is intended to be complimentary to other tools such as sfcc-ci for development and CI/CD scenarios.

The post Digging into the B2C Commerce Cloud 24.3 release appeared first on The Rhino Inquisitor.

]]>
A look at the Salesforce B2C Commerce Cloud 24.2 release https://www.rhino-inquisitor.com/a-look-at-the-salesforce-b2c-commerce-cloud-24-2-release/ Mon, 05 Feb 2024 06:59:49 +0000 https://www.rhino-inquisitor.com/?p=11255 It’s time to gear up for the February 2024 (24.2) release of Salesforce B2C Commerce Cloud! With the arrival of this latest release, let’s look at what’s new and exciting!  You can always check out last month’s release notes by clicking here if you missed it. Platform Partitioned Cookies On By Default This new feature […]

The post A look at the Salesforce B2C Commerce Cloud 24.2 release appeared first on The Rhino Inquisitor.

]]>

It’s time to gear up for the February 2024 (24.2) release of Salesforce B2C Commerce Cloud! With the arrival of this latest release, let’s look at what’s new and exciting! 

You can always check out last month’s release notes by clicking here if you missed it.

Platform

Partitioned Cookies

Concerning browser vendors’ ongoing deprecation of third-party cookies, a new feature in Salesforce B2C Commerce Cloud affects how cookies are handled: “Partitioned Cookies

Cookies that are sent by controller code, such as via response.addHttpCookie will now have the Partitioned flag set. 

Most people won’t notice a difference, but this change may have side effects if you have more complex custom cookie logic. However, a feature toggle called Partitioned Cookies defaults to true – you can turn off this new behaviour there, but be sure to read the description carefully, as it is necessary for Page Designer and Toolkit when third-party cookies are disabled in the browser. 

Allow Duplicate Terms in Search Phrases

B2C Commerce search now accepts long-tail search phrases with duplicate search terms. When an exact match for a given phrase is found, the suggestion processor returns highly relevant search results.

Previously, duplicate words in long-tail search phrases were autocorrected to slightly different versions. Autocorrecting terms in the search phrase can result in irrelevant search results.

Improvements in the built-in search engine are always welcomed. A reliable search function across all channels enhances user experience and increases conversion rates.

Get a Higher Level of Time Stamp Accuracy with Inventory

ProductInventoryRecord.AllocationResetDate now supports a higher level of accuracy in the database. The change is backward-compatible.

When dealing with various sales channels that impact inventory, multiple stock modifications may occur within the exact second.

Previously, we were unable to differentiate at the millisecond level, but that is no longer the case! With the database modification that allows for milliseconds in the timestamp instead of seconds, we can now more effectively handle this particular use case.

XML Import example

				
					// example import with seconds
<allocation-timestamp>2023-11-22T06:56:01Z</allocation-timestamp>
 
// example import with milliseconds
<allocation-timestamp>2023-11-22T06:56:01.567Z</allocation-timestamp>
				
			

OCAPI

				
					// Request body example with millis
{ 'allocation': { 'amount': 17, 'reset_date': '2023-11-23T08:39:23.456Z' } }
// Response always with millis
.... 'reset_date': '2023-11-23T08:39:23.456Z'
 
// Request body example with seconds
{ 'allocation': { 'amount': 17, 'reset_date': '2023-11-23T08:41:23Z' } }
// Response always with millis
.... 'reset_date': '2023-11-23T08:41:23.000Z'
				
			

Business Manager

Specify a Date Format for Locales

You can now modify the date settings format in Business Manager so that the script API method dw.util.Calendar.getFirstDayOfWeek() returns the first day of the week in the date format used by your site locale. Previously, you couldn’t modify the date format to match the local or regional context.

A screenshot of the date settings in a locale before the 24.2 release.
Before
A screenshot of the date settings in a locale after the 24.2 release, showing the new start day of the week option.
After

Development

Custom SCAPI Endpoints

The promised helper functions have arrived with the new custom endpoints going GA, making creating scripts for your endpoints easier!

OCAPI & SCAPI

Custom SCAPI Endpoints

Although this option has existed since September last year, this feature is now officially out of BETA and can be safely used in production environments.

It is important to note that a few things have changed in this release that might break your current customisations, so verify that all endpoints still behave and work the way you intended.

The documentation has been updated to include these changes. It’s time to read up!

SLAS Updates

  • Improved error handling for TSOB(Trusted system on Behalf) for "customer not found" user scenarios.
  • Support added for using SAP Customer Data Cloud socialize REST endpoints.
  • IDP configuration now allows the IDP client credentials to be added to the POST body. SLAS now supports OIDC client_secret_basic and client_secret_post for client authentication.
  • Updated the /introspect endpoint to include a “sub” claim in the response.
  • Improved validation in Session Bridge(SESB) flow by checking for the customer_id and failing the request if the customer is already registered.
  • Includes SLAS Admin UI and API bug fix to address the cache synchronization issue when a client is edited or deleted.

SLAS updates this month include some critical changes. One of the issues that has been bothering me for the past year was the visual cache of the SLAS admin UI, which caused a lot of confusion by displaying outdated information. 

However, I’m happy to report that this issue has finally been fixed, dramatically improving UX.

Account Manager

1.32.0 Release

  • Security Fixes
  • Bug Fixes
  • Infrastructure Updates
  • UUID Tokens Switched to JWT Access Tokens: As previously announced in June 2023, Account Manager no longer supports the use of UUID token formats. All new API Clients only support the JWT access token format.

After quite a long warning beforehand, the UUID option is now wholly gone for new API clients!

SFRA v7.0.0

BREAKING CHANGE: SFRA v7.0.0 has been updated to support Node 18

  • Setup Github Actions config by @shethj in #1337
  • Allow arbitrary-length TLDs by @wjhsf in #1352
  • Fix broken locale selector on Page Designer pages. by @wjhsf in #1354
  • Fix search with multiple refinements on PLP by @shethj in #1365
  • Bug: avoid XSS attacks in addressBook.js by @mjuszczyk1 in #1366
  • Update: seo friendly urls for search refinements by @sandragolden in #1331
  • Bug: fix transformations not being applied (W-8851964) by @wjhsf in #1183
  • Use standard ignore for generated files by @wjhsf in #1182
  • Bump version to v7.0.0 by @shethj in #1373
  • Add node18 release note by @shethj in #1374

A long-awaited update to SFRA is finally here with the long-promised update to node 18! 

package.json changes in SFRA 7.0.0
Many libraries have been updated!

PWA Kit v3.4.0

General

  • Add support for node 20 #1612
  • Fix bug when running in an iframe #1629
  • Generate SSR source map with environment variable #1571
  • Display selected refinements on PLP, even if the selected refinement has no hits #1622
  • Added option to specify isLoginPage function to the withRegistration component. The default behavior is "all pages ending in /login". #1572

Accessibility
  • Add correct keyboard interaction behavior for variation attribute radio buttons #1587
  • Change radio refinements (for example, filtering by Price) from radio inputs to styled buttons #1605
  • Update search refinements ARIA labels to include "add/remove filter" #1607
  • Improve focus behavior on my account pages, address forms, and promo codes #1625

Storefront Preview
  • We've added a new context input field for Customer Group. This is a text input for now but we imagine a dropdown in the future.
  • We know many of you will bring third party CMS's to the mix. We want you to be able to use Storefront Preview with these as well! On that note please check out our new guidance on Preview extensibility. Essentially you can forward context changes onto a third party to set their version of context in the given platform meaning your Previewed storefront can faithfully render all the content relevant to your context settings.

With smaller and larger updates, the 3.4 release is now equipped to support more use cases and stay current with the latest Node versions!

Bugfixes

Someone decided in January to do some cleanup, making it harder to make an overview, but here is a link to make things easier!

Updated Cartridges & Tools

composable-storefront-pocs

This repo is a composable storefront implementation with various proof of concepts baked in. It otherwise closely tracks pwa-kit

A big update to the POC library, such as live editing (custom editors) and Promotional/Sale/list pricing on PLP and PDP.

plugin_slas (v7.2.0)

This cartridge extends authentication for guest users and registered shoppers using the Shopper Login and API Access Service (SLAS).

The post A look at the Salesforce B2C Commerce Cloud 24.2 release appeared first on The Rhino Inquisitor.

]]>
Commerce Cloud 24.1 Release: A New Year Update https://www.rhino-inquisitor.com/sfcc-24-1-release-a-new-year-update/ Mon, 08 Jan 2024 09:10:13 +0000 https://www.rhino-inquisitor.com/?p=11082 A new year means release notes for the back end have started again! This time, we look at the January 2024 (24.1) release! Are you interested in last year’s release notes? Click here! Platform DKIM Support for Emails Are you tired of missing out on important emails because they end up in your SPAM folder? […]

The post Commerce Cloud 24.1 Release: A New Year Update appeared first on The Rhino Inquisitor.

]]>

A new year means release notes for the back end have started again! This time, we look at the January 2024 (24.1) release!

Are you interested in last year’s release notes? Click here!

Platform

DKIM Support for Emails

A screenshot of the Email Settings in the Business Manager showing the new DKIM Checkbox

Are you tired of missing out on important emails because they end up in your SPAM folder? We have great news for you! Commerce Cloud now comes with DKIM support, designed to significantly reduce the chances of your emails being marked as SPAM.

Improved log handling for Einstein Search Dictionaries and Einstein Predictive Sort

The error handling for Einstein Search Dictionaries and Einstein Predictive Sort log files no longer creates log errors when an updated dataset isn’t available.

How: If you use Einstein Search Dictionaries or Einstein Predictive Sort, verify the Region setting in your staging instance. In Business Manager | Administration | Operations | Einstein Status Dashboard | site, set the Region to one of the following:

  • Americas
  • APAC
  • EU

OCAPI & SCAPI

Enable Temporary Baskets for Immediate Order Requests in OCAPI

A person's hand touches a mobile phone, depicting multiple carts on top of it, representing the new Headless options for "temporary baskets."

OCAPI 23.4 includes support for temporary baskets. Temporary baskets allow for immediate order requests in B2C Commerce. For example, a shopper uses a Buy Now option to purchase an item. The temporary basket, which has a limited lifetime of 15 minutes, is populated with all the data required to ready the basket for checkout without affecting the regular shopper basket.

How: Pass a query parameter temporaryBasket into POST baskets to create a temporary basket. With OCAPI 23.4 the basket document attribute isTemporary indicates a basket is temporary.

The recent introduction of temporary basket access in Headless setups is a significant breakthrough! This new feature unlocks a world of possibilities for mobile applications and the PWA Kit.

Have you ever received a request to allow only one product type in a single basket without allowing any combinations? Such requests were puzzling before this feature was added. Where do you store the current basket? What if the product goes out of stock in the meantime? 

Some things that you need to remember about these temporary baskets:

  • Basket lifetime is limited compared to shopper baskets. A temporary lifetime of 15 minutes is used for basket retention.
  • Limit is separate from shopper and agent basket limits. The shopper can have up to 4 temporary baskets.
  • Available to all shoppers, including guests. (unlike agent baskets)

PWA Kit v3.3.0

Some love again for the PWA Kit, wit the release of v3.3. The main changes are:

  • Adding StorefrontPreview component ‘onContextChange’ property to prepare for future Storefront Preview release
  • Updating engine compatibility to include npm 10
  • Replacing max-age with s-maxage to only cache shared caches
  • Improving pwa-kit-dev start command to accept CLI arguments for babel-node
  • Adding source-map-loader plugin to webpack configuration
  • Creating a flag to allow toggling behavior that treats + character between words as space in search query
  • Implementing gift option for basket
  • Updating extract-default-messages script to support multiple locales
  • Adding support for localization in icon component
  • Making various accessibility improvements and bug fixes

Bugfixes

Only one fix was made in the current release. However, many items are marked as “Solution Scheduled” and “Solution Deploying”, which will hopefully be covered in next month’s release blog post!

Updated Cartridges & Tools

sgmf-scripts (3.x in the works)

This repository contains a collection of scrips that are useful for creating Storefront Reference Architecture overlay cartridges. All of the scripts are executable through CLI.

I’ve noticed that someone is currently working on developing version 3.x of this library. This is an exciting update that many people have been eagerly waiting for. It will be interesting to see what changes and enhancements are made in this new version.

The post Commerce Cloud 24.1 Release: A New Year Update appeared first on The Rhino Inquisitor.

]]>
New APIs and Features for a Headless B2C Commerce Cloud https://www.rhino-inquisitor.com/new-apis-and-features-for-a-headless-sfcc/ Mon, 13 Nov 2023 09:54:35 +0000 https://www.rhino-inquisitor.com/?p=10453 The holiday period was quiet for a long time regarding Salesforce B2C Commerce Cloud releases. This was because the monolithic system required the deployment of all components, which carried the risk of bugs.  However, more options are now available with multiple “layers” in the Headless architecture. Each layer can have its release schedule, and some […]

The post New APIs and Features for a Headless B2C Commerce Cloud appeared first on The Rhino Inquisitor.

]]>

The holiday period was quiet for a long time regarding Salesforce B2C Commerce Cloud releases. This was because the monolithic system required the deployment of all components, which carried the risk of bugs. 

However, more options are now available with multiple “layers” in the Headless architecture. Each layer can have its release schedule, and some layers are more modular than others, allowing for finer-grained releases that will not impact the rest (at least in theory).

Major new releases are happening for the first time during the holiday season. And it’s pretty exciting!

Managed Runtime

Storefront Preview

The “Shop the Future” feature seems to have been on the Wishlist since the release of the PWA Kit. This feature was highly sought-after by merchandisers as it allowed them to set up promotions and content in advance and see how they would appear on the site.

However, it can be challenging to implement this feature without the right APIs in a Headless or Composable Commerce setup. Fortunately, this challenge can be overcome with the “Shop the Future” and “Shopper Context” options provided by the SCAPI.

This is a big win for any project already on or going to the Composable Storefront!

Here is a guide to get you started on setting it up.

Changes for the future

Headless and Composable architectures bring great flexibility for the future but pose particular challenges in monitoring and analytics. One of the significant challenges is consolidating data from multiple entities.

Salesforce has now made it mandatory to specify the back-end you connect from your storefront. This will eliminate guesswork and ensure correct logging is sent to the Log Center linked to the respective environment.

Automatically forwarding logs to the Log Center offers multiple benefits to Salesforce support and users of the Composable Storefront. With this feature, logs for HTTP requests made on production-marked environments are automatically sent, enabling them to anticipate better and troubleshoot any issues that may arise.

PWA Kit v3.2.1

With the changes happening in the managed runtime, two new releases have happened in the past month of the PWA Kit:

Besides the Storefront Preview feature, there are changes to how “Content-Security-Policy” is managed in this release. Be sure to review the changes as they are significant.

OCAPI & SCAPI

Shopper SEO - Headless URL Resolution

There is a new API in town. SiteGenesis and SFRA have had the ability forever to resolve any type of URL that you configured in the Business manager, and automatically redirect the user to the right place! 

But for the PWA Kit or Headless projects, that piece of magic was always missing – until now! 

Meet the new URL Resolution API!

I believe that in the future, we will witness endpoints to address some of the gaps that exist compared to SFRA. I have also learned that an upcoming feature will enable direct resolution to the SCAPI payload rather than just the relative ObjectID.

Stores

A drawing of retail stores connected by lines; in this case, the lines are Ethernet cables referencing the REST APIs to fetch the store data in Headless applications.

If you remember, the SCAPI release included a “Shopper Stores” group that allowed developers to build their own Store Locator in Headless scenarios. 

Unfortunately, this feature was short-lived and disappeared soon after. However, with the Stores API now back in action, developers can again use the “Shopper Stores” group to create custom store locators that meet their specific needs. 

This significant development will be welcomed by those eagerly waiting for this functionality to return. I only question how quickly this will make it into the PWA Kit priority-wise. Maybe this could become one of the more extensive community contributions. Who knows?

More on the horizon?

I received some exciting news about new APIs that Salesforce is currently developing. A custom object API and site preferences API are in active development and are expected to be released in the next cycle. 

What APIs would you like to see? Maybe it is … (slowly walks over to the next section)

Time for Feedback

Have you ever felt helpless when you couldn’t provide feedback on a product? Worry no more! 

Salesforce is looking for your valuable feedback on their Composable Storefront. They want to hear your honest opinion – the good, the bad, and everything in between. Your feedback will help them improve their product and make it even better. 

What are you waiting for? Share your thoughts and help Salesforce build a product that meets your needs!

The post New APIs and Features for a Headless B2C Commerce Cloud appeared first on The Rhino Inquisitor.

]]>
Release Notes Archives - The Rhino Inquisitor nonadult
Salesforce B2C Commerce Cloud 23.10 Release: A Comprehensive Overview https://www.rhino-inquisitor.com/salesforce-b2c-commerce-cloud-23-10-release-a-comprehensive-overview/ Mon, 02 Oct 2023 12:35:45 +0000 https://www.rhino-inquisitor.com/?p=10175 It’s a yearly tradition not to release major updates during the holiday season to maintain platform stability, so here we are with the final release of 2023. This time, we look at the October 2023 (23.10) release! Are you interested in last month’s release notes? Click here! Temporary Baskets You can now create temporary baskets for […]

The post Salesforce B2C Commerce Cloud 23.10 Release: A Comprehensive Overview appeared first on The Rhino Inquisitor.

]]>

It’s a yearly tradition not to release major updates during the holiday season to maintain platform stability, so here we are with the final release of 2023. This time, we look at the October 2023 (23.10) release!

Are you interested in last month’s release notes? Click here!

Temporary Baskets

You can now create temporary baskets for immediate order requests in B2C Commerce. For example, a shopper uses a Buy Now option to purchase an item. The temporary basket, which has a limited lifetime of 15 minutes, is populated with all the data required to ready the basket for checkout without affecting the regular shopper basket.

How: Use the basket script API to enable temporary baskets. The supported basket functions include pricing, promotions, coupons, inventory, shipping methods, order creation, and reopening an order.

The new feature that allows for multiple baskets is a game-changer. I recall the hassle of having to manipulate transactions frequently to perform real-time calculations without interfering with the current basket, or having to work with custom objects. But now, those days are behind us!

Here are the new APIs:

The SCAPI/OCAPI have not received any updates despite the official documentation still stating the same:

Each customer can have just one open basket. When a basket is created, it is said to be open. It remains open until either an order is created from it or it is deleted.

But I hope this will be changed with standard APIs in the future, or once we have full access to the custom API option for POST/PUT/…, we can build them ourselves!

Platform

Get Einstein Recommendations for Large Product Catalogs

Einstein is standing in the middle of a warehouse lane, looking at the camera.

Commerce Cloud Einstein now generates recommendations for product catalogs that exceed 3 million product SKUs. Einstein Product Recommendations enable you to create and manage recommenders and assign strategies that predict the most relevant products to promote to individual shoppers.

How: If you have a product catalog that exceeds 3 million product SKUs, Commerce Cloud Einstein compiles a reduced list of 3 million product SKUs by default–no action required. To compile the list, Einstein uses sorting and filtering logic based on pre-defined criteria. Einstein recommendations are generated from this list. If your catalog exceeds 3 million product SKUs, and you want to ensure that products matching specific criteria appear in the reduced product list, contact Commerce Cloud Support.

Having a large catalog and providing the right recommendations can be challenging. This change supports an even larger catalog, making it an excellent improvement.

Renew eCDN Certificates in Business Manager

You can now use Business Manager to auto-renew up to five proxy zone eCDN certificates per realm. The new feature simplifies the annual renewal for eCDN certificates. If you use custom certificates, you can easily switch to auto-renewing certificates in the Business Manager UI. When you create a CDN zone, you can select to use eCDN Managed certificates.

Is that Let’s Encrypt in the screenshot? This new feature will make life a lot easier! Forgetting to upload a certificate can have serious repercussions – so having this automated (for supported services) is a welcome change!

OCAPI & SCAPI

Updated infrastructure layers and routing

Updated infrastructure layers and routing rules for SCAPI requests to use fewer hops in the network.

Recently, there has been some “architectural refactoring” which involved removing and changing some components. Unfortunately, there isn’t much information available about this.

However, this is happening on the v1 of the APIS and it doesn’t require any action from the customers’ end. But if you notice any new bugs or peculiarities – report them!

Custom Query Parameters in SCAPI

Introduction of new custom query parameters: c_[yourparameter] can now be defined on SCAPI requests and is routed end to end. Parameters are available in hooks for custom control logic.

A highly requested feature to expand the possibilities of custom hooks has been added, providing greater flexibility and supporting more use cases in headless.

Update Main Product Variants for a Bundled Line Item

You can now update a main product variant in a bundled line item. This change allows shoppers to select a main product variant when adding a bundled line item to a cart. For example, a product bundle contains a belt and a T-shirt. The T-shirt is a main product with red, blue, and green variations. When the shopper adds the product bundle to a basket, the belt and T-shirt are added as bundled items, and the shopper can select a T-shirt color, one of the T-shirt variants. Previously, the API didn’t support selecting a main product variant when a main product was included in a line item bundle.

You can update these properties using (PATCH /baskets/[basketId]/items/[itemId]) .

  • productId
  • isGift
  • giftMessage
  • Custom properties

The support for headless scenarios is essential as the Composable Storefront gains more prominence in customer projects. Therefore, it is a great addition. However, it is unclear whether this support is for the OCAPI, the SCAPI, or both. 

Since the SCAPI has a different release log, it is suspected that the support is for the OCAPI, which flows through to the SCAPI as it is a layer on top of the OCAPI.

Does someone care to experiment and let me know?

Account Manager

Email Notification of Changes to Inactive User Settings

As part of the Auto Disable Inactive Users feature, an email notification is sent to users when the Inactive User settings are activated or deactivated. An email is also sent when the Days Before Deletion settings are changed on the organization detail page. The email is sent to the email address entered in the Contact Users field on the organization detail page.

There isn’t much to say about this feature, but it’s important for users to be aware of its automatic nature.

Enable Read Only Account Manager Access

The Read Only Account Administrator role is now available in Account Manager. The role provides users read-only access to view details about their organization, API clients, and users. The role doesn’t include permissions to make updates. The new role is useful for auditors who want to confirm compliance with their company policies. High-privilege roles such as Account Administrator or API Administrator override the new role.

A new feature in the Account Manager allows viewing of critical configuration without editing access. A great new addition to the roles in my opinion!

PWA Kit v3.1.1

This minor release is packed with enhancements and bug fixes to help you build better commerce experiences.

@salesforce/[email protected]

  • Updated commerce-sdk-isomorphic to v1.10.4 for improved performance and stability.
  • Streamlined the development process by moving typedoc-related dependencies to dev dependencies (Issue #1425).

@salesforce/[email protected]

  • Fixed a critical issue with the Checkout Card Number in V3 (Issue #1424).
  • Cleaned up incorrect import paths for the page-designer component (Issue #1441).
  • Modularized the country code source for targeting via extensibility (Issue #1445).
  • Exported an icon helper function for targeting via overrides (Issue #1420).
  • Migrated Page Designer core types to commerce-sdk-react (Issue #1441).

@salesforce/[email protected]

  • Resolved a performance issue caused by webpack stats in V3 (Issue #1391).

The post Salesforce B2C Commerce Cloud 23.10 Release: A Comprehensive Overview appeared first on The Rhino Inquisitor.

]]>
Transforming the Future with the 23.9 Release and Custom SCAPI Endpoints https://www.rhino-inquisitor.com/a-look-at-the-23-9-commerce-cloud-release/ Mon, 28 Aug 2023 07:35:34 +0000 https://www.rhino-inquisitor.com/?p=9935 We are getting closer to the holiday period, and also one of the last releases of the year! This time we look at the September 2023 (23.9) release! Are you interested in last month’s release notes? Click here! Custom SCAPI endpoints in 23.9 This update is truly a game-changer for Commerce Cloud customers! With the introduction […]

The post Transforming the Future with the 23.9 Release and Custom SCAPI Endpoints appeared first on The Rhino Inquisitor.

]]>

We are getting closer to the holiday period, and also one of the last releases of the year! This time we look at the September 2023 (23.9) release!

Are you interested in last month’s release notes? Click here!

Custom SCAPI endpoints in 23.9

This update is truly a game-changer for Commerce Cloud customers! With the introduction of custom endpoints, we can fully customise Headless use cases, allowing for even more flexibility and control. AND without using a workaround!

Previously, hooks were the only way (through tweaking existing endpoints). But now, the possibilities are endless! And the best part? An open beta is available before the update freeze, so we can start exploring and testing this new feature immediately. 

Development

sfcc custom endpoints

The development of custom endpoints will look a lot similar to how we build hooks:

  • A mapping file (like hooks.json)
  • A script file (Development is similar to controllers and hooks)
  • A service schema file (The contract)

Another big thing to mention is that, if you look carefully at the screenshot, you can easily version your services for backwards compatibility!

Roadmap (Forward Looking Statement)

The ability to create custom GET endpoints is released together with the documentation.

The feature is officially released and recommended by Salesforce to be used in Production use cases (long story short, wait untill the holiday period is over before releasing your production use cases).

Support is added for PUT, PATCH, POST and DELETE functions to support any headless use case.

Besides supporting more methods, some other features will be added:

  • Caching
  • Script API helper functions
  • Code generation for artefacts
  • AM OAuth
  • TSOB & TAOB

Paving the way for a Headless future

From a Headless perspective, Salesforce Commerce Cloud had much to catch up on compared to other platforms (which shall not be named 😎). But this area is rapidly evolving, and it was a necessary one. As customers interact with many different channels than just the storefront, other channels need to have a way of interacting with the platform – and usually that is through an API! 

Giving developers and customers the freedom to customise is powerful. It also simplifies third-party integrations with Composable Storefront, and I expect more movement to happen in that area after this release!

As a bystander, it is noticeable that all “the rest” is not getting much attention, looking at the release notes of the past two months. But, understandably, decisions of priority have to be made.

Platform

Improve Product Search Result in Japanese

You can now enable a new language analyzer for Japanese locales in B2C Commerce. The new analyzer supports advanced methods for search query tokenization. This enhancement provides more relevant search results for product searches in the Japanese language. It also reduces the merchandising effort to optimize storefront search for Japanese locales. For example, setting up additional synonyms and search dictionary entries.

How: To enable the new analyzer, in Business Manager, select site | Merchant Tools | Search | Search Indexes | Language Options. Select Japanese-Improved as the language analyzer for Japanese locales. An index rebuild is NOT required after this update. To change the analyzer setting requires the permission to update a Business Manager Search Indexes module

A screenshot of the Language Options in the Salesforce B2C Commerce Cloud Business Manager showing the new "Japanese Improved" option in the dropdown.

A new and exciting addition for Japanese customers. It is important to find the right product to ensure good conversion rates and improve customer experience.

Business Manager

Improve Code Profiler Tracking

The Code Profiler Script API calls (shown as SCRIPT_API) are no longer measured when using Production Mode. This change improves code profiler tracking without causing performance issues.

A screenshot of the code profiler prior to the 23.9 release.

Having “Production Mode” with less impact on performance will positively affect the TTFB (Time To First Byte), though it is not stated anywhere how much this will affect the storefront percentage-wise.

You can still access this information in other modes within 23.9, which are more useful for performance debugging.

OCAPI & SCAPI

Custom Shopper Login IDPs (SLAS)

  • Default IDP configuration allows for SSO/OIDC configuration with other IDPs outside the list of SLAS supported IDPs. Configuration can be performed via the Admin API or Admin UI. For more information, see Configure a Default IDP.

  • Preferred IDP configuration cleanup and functionality added to Admin UI.

This a massive update to IDP support in SLAS and a very welcome one. Before, we were limited to integrating with IDPs officially supported by SLAS, but now it is possible to bring your own!

Shopper Login (SLAS)

  • Addressed a limitation in plugin_slas integration with SLAS around Merge Cart for Guest to Registered flow.

  • For the getSessionBridgeAccessToken endpoint, the returned TokenResponse now correctly includes the enc_user_id attribute.

  • As part of our efforts to scale the SLAS service for temporary holiday volume, registered shopper refresh tokens (new and existing) are valid for only 45 days beginning the week of August 7. This applies to shopping apps integrated with SLAS, and to shoppers who have not returned to the shopping app at least one time in the last 45 days. This temporary state ends on September 15. After September 15, registered shopper login tokens resume their full 90-day standard duration. Ideally, customers should be Shopper Guest sessions, and B2C Commerce basket retention is not affected in any way.

The SLAS sessions will be limited to 45 days until September 15th, which was also mentioned in last month’s release notes – and a very important one to take note of.

PWA Kit Nightly Builds

If you want to know what is cooking, check out the nightly builds that are now available!

https://github.com/salesforceCommerceCloud/pwa-kit#%EF%B8%8F-nightly-builds

Updated Cartridges & Tools

b2c-crm-sync (v3.0.3)

Salesforce B2C Commerce / CRM Sync is an enablement solution designed by Salesforce Architects to teach Salesforce's B2C Customer Data Strategy for multi-cloud use-cases. The solution demonstrates a contemporary approach to the integration between Salesforce B2C Commerce and the Cloud products running on the Salesforce Customer 360 Platform.

  • Rename lib/_common/request/_createOCAPIAUthRequestDef.js by @jbachelet in #235
  • Fix/173 by @jbachelet in #237
  • Change b2ccrm_syncResponseText from set-of-string to JSON to reduce the performance impact on high-scale brands by @jbachelet in #251
  • Bump word-wrap from 1.2.3 to 1.2.4 by @dependabot in #250

sfra-webpack-builder (v3.4.5)

Webpack can be cumbersome to setup, especially in multicartridge projects for SFRA. This plugin let you bundle all your js, scss and jsx files out of the box.

  • configure release it bumber (becbeab)
  • chore: init release it (7816af8)
  • Fix: Deprecate node-sass in favor of sass (dart) Upgrade dependencies Fixes #96 (58de1a0)
  • Merge pull request #95 from SalesforceCommerceCloud/main (9c4a8f5)

The post Transforming the Future with the 23.9 Release and Custom SCAPI Endpoints appeared first on The Rhino Inquisitor.

]]>
What is new in the 23.8 Commerce Cloud release? https://www.rhino-inquisitor.com/what-is-new-in-the-23-8-commerce-cloud-release/ Thu, 27 Jul 2023 13:28:13 +0000 https://www.rhino-inquisitor.com/?p=9700 Everyone knows that getting ready for the holiday season starts in the summer in the Commerce Cloud world! And looking at the 23.8 release notes, this is apparent.  Are you interested in last month’s release notes? Click here! Infrastructure and Scaling Those who have reviewed the release notes may not notice many new additions to explore […]

The post What is new in the 23.8 Commerce Cloud release? appeared first on The Rhino Inquisitor.

]]>

Everyone knows that getting ready for the holiday season starts in the summer in the Commerce Cloud world! And looking at the 23.8 release notes, this is apparent. 

Are you interested in last month’s release notes? Click here!

Infrastructure and Scaling

Those who have reviewed the release notes may not notice many new additions to explore in the 23.8 release. However, upon closer inspection, it becomes apparent that the emphasis has been placed on improving infrastructure and scalability, which could account for the absence of fresh features.

Let’s take a look!

PWA Kit (3.1.0)

The latest release of the PWA Kit now allows for the conditional enabling of cookies within Managed Runtime. Previously, cookies were not allowed on SSR requests, optimising performance but limited use cases where cookie data was required.

With this new functionality, you can enable cookies per environment and modify their application logic and response via ssr.js. This means that after a customer logs in, the experience can be altered by setting the cache control header to private and leveraging the cookie on the response.

To enable cookies, set the allow_cookies attribute on an environment with the projects_target_partial_update endpoint and use PWA Kit version 3.1.0 or greater.

With this new update, we get more flexibility to support use cases! It is crucial, however, to think about performance, as this can potentially lower your cache-hit ratio!

OCAPI & SCAPI

Get Accurate Allocation Amounts with a Null Allocation Payload

PATCH and PUT /product_inventory_records/{product_id} now supports a null allocation payload while keeping accurate account of product allocation amounts and allocation reset date. Previously, sending a Patch or Put call to set a custom inventory record attribute using a null allocation payload resulted in an invalid reset date.

Salesforce has implemented a bugfix in the Inventory API to ensure that the allocation reset date remains in a valid state and does not become invalid. There is not much else to report about this update.

SCAPI

  • Optional query parameter locale, is now supported for mergeBasket, transferBasket and all delete endpoints in Shopper Orders and Shopper Baskets, with the exception of deleteBasket.
  • PaymentCardSpec includes a new field securityCodeLength. This is available in the response for Shopper baskets - getPaymentMethodsForBasket and Shopper Orders- getPaymentMethodsForOrder endpoints.
  • Coming soon: mergeBasket and transferBasket response will no longer include the property notes. Previously, this property was sent with an empty value in the response.
  • Fix coming soon: mergeBasket will return an HTTP 409 error response no-source-basket-exception if the guest's basket has already been ordered. Previously, the ordered guest basket was merged with the new basket.
  • Shopper Search productSearch now correctly handles storefront search queries with the & character and considers all terms before and after the &. Previously, the search query was incorrectly truncated before the & character and subsequent terms were missing in the query.

More support for the “locale” parameter should make many people happy! 

Nothing else to report except future bugfix statements and actual bug fixes. And, of course: scalability and infrastructure improvements.

SLAS

  • SLAS Infrastructure and scale improvements.
  • SLAS Admin UI improvements related to user search and get user statistics.
  • Fixed logout implementation. SLAS to OCAPI calls no longer fail throwing (ClientAccessForbiddenException)
  • As part of our efforts to scale the SLAS service for the upcoming holiday volume, temporarily, starting the week of August 7th, registered shopper sessions are valid for only 45 days. This applies to shopping apps integrated with SLAS, and to shoppers who have not returned to the shopping app at least once in the last 45 days need to relogin. This temporary state will conclude until September 15. After September 15, registered shopper login sessions will resume their full 90 day, standard duration. Shopper Guest sessions and B2C Commerce basket retention is not affected in any way.

As I previously stated, the emphasis is on enhancing infrastructure and expanding scalability. However, it is essential to note that SLAS will now only maintain active sessions for 45 days instead of the previous 90 days until September 15th. If you are using SLAS in your projects, please keep in mind this temporary change.

Account Manager

  • Security Fixes
  • Bug Fixes
  • Infrastructure Updates

A bit of familiar maintenance has happened on the Account Manager. But not to worry: there is more!

UUID API Access Tokens Deprecated

I have written extensively on this topic before, so it’s not something new. The due date has already passed and your only recourse now is to use JWT.

Specify Enhanced Domain Names In Account Manager

A screenshot showing how Salesforce Identity allows you to log in with other services, which is part of the updates in 23.8

You can now configure Identity Federation with Salesforce Identity in Account Manager using supported enhanced domain names. You can specify the organization MyDomain subdomain name in Salesforce Core. The default domain suffix is my.salesforce.com. If the identity federation is allowed or enforced, you can change the value. For example, if you use a Salesforce Core sandbox, you can use sandbox.my.salesforce.com as the domain suffix.

This is a great new feature if you’re using or planning to use Salesforce Identity.

If you are unfamiliar with it, you can have a single login for multiple Salesforce products. So depending on your situation, this is one to look into!

Stricter rules for API Client Passwords

For stronger passwords and better security, new password requirements are now enforced for Account Manager API Clients.

To ensure better security, there are new password requirements in place. Passwords must be at least 12 characters long and have a minimum complexity that includes three out of four – numbers, symbols, lower case, and upper case.

Passwords cannot include any part of your name, username, or UUID.

Auto Disable Inactive Users

Compliance with PCI DSS 8.1.4 requires that Account Manager user accounts are disabled when their accounts are inactive for 90 days. To support compliance with PCI DSS 8.1.4, Account Manager administrators can now set the number of inactive days before an account is disabled. When the setting is enabled, users with inactive accounts receive an email notification 10 days and 1 day before their account is deactivated. To keep an account active, users can log in to any Commerce Cloud application. To enable the setting, in Account Manager > Organization details, activate or deactivate the setting. The setting is disabled by default.

One of the benefits of using Salesforce Commerce Cloud is that users don’t have to concern themselves with infrastructure or compliance with various regulations, in this case: PCI DSS 8.1.4.

Remember that with this change, inactive accounts will be automatically disabled after 90 days of inactivity, but not deleted!

Updated Cartridges & Tools

resource manager (v2.0.1)

This cartridge contains a Business Manager module that allows editing, translating and publishing of resource bundles.

  • Version 2.0.1 is here! This version contains a slew of updates and improvements.
  • Added OpenAI translation support – you can now translate your keys and bundles using ChatGPT
  • Updated Webpack and added development config
  • Added ‘address’ sample bundle from SFRA
  • Refactoring of client-side code
  • Various UI improvements
  • Upgrade to the latest compatibility mode (22.7) to support template literals
  • Update README.md with the latest changes, recent screenshots and OpenAI setup instructions
  • Feature/translation support by @sfelius in #17

The post What is new in the 23.8 Commerce Cloud release? appeared first on The Rhino Inquisitor.

]]>
Release Notes Archives - The Rhino Inquisitor nonadult
A deep-dive into the 23.7 Commerce Cloud release https://www.rhino-inquisitor.com/a-deep-dive-into-the-23-7-sfcc-release/ Wed, 28 Jun 2023 07:47:03 +0000 https://www.rhino-inquisitor.com/?p=9316 It’s summertime, which means we get to check out the fresh release of the Salesforce B2C Commerce Cloud. Join me as we delve into all the new features of the July 2023 (23.7) release. Are you interested in last month’s release notes? Click here! Environment Variables are now live on Managed Runtime Environment variables allow you to add […]

The post A deep-dive into the 23.7 Commerce Cloud release appeared first on The Rhino Inquisitor.

]]>

It’s summertime, which means we get to check out the fresh release of the Salesforce B2C Commerce Cloud. Join me as we delve into all the new features of the July 2023 (23.7) release.

Are you interested in last month’s release notes? Click here!

Environment Variables are now live on Managed Runtime

Environment variables allow you to add variables into the application process running in an environment, without having to make code changes. Environment variables are stored securely, making them ideal for use cases such as:

  • API keys for third-party integrations
  • Feature flags for application logic
  • Configuration that differs between environments

Great news for users of Composable Storefront! You can now use the much-awaited feature of securely managing “secrets” and variables per environment!

Currently, the API is the sole choice that is minimally (for now) documented here.

Improve Product Discoverability with the Google Inventory Listings Cartridge

A screenshot of the Google Local Inventory ads depicting two shoes and their location.

The Google Inventory cartridge is a B2C Commerce direct integration cartridge. You can use the cartridge to list your local store products on Google’s free product listings. Shoppers can discover products in stores near them. This increases local store foot traffic

In today’s world, it’s essential to connect with customers at multiple touchpoints. Among these touchpoints, Google stands out as one of the most significant. By showcasing your products in proximity to Google searches, you can attract both new and loyal customers to your physical stores or online shop. 

It’s a proven strategy that can help your business stand out from the competition. You can download the cartridge to add to your codebase here to get started.

Business Manager

Receive Rejected Order Alerts in Business Manager

B2C Commerce Business Manager now displays an alert notification when orders are rejected by Salesforce Order Management. Users with access to the Business Manager orders module receive the alert and can review and act on rejected orders. The alert is also available in Slack when you connect your Business Manager instance to Slack.

A much-needed update in the platform to be warned that one of the orders was not synchronised with Salesforce Order Management!

Now we do not have to manually go to the page to see if an order was sent. But let us hope we don’t get any warning at all!

Configure Up to 10 Categorization Conditions

A screenshot of the categorization rules in the 23.7 release

When configuring a categorization rule in Business Manager, you can now set up to ten categorization conditions per categorization rule set. Previously, Business Manager supported five conditions per rule set while the API supported ten conditions per rule set.

This latest update gives us greater control and precision over the products automatically assigned to a specific category. 

OCAPI & SCAPI

Configure Promotion Search Refinement with OCAPI and SCAPI

You can now refine promotion searches in B2C Commerce OCAPI and SCAPI. Use the promotion search refinement APIs to generate and display results that help shoppers discover products that are on sale or part of a promotion.

The description may be brief, but there’s good news – a support-only feature switch previously available for SG/SFRA has been enabled for headless implementations, enabling filtering based on promotions.

Here are the steps to get started with this:

  1. Enable and configure it
  2. SiteGenesis/SFRA Code Changes
  3. New “pmid” refinement for SCAPI

Development

Get Coupon-Based Promotions with New Script API

The PromotionMgr.getActiveCustomerPromotions(boolean ignoreCouponCondition) script API returns all active promotions including coupon-based promotions when ignoreCouponCondition set to true. You can use the returned promotions to expose promotions on your storefront. For example, display a callout message for coupon-based promotions on product detail or product list pages.

Although it may seem minor, this update is actually quite significant as it grants us greater flexibility in terms of how we present promotions and campaigns to customers!

Script API Sort Methods Are Stable

As required by ECMAScript 2019, the B2C Commerce Script API methods Array.sort() and Array.sort(function) are now documented as stable, so equal elements aren’t reordered as a result of the sort.

Not much to say about this, but being closer to the Official JS rules is never a bad thing!

New Ideas

Just a gentle reminder to vote for your favourite new ideas to be added to the Commerce Cloud roadmap!

PWA Kit v2.7.3

  • Add support for ES module import statements in ssr.js #1284
  • Support Node 18 and NPM 9. #1265

This a minor release to ensure this version is compatible with the latest Node version (18), as the older versions will be deprecated soon!

PWA Kit v3.0.0

We’ve added lots of new features to PWA Kit v3, including:

  • 🔨 Template extensibility: Greatly reduce your project's code footprint and reduce development toil, cost of ownership, and future upgrade headaches. For more details, see the Template Extensibility guide!
  • 🪝 @salesforce/commerce-sdk-react "hooks" integration: Decouples API calls from a project's implementation, allows API calls to be upgraded as an npm library dependency, and brings along many of the great features (including state management, and others) via TanStack Query. See the the Commerce SDK React docs to get started!
  • ⚛ Major vendor library updates, including support for React 18, Node 16 / 18, Chakra 2, and more.

This a long-awaited update, bringing many new treats to development. With the new template extensibility options, we can now start overriding just like in SFRA… or at least something that looks like it.

Next to that, many updates to libraries and support for the latest stable Node version. One of the libraries is a favourite of mine: TanStack Query (or React Query), which makes state management a breeze with APIs.

Bugfixes

Currently, many known issues exist in the state “Solution in Progress“, so let us patiently wait until they are deployed!

Updated Cartridges & Tools

Compiling a list of updates has become more challenging since cartridges are no longer sourced from a single location…

b2c-tools (v0.18.0)

b2c-tools is a CLI tool and library for data migrations, import/export, scripting and other tasks with SFCC B2C instances and administrative APIs (SCAPI, ODS, etc). It is intended to be complimentary to other tools such as sfcc-ci for development and CI/CD scenarios.

  • All requests now use a (Version identified) b2c-tools user-agent
  • JSDoc refactoring and resulting bug cleanup by @clavery in #112
    • checkJs is on now
  • set code version to active code version if not found in env vars by @sandragolden in #113

The post A deep-dive into the 23.7 Commerce Cloud release appeared first on The Rhino Inquisitor.

]]>
A look at the Salesforce B2C Commerce Cloud 23.6 release https://www.rhino-inquisitor.com/a-look-at-the-salesforce-b2c-commerce-cloud-23-6-release/ Thu, 25 May 2023 06:26:10 +0000 https://www.rhino-inquisitor.com/?p=9054 The weather (at least here) is giving us more sunshine, so let us shine a light on the next Salesforce B2C Commerce Cloud release! This time we look at the June 2023 (23.6) release! Are you interested in last month’s release notes? Click here! Enhance Storefront Search Scale and Performance Enhance the scale and performance of […]

The post A look at the Salesforce B2C Commerce Cloud 23.6 release appeared first on The Rhino Inquisitor.

]]>

The weather (at least here) is giving us more sunshine, so let us shine a light on the next Salesforce B2C Commerce Cloud release! This time we look at the June 2023 (23.6) release!

Are you interested in last month’s release notes? Click here!

Enhance Storefront Search Scale and Performance

Enhance the scale and performance of storefront search for keyword search and product browsing with the new B2C Commerce search settings option. Improve page load times for large product catalogs when processing search results that exceed a configurable threshold. Shoppers get quicker results when performing a keyword search, refinement calculation, product grouping, sorting, and category browsing. For example, if your storefront doesn’t use search refinement counts in the refinement bar, a setting is available to improve refinement calculation and search and category page load times.

How: To activate the new search settings, contact Salesforce Customer Support or work with your Technical Account Manager and Customer Success Group representatives. Salesforce recommends that you test the new functionality on a development or dedicated test instance before enabling them on a staging or production environment.

If you have been in the eco-system for a while, you may have noticed that the built-in search engine did not get much love (visibly) in the past few years. Looking at the past two months, that appears to have changed!

Your site’s performance is a very important aspect, and seeing that more options to fine-tune search to our specific needs is excellent!

But what does Salesforce mean by “large product catalogs”? Well, that means more than 1 million products in your catalog. But there are still a few questions that I have that are open on this topic:

  • Does this impact OCAPI/SCAPI performance as well?
  • If you have less products, is it still a feature you would want to activate? Are there benefits?
  • What options are there?

I hope more information will pop up in the documentation soon, as this is a welcome improvement!

Platform

Validate Hostnames for Certificates

B2C Commerce now validates the hostname in the HTTPS certificate for outgoing connections. Validating the hostname eliminates the chance that a connection is made to the wrong host. To identify failed verifications, search the logs with the keyword phrase: Host name verification failed. This validation can be disabled on specific requests using the new setHostNameVerification method on the HTTPClient script API.

Time to re-evaluate all your third-party integrations! An extra validation step has made its way to the HTTPClient. Luckily you have a “quick fix” available: disabling it through code.

OCAPI & SCAPI

Shopper Login (SLAS)

  • Updated the getTrustedAgentAccessToken endpoint to make the agent_id parameter optional.
  • Updated the SLAS Admin UI with specific error messaging for issues with logging into Account Manager.
  • Private clients now support grant_type=authorization_code in addition to grant_type=authorization_code_pkce.
  • Removals of customer records in B2C Commerce are now synchronized with SLAS. If a customer record is deleted in B2C Commerce, this change is recognized by SLAS.
  • Infrastructure and scale improvements to handle higher transaction volume for the upcoming holiday season.
  • NEW SLAS-Marketing Cloud SMS for Passwordless login is ready! See Passwordless Login with SMS to get started.
  • Improved exception handling for invalid passwords. Returns 400 with clear messaging.
  • The /userinfo endpoint now handles extended UT_08 character set.
  • The /userinfo endpoint now allows trusted system on behalf (TSOB) access tokens.
  • Security library updates.
  • Deprecated the CredQuality API.
  • Improved Guest Shopper validation to allow B2C Commerce IDP origin for session bridge.
  • Session Bridge: fixed 500 server error on incorrect hint. SLAS Admin UI: Fixed issues related to Tenant ID format check at browser level.

No month goes by without new additions to the SLAS service. As the Composable Storefront (and hybrid deployments) get more traction, this service needs to get some “love” and provide the flexibility brands need.

A significant change here is that there is now an automatic synchronisation of deleted customers to SLAS, which required manual API calls before. 

And another is the Marketing Cloud integration for passwordless login via SMS! If you are a multi-cloud customer, this is one to look at (if you have use cases where this makes sense, such as in-store kiosks where someone doesn’t just want to enter their password in public)!

Set Up Custom Firewall Rules with the CDN-API

To enable better rule enforcement, the B2C Commerce CDN-API now supports custom firewall rules. The API also provides custom firewall controls to target traffic from a specific path or user agent. Custom firewall rules is a superset of existing firewall rules, it will replace the existing firewall rules for IP, ASN, Geo, the existing firewall rules will be deprecated by February 1, 2024. All firewall rules will be deprecated by February 1, 2024.

Have you been desperate for more control of the eCDN firewall? It seems Salesforce has some good news for you!

With this new feature, you can block or challenge traffic based on dynamic rules you control!

Set Up CDN Logpush

You can use the CDN-API to store firewall events and CDN logpush for HTTP requests in your S3 bucket for immediate log visibility. The API supports visibility of HTTP requests and firewall events in the CDN logs. The logs are also available for eCDN implementations.

Getting access to all of the eCDN logs has been a “drag”. Doing it manually via the Business Manager or API was quite the time-sink to set up.

With this new system, it is possible to push batches of up to 100.000 records to an Amazon S3.

New Ideas

Some great new ideas popped up on the ideaexchange, be sure to give it a gander and vote!

PWA Kit v2.7.1

“smaller” release made its way to the Composable Storefront the past month with some nice new updates:

Several changes and improvements have been made in the latest release notes. Here’s a summary of the most significant updates:
 
  1. Phased launch with optional session bridge call: An optional session bridge call has been added to the login process, allowing for a smoother phased launch of new features.
  2. Product-list refinements: Enhancements have been made to product-list handling, including support for multiple types, improved isChecked functionality, and better management of query parameters.
  3. Fixes for multi-value query parameters and basket issues: This release addresses issues with multi-value query parameters being lost and makes the mergeBasket conditional more robust, resolving basket problems when a new account is created.
  4. Security package updates and bug fixes: Several security package updates have been implemented, along with various bug fixes to improve overall system stability.
  5. Mobile-friendly phone number input: The phone number field type has been changed to bring up a numeric keyboard on mobile devices, making it more user-friendly.
  6. Address listing improvements: Preferred addresses are now listed first, streamlining the user experience when selecting shipping or billing addresses.
  7. Modal handling and cart functionality: The update prevents modals from opening when adding an item to the cart fails, ensuring a smoother shopping experience.
  8. Performance improvements and fixes: Various performance enhancements have been made, including webpack build improvements, fixing Page Designer ImageWithText Link component issues, and addressing a local dev memory leak issue in the retail react app.
  9. File handling and static file serving: Fixes have been implemented for file collisions between client-side and server-side JavaScript files and improvements to static file serving.

Updated Cartridges & Tools

Sandbox Launchd (v1.0.0)

Automatically Start & Stop your Sandbox when your macOS device Boots, Shuts Down, Wakes & Sleeps.

Another new project by Peter Schmalfeldt to make us even more lazy by booting and shutting down our sandboxes automatically!

b2c-tools (v0.17.0)

b2c-tools is a CLI tool and library for data migrations, import/export, scripting and other tasks with SFCC B2C instances and administrative APIs (SCAPI, ODS, etc). It is intended to be complimentary to other tools such as sfcc-ci for development and CI/CD scenarios.

  • support local/offline page designer page export in cli 
  • migration script standard input support / logging levels

plugin_slas (v7.0.0)

This cartridge extends authentication for guest users and registered shoppers using the Shopper Login and API Access Service (SLAS).

A significant update has happened to SLAS, with too many changes to note down! If you use this plugin or plan to implement it, look at this release!

SFRA Webpack builder (v3.4.1)

Webpack can be cumbersome to setup, especially in multicartridge projects for SFRA. This plugin let you bundle all your js, scss and jsx files out of the box.

A bugfix release, so nothing to note here.

The post A look at the Salesforce B2C Commerce Cloud 23.6 release appeared first on The Rhino Inquisitor.

]]>