Content migration between any 2 Adobe Experience Manager(AEM) instances presents its own challenges, in some cases those are compounded by the method. In this post, I present a way to tackle content migration in offline mode using oak-upgrade. oak-upgrade module has been traditionally used to upgrade from JCR 2.0 to the Oak node store. With the newest AEM platforms shipping with the oak repository, it has found its calling in migrating content between them — sidegrade.
oak-upgrade is a Swiss army knife for copying content between virtually any repositories.
Below is a minimalistic rundown of the steps involved in migrating content between 2 repositories using oak-upgrade.
Both source and destination oak repositories are the same version. This is typically the case when both source and destination AEM instances are the same version. The oak repository version can be looked up at a few places.
/crx/explorer/config/index.jsp. Look for jcr.repository.version.
/system/console/jmx/com.adobe.granite%3Atype%3DRepository. Look for jcr.repository.version.
This information is also readily available in other areas of AEM like CRXDE|Lite homescreen. However, with CRXDE|Lite disabled on vital AEM servers this may be not easily accessible.