I’m currently looking to upgrade from CQ 5.5 to AEM 5.6.1 for one of my clients, and one of the preparation steps in the Upgrading to AEM 5.6.1 guide states:
Remove custom application code. In some cases custom application code may interfere with the upgrade process. It is therefore recommended to remove custom code before upgrade and re-install the code after upgrade is complete.
Removing custom code from author instances is simple – just go into the Package Manager and uninstall the packages you want to remove. Easy. But what about the publish instances? Replicating an uninstalled package does not remove the nodes from the publish instances. Nor does manually installing then uninstalling the packages directly on the publish instances.
So what is the solution? From what I’ve read and heard, the unofficially ‘official’ way to remove custom code from the publish instances as well as the author is to create an empty package that contains filters to the paths/nodes you would like to remove. When you install this on the author it will delete the nodes indicated in the filter since the package itself is empty, and when you replicate this package, it will also delete the nodes from the publish instances.