Alfresco SDK 3.0 is here!

Alfresco SDK 3.0 was released in mid-March. Over the coming weeks, we will be making a few tutorial posts to cover some of the important differences and caveats between this new SDK version and the previous versions. Our hope is that this information will help developers making the switch to the latest version.

Here’s what you can expect to see in the new SDK:

Jar Packaging

AMPs aren’t gone, but having Jar packaging as the default package type allows developers to easily integrate their changes into an instance of Alfresco. AMPs are still recommended for use if the solution you’re developing is complicated or utilizes internal/third party dependencies. The AMP archetype is also still available as a maven archetype if you intend on starting from a fresh project as well.

Compatibility

Small one-line configuration changes allow users backwards compatibility back to the 4.2 platform version. Removing “-SNAPSHOT” from the <version> tag in the main pom will allow you to test between all platform versions without needing to modify module.properties to test with the 4.2 platform. It is important to note, switching between versions will require the removal of the “alf_data_dev” directory as it can cause issues with the plugin’s built in database.

Easy Upgrades

Future upgrades of the SDK will be faster and easier. Moving forward changing the SDK version will be as simple as updating the alfresco.sdk.version property in the main pom. This will make upgrading the codebase for your Alfresco project a breeze.

Alfresco Maven Plugin

The Alfresco Maven Plugin is now more robust than it once was. Inside the plugin’s configuration you can specify the database type to use, whether or not Platform, Share, or Solr will be used, and even whether the REST API Explorer will be used. You can rely on the platform modules configuration in order to handle the overlays and the integrated runner. The run command is now mvn clean alfresco:run, but there are other profiles to use other than run that will prove helpful. Use the command mvn alfresco:help for the full list of other commands as well as descriptions on their uses.

Integration testing

New integration testing first searches for a running Alfresco Platform instance, if one exists, it uses that to run its tests, if not, it’ll start one and run its tests. With the quick configuration in the main project pom to switch between Alfresco versions, it’ll make testing against multiple Alfresco versions a lot faster and a lot easier.

Simplified archetypes

Less files and less configuration. More time spent developing. This simplified structure makes it easier to keep track of what needs to be changed, and where the dependencies are needed. The Alfresco Maven Plugin handles everything you need when it comes to profiles.

No forced parent pom

The Alfresco Maven Plugin can be used anywhere, so your projects no longer need a parent pom. This way if you only want to build a platform extension or a share extension you’ll just need the standard JAR project layout and the Alfresco Maven Plugin inside of it.

Hot reloading

Want to make a few small changes without the need to stop and rebuild? HotSwap Agent and JRebel are replacing Spring Loaded as the supported hot reloading mechanism. HotSwap Agent (via DCEVM) is free and open source, and JRebel is a commercial product. An out of the box maven archetype generated project comes preconfigured to use JRebel with the JRebel Maven plugin.

For more information, see Alfresco’s official documentation.

Filled under: Alfresco, News

Leave a Reply

Your email address will not be published. Required fields are marked *

From our Blog...

Configuring Alfresco SAML SSO Module with Okta IdP

Alfresco recently released a new patch for their SAML Single Sign On solution module. This module allows Alfresco user’s to configure their Alfresco installation with their Single Sign On (SSO) Identity Provider. In this tutorial, I’ll explain the process of configuring Okta to be used with the module. Note: This tutorial is assuming you’ve followed… Read more »

Read More

Content Migration: Being Prepared

Much like negotiating a treaty between two countries who do not share a common language, someone will be faced with the task of translating. If that translator is not properly prepared the outcome might create more problems than it solves.

Read More

Debugging and Integration Testing in Alfresco SDK 3.0

Alfresco has updated its SDK! See our articles here and here about the basics. In its current state, SDK 3.0 doesn’t support unit testing. It does, however, have a robust Integration Testing framework which, in many ways, covers the same ground and then some. In this article I’ll be going into the basics of Integration… Read more »

Read More