SAP Commerce Cloud 2211 got release November,2022 and still under Continuous innovation. There are already patches on (so far 3rd patch 2211.3 as of today). I would like to share simple steps to migrate to Commerce 2211 with our experience of migration and challenges we faced.
The very first thing to note that Commerce cloud 2211 version is cloud only version. If there is any customer in On-prem with prior version but would like to upgrade commerce to 2211, the commerce cloud needs to be upgraded to Cloud first, then only the commerce engine could be upgraded to 2211 version else, customer can upgrade till the last On-prem version 2205 (till date announced by SAP) considering the EMM is May 31, 2024. You can refer the Supported releases here.
You can find all defined steps to upgrade Commerce cloud platform from 2205 to 2211 here at SAP support portal
A. Software required / Software compatibility:
- Search Engines:
|SAP Commerce Cloud Version||Current Update Releases||Supported Solr Versions|
*SAP Commerce Cloud supports the latest patch version of SAP Commerce cloud and the Solr version that is shipped with it. But you want to be with specific solr version, you can do the same through manifest.json file
- Node.js : SAP Commerce Cloud supports 14, 16 & 18 Node.js versions
- SAP Commerce Cloud 2211 requires JDK 17 or later. It is fully compatible with SAP Machine 17
We often update tomcat general properties, if you have prior version tomcat.general properties overridden in your local.properties, please make sure, you get the same OOTB from platform/project.properties and append as needed. There was a large drop in JDK 14 with the removal of the Concurrent Mark Sweep (CMS) garbage collector. All those CMS collectors* (CMSInitiatingOccupancyFraction, CMSClassUnloadingEnabled, UseCMSInitiatingOccupancyOnly etc.) was deprecated in JDK 9 and was removed in JDK 14. As SAP Commerce cloud is on JDK 17, you need to remove all of those from your local.properties on tomcat.generaloptions.
It’s recommended to get the tomcat.generaloptions property details as OOTB under platform/project.properties and append properties as needed **.
*You can find those CMS collector removal details
** You can find more details on garbage collection here
C. OpenAPI 3.0 upgrade:
SAP Commerce cloud 2211 supports OpenAPI 3.0 and you need to consider compatibilities associated with it. You need to migrate your webservices and occ/occaddon extensions. Please be remembered, you need to update each webservice and occ services considering OpenApi changes as well as swagger-annotations to newer version 2.2.2***.
***You can find all those OpenApi, swagger compatible annotations here
D. XML Schema validator issue accessExternalSchema’ is not recognized
Property ‘http://javax.xml.XMLConstants/property/accessExternalSchema’ is not recognized
You can find a KBA on SAP site on the same at 3292249 but it shares areas to look to resolve the issue.
The issue occurs due to external jar( xerces) dependency. The accessExternalSchema is defined in JAXP 1.5 but Apache xerces does not support it anymore.
We did the follow things to resolve the issue
- Removeall direct and indirect dependencies on the Xerces library (xerces**.jar) dependency so that default Xerces implementation bundled with the JRE 17 will be in effect
- Modifyfew codes base as we were using xerces for Base64 encrytion and decryption for SSO
*There is another option to set system properties javax.xml.parsers.DocumentBuilderFactory to use the internal JAXP DocumentBuilder but we couldn’t make it well
E. Missing CatalogVersion _boconfig’: CatalogVersion with catalogId ‘_boconfig’ and version ‘hidden’ not found
You can resolve this issue by running following.
ant importImpex -Dresource=(Absolute path like C:\**\**\}\hybris\bin\modules\backoffice-framework\backoffice\resources\impex\essentialdataMediaCatalog.impex
Hope it helps you to accelerate your upgrade to the latest SAP Commerce cloud version 2211.
Stay tuned for more updates on 2211 upgrade.
If you have any feedback or suggestions, please feel free to add a comment below.