Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco...

21
Alfresco SDK 3.0 Ole Hejlskov Product Manager, Developer Platform

Transcript of Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco...

Page 1: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Alfresco SDK 3.0Ole HejlskovProduct Manager, Developer Platform

Page 2: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Agenda

• Brief History

• What’s new in Alfresco SDK 3.0

• …. ”about that Maven plugin.. ??”

• Demo

• Questions

Page 3: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Brief History

Page 4: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

2009

AlfrescoMavenSDKFoundedbyGabandMaurizio- All-in-one+RepoAMParchetypes- Limitedfeatures- MostlyfocusedonbuildingAMPSandrunning

2013

AlfrescoMavenSDK1.1.1- Remoteunittestrunner- JRebel support- Solr support

- CodemigratedtoGitHub- 2.0released- FirstreleaseonMavenCentral- FullysupportedbyAlfresco- Renamedto“AlfrescoSDK”- Hotreloading- SpringloadedforJavahotreloading- Functionalandregressiontesting- ShareAMPsupport

2014 2014

- 2.1released- Improvedhotreloading- Fulldocumentationrevamp

- SDK2.2released- Bugfixes- Compatibilityissues

2016

Page 5: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited
Page 6: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited
Page 7: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited
Page 8: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

What’s new in Alfresco SDK 3.0

Page 9: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Alfresco SDK 3.0 Vision

Compatibility• 4.2.x à 5.2.x• Easy upgrades

Align to standards• Revamp archetypes• JAR Support

Empower Developers• Hot reloading• Integration testing

Configurable• AMPs still

supported as an assembly

• Full control over the Alfresco Maven Plugin

Page 10: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Compatibility

• SDK 3.0 is compatible with:– Alfresco One 4.2.x– Alfresco One 5.0.x– Alfresco One 5.1.x– Alfresco Content Services 5.2.x

(and all the community releases)

• Switching between versions is easy:– <alfresco.platform.version />– <alfresco.share.version />

• Upgrades are easy is one line:– <alfresco.sdk.version />

Page 11: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Align to standards

• All SDK 3.0 projects will produce a JAR

• Archetypes has been revamped to align with a standard Maven JAR directory structure

• No forced parent pom

• All-In-One reduced to three modules– Platform JAR– Share JAR– Integration Tests

(No more war or runner modules)

• All “run” logic moved to Alfresco Maven Plugin, no more profiles

Page 12: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Empowering Developers

• Hot Reloading via HotSwap Agent (DCEVM) or JRebel

• Improved Integration Testing– Execute integration tests against the full stack

without having to start up the context– If the stack is not running it will spin it up– Integrates well with IDE’s, almost instant results

when executing tests

Page 13: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Configurable

• Alfresco Maven Plugin has 40 different configuration parameters, e.g:– <enablePlatform />, <enableShare />,

<enableSolr/>, <enableMySQL />, <platformModules />, <shareModules />

• AMPs are still supported as an assembly, if you need to bring in 3rd party dependencies or override OOTB files

Page 14: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Alfresco Maven Plugin

Page 15: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Alfresco Maven Plugin

• The Alfresco Maven Plugin handles running and testing your modules

• Install 3rd party dependencies (both AMPs and JARs)

• Start the Platform, Solr, Share, API Explorer(Also allows you to deploy a custom WAR)

• Can be configured to a lot of common use cases – over 40 different configuration parameters

• Executed with “mvn install alfresco:run”

Page 16: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Alfresco Maven Plugin – “Run (alfresco:run)”SetupSolr (ifenabled)

UnpackSolr config ReplaceSolr Config placeholders

BuildPlatformWAR(ifenabled)Unpack

alfresco.war

InstallAMPmodulesusing

MMTInstallJARmodules Dependingonversion,comment

outSecureComms forSolr

CopyLicense Copyalfresco-global.properties PackageWARfile InstallcustomWARfileinlocal

Mavenrepository

Page 17: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Alfresco Maven Plugin – “Run (alfresco:run)”

BuildShareWAR(ifenabled)Unpackshare.war

InstallAMPmodulesusing

MMTInstallJARmodules Copylog4jandshare-config-

custom.xml

Changeport(ifspecified) PackageWARfile InstallcustomWARfileinlocal

Mavenrepository

StartTomcat(ifenabled)

Adddependencies AddDBDrivers Addwebapps Setuppathsandsystemproperties(eg.solr.solr.home)

Forktheprocess? Configureport StartTomcat

Page 18: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Alfresco Maven PluginSample Configuration

Page 19: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Demo

Page 20: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

Questions?

Page 21: Alfresco SDK 3 - BeeCon 2017beecon.buzz/2017/assets/files/E03/Alfresco SDK 3.0.pdf · 2009 Alfresco Maven SDK Founded by Gab and Maurizio-All-in-one + Repo AMP archetypes-Limited

</presentation>