cancel
Showing results for 
Search instead for 
Did you mean: 

Does SDK version matter?

Einar
Champ on-the-rise
Champ on-the-rise

Hi!

While working on an upgrade from ACS 5.2 to 7.2 I have been tasked to make sure all extensions still work. During this period the Alfresco SDK has gone from 2.2 to 4.4, and I noticed that some of the extensions work right out of the box when applied to 7.2 despite using SDK 2.2. My question is this: Does the SDK version impact the final result or is it more of an update for better assisting in development of extensions? What would be the dangers of not upgrading SDK version of an extension and applying it to 7.2? 

Thanks in advance for any help.

3 REPLIES 3

abhinavmishra14
World-Class Innovator
World-Class Innovator

Yes, for ACS 6.x onwards SDK 4.x is recommended. There has been significant changes and even how the amps are built. 

Please note that SDK4.x is based out of containerized deployment model so you should understand docker and containerized deployment model as well.

This blog post would be helpful : https://hub.alfresco.com/t5/alfresco-content-services-blog/deploying-and-running-alfresco-content-se...

To get basic idea of DockerFile, refer: 

https://dzone.com/articles/understanding-dockerfile

https://docs.docker.com/engine/reference/builder/

To get basic idea of docker-compose.yml, refer: https://docs.docker.com/compose/

~Abhinav
(ACSCE, AWS SAA, Azure Admin)

Is there any resource anywhere specifying the changes? I looked through the blog post but it did not really answer my question.

In my mind the .jar/.amps should not be affected by whether or not the deployment is containerized as they will still attach themselves to the exploded war. I basically want to know the specific dangers of continuing to use an extension that was developed with an earlier SDK. Recommended is not equal to required, so I want to have the information before making a decision.

abhinavmishra14
World-Class Innovator
World-Class Innovator

There were some structural changes on how amps are packaged so in general terms, an amp built using sdk2.x may not fully work on ACS6.x or ACS7.x.

AFAIK, i am not aware of any specific documentation on this apart from what I already shared. This is based on experience.

Even ACS5.2 has most compatible SDK version that is SDK3.x. However artifacts built using sdk2.x still works. Under the hood it was mainly update on additional features and tomcat version.

When you upgrade from a lower version, it is always a good idea to use the compatible sdk as well.

~Abhinav
(ACSCE, AWS SAA, Azure Admin)