Saturday, April 8, 2017

In place upgrade of Adobe Experience Manager(AEM) to 6.2 version

In place upgrade of Adobe Experience Manager(AEM) to 6.2 version

This post will explain the steps to in place upgrade of Adobe Experience Manager(AEM) server to 6.2 version
  • Backup the current Adobe Experience Manager(AEM) instance
  • Copy aem-quickstart-6.2.0.jar next to current Adobe Experience Manager(AEM) crx-quickstart
  • Perform regular maintenance activities - including workflow purge
  • Run the Traversal check and Data store consistency check one by one - http://localhost:4502/system/console/repositorycheck
  • Disable custom login moduels if any - make sure the default login module is configured as below in crx-quickstart/repository/repository.xml
        <LoginModule class="com.day.crx.core.CRXLoginModule">
            <param name="anonymousId" value="anonymous"/>
            <param name="adminId" value="admin"/>
            <param name="disableNTLMAuth" value="true"/>
            <param name="tokenExpiration" value="43200000"/>
            <!-- param name="trust_credentials_attribute" value="d5b9167e95dad6e7d3b5d6fa8df48af8"/ -->
</LoginModule>
  • Stop the Adobe Experience Manager(AEM) server
  • Remove all log files under crx-quickstart/logs
  • chown -R aem:aem crx-quickstart(this command is required if AEM is running with different user)
  • su aem(this commad is required if AEM is running with diffrent user)
  • If you are migrating from AEM 5.x or AEM 6.0 with a CRX2 backend then follow URL - https://www.albinsblog.com/2015/09/upgrading-aemadobe-cq5-5.6.1-to-aemadobe-cq5-6.1.html
  • If you are migrating from AEM 6.0 with a oak backend or 6.1 then execute java -jar aem-quickstart-6.2.0.jar -r author,crx3,crx3tar
  • Monitor error.log and stderr.log – Once the migration is completed stderr.log will show the following message                                                                                                                           
          “Opening browser using cmd=x-www-browser "http://localhost:4502/"  || gnome-open                       "http://localhost:4502/"  || firefox "http://localhost:4502/"  || mozilla "http://localhost:4502/"               || konqueror "http://localhost:4502/"  || netscape "http://localhost:4502/"  || chromium-browser           "http://localhost:4502/"  || opera "http://localhost:4502/"  || links "http://localhost:4502/"  ||                lynx "http://localhost:4502/"
           Startup time:442 seconds
           http://localhost:4502/
           Quickstart started”

URL to check the version - http://localhost:4502/system/console/productinfo

Check the bundles in Installed state, most of the obsolete bundles will be removed after upgrade but some cases some of  the obsolete bundles will not be uninstalled - This can be ignored or uninstalled manually (better to compare the bundles with fresh 6.2 installation).Refer the following URL for details on obsolete bundles https://docs.adobe.com/docs/en/aem/6-2/deploy/upgrade/obsolete-bundles.html

Custom core bundles may not start due to the dependency issues. Refer the following URL for API difference between 6.1 and 6.2 - https://docs.adobe.com/docs/en/aem/6-2/develop/ref/diff-previous/changes/changes-summary.html

Update the maven dependency with correct version by identifying the version through depfinder -
http://localhost:4502/system/console/depfinder



The UberJar can be used to resolve the external AEM dependencies in the project instead of resolving the individual dependencies. Refer the following url for more details https://docs.adobe.com/docs/en/aem/6-2/develop/dev-tools/ht-projects-maven.html

Highlight of some of the issues observed after migration apart from the API issues:

Sidekick was not loading - NullpointerExcpetion while loading the sidekick components, the super user configured in the workflow config was missing. Refer the following url for more details https://www.albinsblog.com/2015/09/javalangnullpointerexception-null-at-WorkflowSessionFactory.isSuperUser.html

NullpoiterException while retrieving the ConfigurationManager service:
sling.getService was throwing NullpointerException while reteriving the ConfigurationManager service, in 6.2 sling.getService(ConfigurationManager.class) will not work to retrieve the service instead use resource.getResourceResolver().adaptTo(ConfigurationManager.class)

e.g (ConfigurationManager) sling.getService(ConfigurationManager.class); will fail with NullpointerException, replace this with resource.getResourceResolver().adaptTo(ConfigurationManager.class);

Custom tags are missing - after upgrade the custom tags defined under /etc/tags are missing
To fix the issue create the package of custom tags from existing environment and install to upgraded environment

Read only access for /etc folder is removed  for anonymous user - After upgrade the existing read only access for the anonymous user got removed due to that you may see some issue related to cloud services e.g Search&Promote while accessing the sites via dispatcher(Search is not working) - to fix the issue provide the required read only access to either anonymous or everyone user.

Touch UI is not working for all sites including OOTB sites - In AEM 6.2, Adobe had decreased the number of number of servlet/script calls per request to 1000. AEM will not render component for a page when this limit gets exceed, and we can’t see the component list on the left rail of the window.
Increase the number of servlet/script calls per request to higher than 1000 (may be 2000).
Navigate to “/system/console/configMgr” and search for “Apache Sling Main Servlet”. Update sling.max.calls value to 2000

Https URL' resulting with 404 - After upgraded all the https URL were resulting with 404 error, after analysis we have identify this was a product related bug and configuration change is required in dispatcher, refer https://forums.adobe.com/message/9906238#9906238 for more details.


No comments:

Post a Comment