Hi! I made a successful migration from 5.6 to 6.1, but I was expecting to have changes in my app (configuration maybe) so I could take it and deploy it in any 6.1 server.
How can I achieve this? What does exactly do the upgrading tool?.
Each release comes with release notes which helps us with what have added/removed from the product.
I hope this would help you.
Hi Kautuksahni, thank you for your answer.
What I need to know is what's happening behing these commands, taken from this migration guide:
java -jar AEM_6.1_Quickstart.jar -unpack java -jar AEM_6.1_Quickstart.jar -v -x crx2oak java -jar AEM_6.1_Quickstart.jar -v -x crx2oak java -Xmx4096m -XX:MaxPermSize=2048M -jar AEM_6.1_Quickstart.jar -v -x crx2oak -xargs -- -o migrate java -jar AEM_6.1_Quickstart.jar -r author,crx3,crx3tar
If I know exactly what's going on, I could fully migrate the app to 6.1, not just the installed instance in the aem.
these commands are performing various OAK operations. I am not sure that level of operations yhou are looking for are documented. However - once done - you should be able to deploy your app onto the new instance of AEM. But as always- when upgrading your AEM apps - be sure to fully test them. In some cases - your code may have depreicated APIs, For example - in 5.x - you could use code like this to get a session:
ResourceResolver resourceResolver = resolverFactory.getAdministrativeResourceResolver(null);
session = resourceResolver.adaptTo(Session.class);
IN AEM 6.x - this is deprecated. New way is described here:
This is the type of issue you need to check for.
Hi smacdonald, thank you for the answer. One last follow up question:
What's happening to the app when I execute
java -jar AEM_6.1_Quickstart.jar -r author,crx3,crx3tar
What's happening to the app? I checked that there is no difference in the source code, but does the server recognize it as a 5.6 app and does something about it?. Or nothing happens and the real thing is in the /content migration (may be a new structure as the crx changes)?
As well as upgrading the repository you also need to upgrade your application code, to remove deprecated API's, remove loginadministrative etc. Some users helpfully created pages on their experiences 
Have you reviewed the deprecated and removed features page
Hi Opkar, thanks for the reply.
One of my co-workers found the problem (or at least that's what we think), there are bundles missing in the fresh 6.1 comparing to the migrated instance of 6.1 (from 5.6). He installed the missing bundles, but he still has an exception:
Error Message: org.apache.sling.api.scripting.ScriptEvaluationException: javax.servlet.ServletException: java.lang.Error: Unresolved compilation problems: Only a type can be imported. com.mrm.cq.mrmwp.components.ComponentCssConfiguration resolves to a package Only a type can be imported. com.mrm.cq.mrmwp.components.ComponentADTMConfiguration resolves to a package ComponentCssConfiguration cannot be resolved to a type ComponentCssConfiguration cannot be resolved to a type ComponentADTMConfiguration cannot be resolved to a type ComponentADTMConfiguration cannot be resolved to a type
How could we fix this?.
Have you tried building your app using Maven archetype projects. At the AEM API level - there should be no Java APIs that cannot run in AEM 6.1. What Java APIs are you having issues with ? I recommend trying to build some of the OSGi bundles and deploying to AEM 6.1.
Hi, I deployed all the bundles, but no luck.
The one that fails is a custom bundle, I've just rebuilt it, but no luck. I'm using java 7.