Commencing with the release of SAP Commerce Cloud 2211.0 at the close of 2022, the system has embarked on a dynamic journey marked by monthly updates. These releases not only introduce new features and functionalities but also address bugs and enhance security and compatibility, that have led to the current version of 2211.15. You can always find great summaries about the incremental advancements in the monthly release note, or the major new feature announcement table with the concrete details and links in the typical What’s New help page here
However, if you want to find out more beyond the brief summaries in the monthly notes, but don’t have much time to go over the concrete details of the new features row-by-row in the feature table? This blog post aims to provide a more detailed exploration of the latest features released from 2211.0 to 2211.15 for the year 2023, offering a not-so-brief summary for those technical users seeking a comprehensive understanding.
Note: you can also use this blog post as study material to attend the SAP Commerce Cloud Developer 2311 Stay Current program, to keep your SAP Commerce Cloud Developer Certification up2date.
If you are more interested in knowing the updates in 2023 but from a business user’s perspective, make sure to check this blog post here.
Before we start
Always make sure to check detailed information in the official help portal page of SAP Commerce Cloud and use the search field to find more documentation about the system (cf. below).
Now, let’s delve into the following areas to spotlight the most important new features released in the year 2023:
-
- Core/Platform
-
- Backoffice
-
- Commerce Module
-
- Omni Commerce Connect (OCC)
-
- CMS & SmartEdit
-
- Customer Support on Composable Storefront
-
- Intelligent Selling Services (ISS)
-
- Cloud Portal
-
- Integration API Module
Core/Platform
1. Updated SAP Commerce Cloud Compatibility Guide
SAP Commerce Cloud updated the groundbreaking Compatibility Guide, providing comprehensive information on the compatibility between various components and releases. This guide serves as a one-stop reference for users, detailing compatibility between add-ons, independent software vendor (ISV) products, extension packs, and composable storefront releases with different versions of SAP Commerce Cloud. Additionally, it outlines system and third-party software requirements, offering users a holistic view of the compatibility landscape and empowering them to make informed decisions regarding system configurations and extensions.
Please click to get into the first page of the compatibility guide and check through the documentation. But don’t forget to expand the explorer tree on the left (cf. below) to find out more information about the other important solutions of SAP Commerce Cloud.
2. Lazy Loading Relation and Collection Attributes
The introduction of lazy loading for relation/collection attributes in Models brings a finer level of configurability to service layer based implementation. This enhancement allows users to enable the lazy loading mode
-
- either globally through the property: servicelayer.lazy.collections=true (default is false) for all the relation/collection attributes,
-
- or via the property: servicelayer.lazy.collections.<Type>.<Attribute>.enabled=true for a particular relation/collection attribute of a certain type.
-
- E.g., if you want to enable the lazy loading mode for the addresses collection that is defined in the Company Model, you use use:
servicelayer.lazy.collections.Company.addresses.enabled=true
- E.g., if you want to enable the lazy loading mode for the addresses collection that is defined in the Company Model, you use use:
-
- or via the property: servicelayer.lazy.collections.<Type>.<Attribute>.enabled=true for a particular relation/collection attribute of a certain type.
However, when working with relation-based attribute, optimization can also be implemented using a custom DAO with a FlexibleSearch query. A very interesting scenario is explained in the “Lazy Loading Model Relations” section of Life Cycle of Models.
3. Control Behavior for ImpEx Imports during Initialization/Update
It is now possible to stop (or fail) the initialization/update process during data import errors of an ImpEx file. You only need to set
system.setup.create.data.fail.on.error=true
to enable this behavior.
This deliberate pause serves as a strategic measure to validate configuration integrity and ensure that the project data undergoes accurate processing. By stopping the system, you can meticulously investigate and rectify any issues that may arise during the crucial stages of data import, contributing to a more robust and error-resilient platform.
4. Configuration-Driven Approach to Performance Testing Tab in HAC
Since 2211.12, in SAP Commerce Cloud Administration Console (HAC) | Monitoring | Performance | SQL tab (cf. below screenshot),
The free-text input field for SQL statements is replaced by a dropdown list of pre-configured SQL statements based on custom properties (in e.g., local.properties). The definition of the custom properties follows the format
hac.performanceTest.statement.<ID>=<SQL statement>
E.g.:
hac.performanceTest.statement.selectFromProducts=SELECT * FROM products
Please note, the statement for execution can’t be defined at runtime directly (e.g., via configuration tab or scripting).
This shift enables a more streamlined and customizable approach to performance testing, while Improving security by reducing the risk of accidental data manipulation.
5. Improved Performance of Database Logging
Since 2211.12, in response to the diverse testing and local development environment needs, database logging is now disabled by default in standalone mode (including ant initialize, ant update, and ant integrationtest commands), This ensures that the generation of database audit logs is minimized during testing and in local environments.
You can enable database logging by adding a specific property
dbaudit.disabled.for.standalone=false
to the local.properties file.
This approach aligns with best practices, allowing users to selectively activate database logging when needed while prioritizing performance in development and testing scenarios.
6. Scheduler Watchdog
The Scheduler Watchdog introduces a robust mechanism to manage tasks in a clustered environment with multiple server nodes.
As the default strategy, the AuxiliaryTablesTasksProvider task fetching strategy is tailored for environments where a scheduler node and worker nodes collaborate to process tasks in the task queues. You can find a very descriptive diagram here to explain the working principle of the strategy.
Since 2211.8, to prevent multiple schedulers from executing operations concurrently, the scheduler watchdog monitors the activity time of schedulers. This ensures a coordinated and efficient task execution approach, particularly in clustered environments, enhancing the overall reliability and performance of task processing within SAP Commerce Cloud.
7. Content Security Policy Response Headers
Content Security Policy (CSP) headers, implemented in HTTP responses, serve to reduce the risk of code-injection vulnerabilities like XSS or clickjacking. These headers enable you to define the resources that a browser is permitted to render when users access your application.
Since 2211.4, Content Security Policy (CSP) response headers are integrated into web applications of selected extensions, such as hac, adminapi, oauth2, processing, etc.
In addition, this security measure extends to the ‘yempty’ extension, enabling users to create custom CSP headers for enhanced security in custom extensions. An example of a custom property for a custom extension <Ext Name> can look like this:
<Ext Name>.xss.filter.header.Content-Security-Policy=default-src 'self'; style-src 'self'
8. Invalidation of HTTP Sessions After Password Change
The configurable property:
invalidate.current.authentication.on.password.change
is introduced to address a critical security aspect: whether the HTTP session and token utilized during a password change should be invalidated immediately after the change.
Please note, This property is effective when used in conjunction with other properties, so make sure to check the properties table here for further information.
By leveraging this property, users gain granular control over the authentication mechanisms, enhancing security practices within the platform. This feature aligns with best practices for managing user sessions and access control in response to password-related events.
Backoffice
1. Backoffice Deep Linking Support
Since 2211.8, the Backoffice deep linking support is provided to enable users to navigate seamlessly to specific resources within the Backoffice environment. This enhancement introduces three types of deep linking functionality, including:
-
- perspective navigation:
-
- e.g.: https://mycompany.com/backoffice/#sapnavigate?perspective=pcmbackoffice navigate to the product cockpit of Backoffice. More ids of the default perspectives can be found in the documentation.
-
- perspective navigation:
-
- explorer tree page navigation:
-
- e.g.: https://mycompany.com/backoffice/#sapnavigate?perspective=hmc2&tree_node=hmc_typenode_catalog navigates to the catalog node of the administration cockpit.
-
- explorer tree page navigation:
-
- and the ability to open a specific item directly:
-
- e.g.:https://mycompany.com/backoffice/#sapopen?type=Product&code=779848&catalog=electronicsProductCatalog… opens the product with the specified code and catalog version.
-
- only a list of predefined types are supported out-of-the-box.
-
- It’s possible to provide deep link configuration for further types, by configuring a mapping between the URL parameters and the attributes in Commerce types in the Backoffice configuration (*backoffice-config.xml)
-
- and the ability to open a specific item directly:
Commerce Module
1. Solr 9 Upgrade
The upgrade to Solr 9 signifies a crucial step towards modernizing search capabilities within the platform. While Solr server 8 remains the default version (but only till Q4 2024), users are encouraged to migrate to Solr 9, which is set to be the sole supported version from Q4 2024 onwards.
This strategic move aligns with industry trends and emphasizes the platform’s commitment to providing users with the latest and most optimized search functionalities. Users are urged to undertake the upgrade promptly to benefit from enhanced features, performance improvements, and long-term support.
Omni Commerce Connect (OCC)
1. OCC V1 Deletion
The deliberate removal of OCC V1 since 2211.12 represents a significant step towards achieving a modern, headless commerce experience. This deletion streamlines the platform’s architecture, facilitating easier upgrades of back-end functionality. Users are encouraged to adapt their systems to the latest OCC version, embracing the evolving architecture that aligns with contemporary commerce paradigms and ensures a forward-looking, scalable foundation.
2. OCC API Enhancements for Bundles, Invoice Display, and Requested Delivery Date
The enhanced OCC APIs for:
-
- invoice display (when using this feature,make sure it is enabled in the base store)
-
- and requested delivery dates (when using this feature, make sure it is enabled in the base store as well)
expand the platform’s capabilities in delivering a customer-centric commerce experience.
By providing technical feasibility for supporting accelerator feature parity for bundles, displaying invoices that are created for an order on the Order Display page, and specifying preferred delivery dates during checkout, these API enhancements empower users to offer more personalized and efficient shopping experiences.
CMS & SmartEdit
1. Angular Upgrade
The upgrade from Angular 11 to Angular 15 in SmartEdit represents a leap forward in leveraging the latest web development technologies. This upgrade ensures compatibility with the latest Angular features, optimizations, and security patches.
Users are advised to consider the implications of this upgrade on their customizations and take proactive steps to align their SmartEdit implementations with the updated Angular version.
This proactive approach ensures a seamless transition and unlocks the potential for harnessing the latest capabilities in SmartEdit customization.
2. Version Check Added for Web Application Injector
The introduction of version checking for the Web Application Injector (webApplicationInjector.js) serves as a proactive measure to address compatibility issues between SmartEdit and the underlying storefront. By incorporating a version attribute in webApplicationInjector.js, users receive timely notifications when discrepancies in versions may hinder the correct loading of the storefront:
This enhancement empowers users to identify and resolve version-related issues efficiently, promoting a more stable and predictable SmartEdit and storefront integration.
Customer Support on Composable Storefront
1. Assisted Service Mode Enhancements
Both web services and the Composable Storefront have been upgraded with robust support for Assisted Service Mode. Notably, enhancements have been implemented to facilitate access and management of various aspects, including:
-
- Customer 360 Data: Comprehensive information such as general activities, product interests, active cart, saved carts, overview, profile, and support tickets.
-
- Customer Lists: more data for customer lists, as well as improved support for B2B customer lists.
-
- Customer Accounts: Streamlined management of customer accounts.
-
- Assigned Stores for Customers: Efficient assignment and unassignment of stores for individual customers.
-
- Customer Coupons: The ability to assign and unassign customer coupons.
-
- Support for Promotions and Coupons: Access to information on available promotions and coupons for customer support purposes in ASM 360 degree view.
These enhancements collectively contribute to a more versatile and empowered customer support experience on the Composable Storefront.
Intelligent Selling Services (ISS)
1. In-App Help
ISS introduces in-app help in the form of SAP Companion, a framework designed for user assistance in web-based applications. This feature enhances user onboarding and interaction by providing contextual help within the application itself
By leveraging SAP Companion, users can access relevant information, tutorials, and guidance directly within the ISS interface. This addition enhances the overall usability of ISS, facilitating a smoother and more intuitive user experience.
2. Integration Setup Wizard
A revised setup wizard in Intelligent Selling Services streamlines the integration process, allowing users to connect their ISS accounts to any site within their SAP Commerce Cloud instance with ease.
This setup wizard simplifies the traditionally complex process of integrating external services by offering a guided and user-friendly approach. Users can now configure the integration effortlessly, reducing the time and effort required to set up and activate Intelligent Selling Services.
If you want to learn the concrete steps about how to use the Integration Wizard to connect SAP Commerce Cloud with Intelligent Selling Services, you can check this blog post here.
This enhancement underscores SAP Commerce Cloud’s commitment to providing user-friendly tools for seamless integration with external services.
3. Replenishment Product Recommendations
ISS introduced a dynamic feature – Replenishment Product Recommendations.
This functionality leverages past purchase habits of customers to recommend products that are ordered repeatedly. By understanding and analyzing customer behavior based on deep learning, this feature adds a layer of intelligence to the merchandising carousel. It caters to customers’ preferences, streamlining the shopping experience and potentially increasing customer satisfaction. Merchants can tap into this predictive feature to enhance the relevance and effectiveness of product recommendations, aligning with modern trends in personalized shopping experiences. More information can be bound in the recommendation types’ page here.
4. Customized Pricing in the Merchandising Carousel
SAP Commerce Cloud enhances the Intelligent Selling Services by introducing support for customized pricing in the merchandising carousel.
This feature empowers merchants to configure customer-specific prices, providing a more tailored and personalized pricing strategy. By leveraging this customization capability, merchants can align their pricing with specific customer segments, offering a more targeted and relevant shopping experience. This feature not only enhances the flexibility of pricing strategies but also contributes to a more personalized and engaging customer journey within the Composable Storefront.
5. Additional Features in 2023
As of 2023, Intelligent Selling Services continues to evolve with the introduction of additional features. While specific details may vary, these additions are expected to contribute to the overall enhancement of ISS capabilities, providing users with more tools and functionalities to streamline their selling processes. Users are encouraged to explore the latest features to leverage the full potential of Intelligent Selling Services in creating engaging and personalized shopping experiences, such as Merchandising Reporting UI Enhancements, Product Filtering for Trending Products, etc.
Cloud Portal
1. Private Link Endpoints
Since 2211.4, Private Link Endpoints is provided and allows users to establish secure connections between SAP Commerce Cloud endpoints and resources in customer-owned Azure subscriptions. This capability enhances security by facilitating dedicated, secure network connections, minimizing exposure to potential threats. Users can configure and manage these private link endpoints, ensuring a secure and isolated environment for their SAP Commerce Cloud resources. This feature addresses the growing need for secure and controlled connectivity in modern cloud environments.
Please note, this feature is a restricted availability feature, which is not available to everyone.
2. Web Application Firewall (WAF) Lite
The introduction of the Web Application Firewall (WAF) Lite in SAP Commerce Cloud enhances the platform’s resilience against malicious attacks.
Configurable at both environment (cf. above) and endpoint levels (cf. below),
the WAF acts as a proactive defense mechanism, blocking potentially dangerous content before it reaches the production system. This robust and flexible solution provides an additional layer of security, reducing the risk of security breaches and ensuring the integrity of web application services in SAP Commerce Cloud. Users can tailor WAF configurations to their specific security requirements, striking a balance between security and application performance.
3. Expanded Blue/Green Deployment Availability
SAP Commerce Cloud expands the availability of blue/green deployment to all staging and medium sandbox environments.
This deployment strategy allows users to deploy a new build for testing before releasing it as the live build. By previewing the green deployment in a production-like environment, users can identify and address potential issues before releasing the build to customers.
But please note some essential aspects here:
-
- The green deployment supports only the Storefront and API services.
-
- The system disables the data backup and restore feature during a green deployment.
-
- A green deployment only has a single replica by default.
-
- The blue and green deployments both use the same databases.
-
- A green deployment is only available for two hours by default.
Additionally, the availability of related SAP Commerce Cloud build APIs enhances support for continuous integration and development practices. You can check the various support related to deployments to find out how to use the APIs to e.g. create a blue/green deployment. This expanded availability underscores SAP Commerce Cloud’s commitment to providing flexible and efficient deployment options for users.
More details can be found in the Blue Green Feature FAQ page.
4. Limited Number of Builds
The creation of builds in an environment may be subject to limitations.
In instances where attempting to create a build would surpass this limit, the system will prompt you to delete a specified number of non-deployed builds before allowing you to proceed with the new build creation. But please note, if you want to delete a build, it needs to fulfil the following requirements:
-
- Status must be SUCCESS or FAIL
-
- Not currently deployed
-
- Not currently included in a data backup
-
- Last modified date must be older than four hours
This feature ensures optimal resource allocation and streamlines build management processes, contributing to a more efficient development and deployment workflow.
5. Mandatory Multi-Factor Authentication
Due to heightened security requirements, SAP Commerce Cloud mandates the use of Two-Factor Authentication (2FA) for all new Cloud Portal users. This security measure adds an additional layer of protection to user accounts, requiring users to provide a second form of authentication beyond passwords.
By enforcing mandatory 2FA, SAP Commerce Cloud aligns with industry best practices for enhancing account security. Users are prompted to set up and configure 2FA during the account creation process, ensuring a robust authentication mechanism for accessing the Cloud Portal.
If a user loses the 2FA device and wants to reconfigure 2FA on a new device, they must reach out to the system admin to delete the user and re-create it again in the Cloud Portal. The new user can then log in to the portal to configure 2FA on the new device.
6. Deprecated Node.js Version
In alignment with the official Node.js lifecycle, SAP Commerce Cloud announces the deprecation of Node.js version 14. Users are encouraged to transition to Node.js version 18 to leverage the latest features, optimizations, and security updates. This proactive approach ensures that users benefit from ongoing support and compatibility with evolving technologies, mitigating potential security risks associated with outdated Node.js versions.
You can specify the Node.js version for your Composable Storefront applications globally or for a specific application. E.g., you can add the following line to the js-storefront/manifest.json to specify node.js version for all your static applications:
{
"applications": [
...
],
"nodeVersion": "18"
}
Or if the flag is missing, the most recent supported version is added by default.
7. SSO with IAS/IPS
Streamlined Single Sign-On (SSO) capabilities with the integration of SAP Identity Authentication Service (IAS) and SAP Identity Provisioning Service (IPS) have been introduced. This feature simplifies
-
- the setup of SSO
-
- and user provisioning functions,
providing users with a convenient and efficient way to manage user identities. Leveraging IAS and IPS, users can seamlessly configure and deploy SSO for their SAP Commerce Cloud environments, enhancing user experience and security. This integration streamlines identity management processes, ensuring a consistent and secure user authentication experience.
8. Files Download Support
The possibility to download important configuration files directly from the Cloud Portal is provided. This functionality includes a diverse range of file types, such as
-
- IP filter sets,
-
- website redirect sets,
-
- static files,
-
- security files,
-
- trusted certificates,
-
- SSL certificates,
-
- and host alias sets.
Users can access and download these files through the Cloud Portal interface, providing a convenient and centralized way to manage essential configuration elements.
This feature streamlines configuration management processes, enabling users to efficiently retrieve and update crucial files directly from the Cloud Portal.
9. Delaying Automatic Monthly Upgrades
Usually, you can specify which SAP Commerce Cloud version that you want to use:
{
"commerceSuiteVersion": "2211.16",
...
}
Now in addition to that, you have the flexibility to postpone automatic monthly upgrades by indicating a prior Commerce patch version in your manifest.json file. The application will then be built using the specified version identified with the property value.
{
"commerceSuiteVersion" : "2211",
"keepPriorPatchCount" : "2"
}
In the above example, if the current version is 2211.16, the version 2211.14 is going to be used in the build process.
Integration API Module
1. Plain Old Java Object (POJO) Integration Object
The Integration API module undergoes a transformative shift with the introduction of Plain Old Java Object (POJO) Integration Objects. This innovative addition heralds a new way for users seeking to model outbound business events with unparalleled effectiveness.
The POJO Integration objects utliize Integration Object Classes as a robust foundation, providing users with a versatile and flexible framework for event modeling in the Integration UI Tool of Backoffice:
By leveraging Integration Object Classes, POJO Integration Objects allow for the accommodation of various class types that extend the AbstractEvent type. This inclusive approach classifies a group of events, such as “order placed” or “item added into the Cart,” within the realm of business events. This adaptability significantly enhances the versatility of event modeling, catering to a diverse range of scenarios and use cases.
Please note, while POJO Integration Objects exhibit remarkable functionalities in handling outbound business events, they are deliberately designed for this specific purpose and, as such, are incapable of managing inbound requests. This intentional specialization streamlines their functionality, ensuring a focused and efficient approach to modeling outbound events.
2. Webhooks for POJO Integration Objects
A consequential addition to the Integration API Module is the introduction of Webhooks for POJO Integration Objects (since 2211.12). This functionality allows users to receive timely notifications in response to business events.
Webhook configurations can be tailored to match the eventType of the corresponding Integration Object Class type, directly in the creation wizard of Webhook:
But please note, this functionality needs to be enabled by the following property:
toggle.webhookservices.businessevents.enabled=true
3. Preventing Outbound Sync/Webhooks From Sending Items/Content to Inactive Consumed Destinations
toggle.outboundsync.destination.active.enabled=true
toggle.webhookservices.destination.active.enabled=true
Summary
This blog post explores SAP Commerce Cloud’s update highlights for the year 2023 since version 2211.0, catering to the needs of technical users. It covers improvements in core platform functionalities, Backoffice enhancements, Commerce-related updates, changes in Omni Commerce Connect (OCC), CMS & SmartEdit modifications, customer support advancements in Composable Storefront, Intelligent Selling Services (ISS) updates, Cloud Portal transformations, and integration-related features. The overarching goal is to equip technical users with a comprehensive understanding of the platform’s evolution, facilitating optimal utilization of its enhanced capabilities.