Title | Added | Last reviewed |
---|---|---|
What's new? |
v2.1.1 |
2019-01-17 |
Alfresco SDK 4.0 brings some changes oriented to assist the way the customizations are built, packaged, run and tested for Alfresco Content Services 6 and Alfresco Share 6.
This is a mayor release oriented to support Alfresco 6, so it is not compatible with previous versions of the SDK.
The main change included in SDK 4.0 is the addition of container technologies. Specifically, the new SDK is highly based on Docker and Docker compose to offer a solution aligned with the architectural decisions made in Alfresco for version 6: moving towards microservices-oriented solutions.
Working with Docker images gives the developers the opportunity to easily customise the deployment of the local environment to adapt it to their requirements. Adding, removing and configuring services in the environment is as easy as modifying the Docker compose descriptor file.
Java 11 is the next Long Term Support (LTS) version that provides support for 3 years. Alfresco 6.1 already offers support for this version of the Java platform.
Alfresco SDK 4.0 has been modified to add support for Java 11 as well. This way, if you're working as a developer in customisations for Alfresco 6.1 you must now use SDK 4.0 + JDK 11 to work on them. The Apache Maven plugins included in the archetypes has been updated to avoid any issue with Java 11.
The configuration of the Maven dependency management has been greatly improved thanks to the addition of a bill of materials (BOM).
The inclusion of the BOM dependency in the dependencyManagement
section of the pom.xml
file of the projects generated using the archetypes imports all
artifacts in the selected Alfresco platform version. It is still needed to define dependencies in the POM files, but the version can be omitted as it's
enforced by this dependencyManagement
.
That incredibly eases the management of the versions of the different Alfresco platform's dependencies required in a customisation project.
Alfresco SDK 4.0 manages the lifecycle of the generated projects making use of proper utility scripts
(run.sh
/ run.bat
). That avoids the need of using the Alfresco Maven Plugin and eases the process to modify the lifecycle of the customisation projects.
If a development team has straightforward requirements and doesn't want to worry about the complexity of working with containers, it can use the utility scripts as they are. But, if any development team has a requirement or a development process that requires a customisation in the project development lifecycle, it is easy to modify the utility scripts, the Docker files or the Docker compose descriptor to adapt the SDK projects to their needs.
The Alfresco Maven Plugin is only required in those cases in which it is required to package the customisation project as an AMP. For more information about how to work with AMPs, please visit Working with AMPs.
The integration tests and the mechanisms to execute them in an Alfresco Content Service instance remains the same as in the previous version of the SDK.
However, the inclusion of Docker and the utility scripts provides a different perspective about the environment on which the integration tests are executed. In this version, the integration tests are run against the dockerised environment defined using Docker and Docker compose. By doing so, the integration test environment can be more similar to a real one, including whatever other service is required for a full featured integration test execution.