The Intershop Knowledge Portal uses only technically necessary cookies. We do not track visitors or have visitors tracked by 3rd parties.
Please find further information on privacy in the Intershop Privacy Policy and Legal Notice.
Guidelines
02-Dec-2025
Guide - ICM Migration Support - ICM 11 to ICM 12 Migration Steps
Document Properties
Kbid
47887Z
Added to KB
02-Dec-2025
Status
online
Product
Intershop Commerce Management
Last Modified
02-Dec-2025
Public Access
everyone
Doc Type
Guidelines
Document Link
https://knowledge.intershop.com/kb/47887Z

This document outlines the migration process from ICM 11 to ICM 12. It includes the automated steps performed by the migration tool, as well as the manual steps required afterward.

Table of Contents

Preparation Steps

Prepare ICM 12 Branch

  • Ensure that the branch for migration is checked out in your local repository and is up to date with the remote repository.
  • Verify a successful Gradle build after applying the previous migration steps (from ICM 7.10 to ICM 11).

Automated Migration Steps

The automated steps for migrating from ICM 11 to ICM 12 are defined in: src/main/resources/migration/002_migration_11_to_12.

Example command:

gradlew migration:migrateAll -Ptarget=$ICM -Psteps=src/main/resources/migration/002_migration_11_to_12

Integrate OpenRewrite Recipes

Migrator: ClasspathResourceFileCopier

This adds Intershop's migration recipes to the root of the project for use with OpenRewrite.

Manual Migration Steps

Run OpenRewrite on the Migration Project

Run OpenRewrite to apply Jakarta EE migration recipes to the migration project:

gradlew --init-script rewrite.gradle rewriteRun

Note:
The migration process, especially when running OpenRewrite or other code transformation tools, may require a significant amount of memory.
Intershop recommends increasing the maximum heap size for Gradle by setting the GRADLE_OPTS environment variable, for example:
set GRADLE_OPTS=-Xmx4G (on Windows) or export GRADLE_OPTS=-Xmx4G (on Linux/macOS).

Applied Recipes

  • Migration to Jakarta EE 10
  • Migration to Java 21
  • Migration to Gradle 8
  • Migration to ICM 12
    • Migration of custom SAXParserPool
    • Migration of EncryptionManager
      • Note: Adjust the thrown exceptions in your custom code
    • Migration of ProductListResource
    • Migration of ProcessChain XSD
    • Migration of custom JobMgr implementation
      • Added method implementations for
        • setEnableJobProcessors(Collection<String>)
        • createJobCrontabTimeCondition(Domain, Date, String)
      • Note: Add implementation for method isJobAllowedOnServer(ServerInfo, JobConfiguration)

ISML Expression Adaption

  The ISML expression logic contained an evaluation failure if a conditional value was undefined. The issue was fixed in ICM 12, but requires an adaption of the ISML expressions in the project code.
  See [Guide - 12.x.x API Changes](https://knowledge.intershop.com/kb/index.php/Display/312H13) for more details.
Disclaimer

The information provided in the Knowledge Base may not be applicable to all systems and situations. Intershop Communications will not be liable to any party for any direct or indirect damages resulting from the use of the Customer Support section of the Intershop Corporate Website, including, without limitation, any lost profits, business interruption, loss of programs or other data on your information handling system.

Home
Knowledge Base
User Manuals
Product Releases
Log on to continue
This Knowledge Base document is reserved for registered customers.
Log on with your Intershop Entra ID to continue.
Write an email to supportadmin@intershop.de if you experience login issues,
or if you want to register as customer.