This document assists with planning and estimating migrations from ICM 7.10 to ICM 11+.
Tools support the migration of project source code cartridges to reduce the effort required for the migration, see ICM Migration Support.
Documentation: Overview - Migration Guidelines
ICM Migration tools: https://github.com/intershop/icm-migration-support
Migrations from the Responsive Starter Store to the PWA, and from Solr to SPARQUE are outside the scope of this document.
General overview of the scope covered in the estimation guide
Included | Not Included (Customer-Specific) |
|---|---|
|
|
The following table lists migration tasks to be performed when migrating from ICM 7.10 to ICM 11+, based on the assumption that the tools will be used wherever tool support is available (indicated by the checkmark in the table).
Note
This list is provided for guidance only. It may not be complete and is not legally binding. Customers/partners are responsible for identifying and including all required migration activities during their own estimation and plans.
Migration Step | Calculation Base | Tool Support |
|---|---|---|
Precondition: Migration to ICM 7.10 base version for ICM 11 migration Base versions for ICM 11+ migrations are ICM 7.10.38.29 and all later 7.10 versions. The effort increases with the age of your current ICM 7.10 version. | Required only if project is on ICM 7.10 version < 7.10.38.29:
| |
environment.bat.example and icm.properties.example By default, there are no gradle_environment.bat/.sh and icm.properties example files anymore. Tool: ICM Migration Support, 001_migration_7x10_to_11/901_CreateEnvironmentExampleFiles.yml Manual Task: Adjust example files. In each local DEV environment, create the actual files from it. | The tool already creates project-specific example files. Effort calculation based on adjustments made in these files. |
75% tool coverage |
Structure of directories in a cartridge The directory structure within a cartridge has changed. Tools:
| Effort calculation based on amount of cartridges |
90% tool coverage |
build.gradle replaced by build.gradle.kts The build.gradle files contained in each cartridge’s root folder migrated to build.gradle.kts: Kotlin syntax, ICM 11+ content/syntax, changed libraries/versions/cartridges Tools:
| Effort calculation based on amount of cartridges |
90% tool coverage |
Feature (ft_*) cartridges Feature cartridges are new in ICM 11. Such cartridges did not exist in ICM 7.10. Approach “Runnable Feature”, “Demo Feature”, “Test Feature”:
Alternative approach using one feature cartridge per environment:
Manual Task: Add dependencies to project cartridges | Effort calculation based on approach | |
Application Suite (as_*) cartridges Application Suite cartridges configure and integrate multiple application types to form a complete business scenario, e.g.: as_headless, as_backoffice, as_sldsystem, as_smc Manual Task: Connect the business functionality with the application types | Effort calculation based on amount of applications using custom cartridges and number of custom cartridges added to each application | |
ICM cartridge dependencies Cartridges might need to declare more dependencies in the build.gradle.kts. Manual Task: Declare missing dependencies | Effort calculation based on amount of cartridges | |
Storefront REST API The implementation of the REST APIs has changed. Manual Task: Check implementation of all changed/overwritten REST APIs For effort estimation, count the overwritten implementations of intershop.WebShop.RESTAPI.*. | Effort calculation based on amount of customized REST APIs | |
*.resource files in share/system/config/domains “Test System Configuration Solution Kit” (pf_configuration_fs) resource files need to be migrated to *.properties files and wired in configuration.xml files. Tool: ICM Migration Support, 001_migration_7x10_to_11/050_MigrateConfigResources.yml | Effort depends on the amount of .resource files in config/domains/** |
95% tool coverage |
Custom Deployment Files deployed to share/system/config, deployment instructions and custom fixes. There are no deploy.gradle and assembly/build.gradle files in ICM 11+, and custom files cannot be deployed to share/system anymore. Tool: ICM Migration Support, 001_migration_7x10_to_11/010_MoveFiles.yml Manual Task: Handle remaining files and all deployment instructions For effort estimation, count:
| Effort calculation based on amount of deployment instructions, files, and custom fixes |
50% tool coverage |
Attention Points
Manual Task: Create/use/include alternative implementations/tools | ||
Staging/replication environment/framework Changes are required for replication.xml, replication-clusters.xml, etc. for general replication as well as for the setup of staging on the local DEV system. Manual Task: Follow instructions in Guide - 7.10 - 12 Replication and Staging Adaption | Effort depends on the complexity of the individual staging process | |
Logging AppServer messages and Managed Service errors/requests/responses Log only important information using log levels ERROR, WARN & INFO. Tool: Move logback configuration Manual Task: Adapt the log configuration to the aggregation framework as needed by project | Effort calculation based on amount of custom log files and adaptations of the log configuration | |
Migration to ICM 12 Tools:
| Effort calculation based on amount of Java code |
95% tool coverage |
Migration to ICM 13 Remove ~150 deprecated methods/variables/constants/classes, etc. Tool: ICM Migration Support, 003_migration_12_to_13/005_ClasspathResourceFileCopier.yaml Manual Task: Follow instructions in Guide - 13.0.0 API Changes | Effort calculation based on the uses of removed/changed APIs |
90% tool coverage |
The following table lists additional potential efforts for a migration project.
Project Activity | Proposal for Estimation |
|---|---|
Setup and Preparation Developer ramp-up/training for ICM 11+ | Online training about migration tools and AI support: https://public.academy.intershop.com/plus/catalog/courses/450 Gap training for new projects: https://public.academy.intershop.com/plus/catalog/courses/348 |
Setup of local developer environments (Setup and configuration of new AKS environments) | Local developer environment per developer Setup and base configuration of new AKS environments (INT, UAT, PROD) will be done by the Intershop Operations Team (OPS) |
Testing Test Preparation | Depends on what already exists (automatic tests, QA policies, etc.) and needs to be updated |
Test and Bugfixing
| Depends on amount of code changes and scope of QA |
Rollout Preparation
| Create a cutover checklist and plan in collaboration with Intershop Operations Team Final check of configuration, esp. Build/CI/CD Helm charts |
Cutover
| Execute cutover plan, hypercare on demand |
Management and Coordination Project Management | Depends on your specific project policies, guidelines and processes, project duration, team size, and technical complexity |
Technical Lead Engineering | Depends on your specific project policies, guidelines and processes, project duration, team size, and technical complexity |
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.