ohej

Announcing Alfresco Content Services SDK 4.0 and 3.1!

Blog Post created by ohej Employee on Mar 28, 2019

I'm pleased to announce the availability of SDK 4.0 and 3.1.

 

The artifacts have been released to Maven Central. It might be a few days until the global archetype catalog updates, but read on for more details on how to get started today!

 

This release will enable developers to extend and customize Alfresco Content Services 6.0 and 6.1. In addition, the SDK 3.1 release brings a number of bug fixes as well as a few highly requested features.

 

Please note

SDK 4.0 is only compatible with ACS 6.0 and 6.1.

If you wish to extend and customize ACS 5.2 or older, please use SDK 3.1.

 

Building on top of the first beta of 4.0  that we released in January, we received a lot of feedback and we appreciate all the involvement, contributions and feedback.

 

SDK 4.0 brings changes to the underlying logic for running and testing your customizations. This means that the SDK now leverage containers to launch the full suite of Alfresco Content Services. By leveraging Docker containers we make it easy to start additional services, such as Transform Service, Search Services and much more.

 

If you are already familiar with SDK 3.X you will feel right at home. We still offer the All-in-one archetype, as well as platform-jar and share-jar archetypes. The project structure changed slightly to accommodate for the Docker setup, and the pom.xml has changed.

 

Key changes and improvements:

  • Two new sub modules introduced for All-in-one: platform-docker and share-docker. These modules provides the required setup in order to extend the ACS Docker containers with your customizations
  • A new Docker folder contains a docker-compose.yml file. This file is filtered by Maven to easily enable switching between versions
  • SDK 4 no longer depends on the Alfresco Maven Plugin since all runner logic is moved to Docker
  • Full support for ACS 6.0 and 6.1, both Enterprise and Community
  • Submodules are now renamed to be prefixed with the project
  • Full support for JRebel for hot reloading
  • More commands via run.sh / run.bat

 

Getting Started

We have a new getting started guide in the documentation, if you just can't wait to get your hands into the code here are a few things you need:

  1. Java 11
  2. Maven 3.3+ (we always recommend using the latest version)
  3. Docker

 

Note: If you are on Windows 7, you will need to install Docker Toolbox.

 

Once you have all three installed you can create an All-in-one with the following command:

mvn archetype:generate -DarchetypeGroupId=org.alfresco.maven.archetype -DarchetypeArtifactId=alfresco-allinone-archetype -DarchetypeVersion=4.0.0

 

In a few days once the global archetype catalog gets updated you'll be able to use the same old command: mvn

archetype:generate -Dfilter=org.alfresco:

 

Please have a look at the documentation and feel free to ask questions or raise an issue (or even better, a pull request!)

 

SDK 3.1

In addition to releasing SDK 4.0, we have also issued a minor release of the 3.x branch.

 

You can view the full list of closed issues here, but the main highlight here is that there is now a new goal in the Alfresco Maven Plugin which will only build the WAR files with your customizations applied.

 

Furthermore, SDK 3.1 now allows you to control the order AMPs are applied to the WAR file. When you define your platformModules and shareModules in your pom, the last defined will be the last to be applied.

 

If you have existing SDK 3.0 projects you can easily upgrade by simple changing the <alfresco.sdk.version /> property in your pom.

 

I want to thank everyone who contributed, we received a record number of pull requests from our wonderful community. We really appreciate it!

Outcomes