Identifying the Core Platform Features

Objective

After completing this lesson, you will be able to explain the latest technical updates and the Core Platform changes on SAP Commerce Cloud

Upcoming Technical Updates

A series of upcoming technical updates are planned to enhance performance, security, and usability. Here's a detailed look at what's in store:

1. JDK 21 & Spring 6 Upgrade

In the September 2025 update, SAP Commerce Cloud will upgrade its framework to JDK 21 and Spring 6. For customers running the August 2025 version on JDK 17, the validity period will be extended from six to twelve months, with security fixes provided until the end of Q2 2026. This is to ensure a smooth transition and maintain security standards.

2. Deprecated Accelerator UIs and OCC Template Extensions

Some extensions and modules were deprecated in 2205 and now SAP has announced that these UIs extensions, addons and templates will be officially deleted in Q3 2028, providing ample time for customers to transition to newer alternatives. More specifically, the related extensions are the following:

  • The Accelerator storefronts(UIs) and related addons (such as: yacceleratorstorefront, acceleratorstorefrontcommons, b2bacceleratoraddon, financialacceleratorstorefront, etc.)
  • The OCC Addon template extensions (e.g. yoccaddon, or any extensions based on it.

3. Deletion of Deprecated Cockpit Extensions

The removal of deprecated cockpit-related extensions (such as cockpit, admincockpit, cmscockpit, productcockpit, yacceleratorcockpits, etc.) is planned for Q3 2025. Users are advised to update their configurations to ensure continued functionality and support.

4. OAuth Replacement

Starting September 2025, the OAuth extension will transition to the Spring Authorization Server. UI and APIs will be updated to utilize the latest Spring Security support for OAuth2. The Spring Authorization Server does not support the Resource Owner Password Flow or Implicit Flow, following current OAuth security best practices. Existing usages of these deprecated flows must migrate to the Authentication Code Flow.

5. Composable Storefront Update

From February 2025 onwards, you must update to the latest version of the composable storefront, which includes Angular 19.

6. SmartEdit Upgrade

SmartEdit has been upgraded from Angular 15 to Angular 17. Further, it will be upgraded to Angular 19 starting June 2025. To ensure seamless functionality, make sure to update your SmartEdit customizations accordingly.

Core Platform & Framework changes

1. Tomcat 9 Upgrade

We’ve moved from Tomcat 8.5.x to the more robust Tomcat 9.x, enhancing security and ensuring compliance as Tomcat 8.5.x approaches its end-of-life in March 2024. Notably:

  • Tomcat 9 supports Java Servlet 4.0 instead of 3.1.
  • Additionally, the deprecated "org.apache.coyote.http11.Http11Protocol" protocol handler has been removed. Please adjust your custom server.xml configuration or take note of this change when creating custom connectors through the Tomcat API.

2. JUnit 5 Support

JUnit 5 support is now available, offering a modern and more flexible testing framework. By adopting JUnit 5, SAP Commerce Cloud enables you to enhance your tests through various new features and improvements provided by the latest version of the testing framework. These include annotation-based coding and parallel test execution. Make sure to check Upgrading to JUnit 5 for more details, especially, remember to set the following property to make sure tests are run by the ant yunitlauncher task instead of yunitint.

Code Snippet
1
tests.runner.legacy=false

3. Library Updates

4. Open Payment Framework Module

In 2211.30/32, the new low-code environment: Open Payment Framework has been introduced for integrating your go-to digital payment service providers seamlessly into transactional and acceptance payment flows. Connect payment solutions effortlessly with SAP commerce Cloud. Equipped with an intuitive user interface for configuring payment integration and customization, this cloud-based services framework will provide a powerful alternative to the current extension-based approach for enhancing payment functionality. Let's look forward to its further development announcement in H1 2025!

5. Validation of Attributes for Multiple Languages

Previously, the most restrictive constraint was validated across all languages for a single attribute. The new update ensures that constraints are evaluated separately for each language, offering more precise validation tailored to multilingual sites. This is achieved by ensuring that the java.util.Set returned by javax.validation.metadata.ConstraintDescriptor.getPayload() also contains language-specific payloads.

6. Type System Query Results Region Cache

A new dedicated region cache for type system query results minimizes database calls, resulting in better performance and faster storefront responsiveness.

Screenshot of the HAc monitoring section's cache tab, with a focus on the typeSystemQueryCacheRegion data.

As a result, the default setup of the SAP Commerce Cloud Region Cache contains the following six regions:

  1. Type system region: for type system items
  2. Entity region: for entities of all types except type system ones
  3. Query results region: for all query results
  4. Type system query results region: for results of queries containing references to the type system items (the first region)
  5. Media items region: for all media items
  6. Session region: for HTTP sessions

7. Error Handling During Initialization

It is now possible to control whether the initialization or update process should stop on data creation errors by setting:

Code Snippet
1
system.setup.create.data.fail.on.error=true

This ensures smooth operations while catching configuration issues early.

8. Disabling FlexibleSearch Restrictions

In 2211.30/32, you can globally disable FlexibleSearch restrictions for individual users and retain only group restrictions using:

Code Snippet
1
flexible.search.disable.individual.search.restrictions=true

This boosts performance by reducing database calls. However, it also disables any intentionally created user-specific restrictions.

In addition, it's also possible to further disable individual restrictions for specific user groups, use:

Code Snippet
1
flexible.search.disable.individual.search.restrictions.for.members.of=groupA,group

Please note, if no groups are listed, restrictions are disabled for all users.

Log in to track your progress & complete quizzes