The Maven Alfresco SDK™ At the end of a journey, there is always a new beginning…
Few items we’ll talk about… The journey to Happy Development on Alfresco The Maven Alfresco SDK ™ The new frontiers of Alfresco productivity
TED, Simon Sinek, 2010
Why? Amsterdam, 2007 So the story begins…
Once upon a time… Boss: “You gotta learn Alfresco, quick!” Gab: “Mhmhmh…ok ” We all ♥ frameworks Modern and cool Open source Easy to use And Alfresco is all of the above! But…
So what about this Alfresco thing? Very, very nice framework, but how do I do about
It almost like…
And the solution would be?
The real solution was … going rogue! Confession I have never used the Alfresco SDK! (ehm…) I need more productivity and standards! Why not? Alfresco is just a webapp (WAR) AMPs are no more than MMT managed ZIPs Why can’t I use my favorite tool of choice?
But a fool with a tool is still a fool…
This is a battle for freedom! Community & Enterprise ready Alfresco Community & Enterprise Support Quick start but also enterprise processes fit No lock-ins Pick your IDE and enjoy Artifacts available to any Maven compatible tool Foster creativity “Seconds” vs. “days” for project setup Focus on real “value” delivery
How… Can we get a better developer experience on Alfresco? Europe,
But we need an evil plan to make it happen! 1.First… Alfresco Artifacts taxonomy Artifacts Repository 2.Then… Project archetypes Frequently used samples 3.Finally… Delivery to the Community Alfresco Enterprise compatible
A Community success story 2008: Maven Alfresco Archetypes founded A (quite messy) set of field Maven best practices 2009: Maven Alfresco Lifecycle (up to 3.9.1) Consolidation of archetypes and plugins June 2012: Alfresco Artifacts Repository! More than 100 people on the public list Nov 2012: Maven Alfresco SDK ™ released! Backed by Alfresco Artifacts and POMs
Guess what?
What? The Maven Alfresco SDK™ Or Alfresco Developer’s best friend Berlin, 2012
Maven Alfresco SDK™ components Alfresco Maven Plugin Embeds Alfresco MMT Alfresco SDK Parent POM SDK single point of entrance Alfresco Platform Distribution POM Community / Enterprise Alfresco Maven archetypes AMP & All-in-One
Maven Alfresco SDK™ is your target! Archetypes SDK POM Plugin Alfresco Artifacts Deployment
Alfresco compatibility notes Requires Alfresco Community 4.2.b+ Assumed POMs available only as of ALF-14353ALF To run Alfresco 4.2.b+, Java 7 is required Works with Alfresco Enterprise Enterprise version not GA yet with POMs Jetty + H2 are not supported Exclusively for development purposes YMMV on H2 support. Check the project pageproject page
Demo One command AMP project creation with the Maven SDK mvn archetype:generate -DarchetypeCatalog= /nexus/content/groups/public/archetype-catalog.xml
Because development should be fun…
Demo AMP development with the Maven Alfresco SDK integrated in Eclipse Source code support, testing, remote debugging MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m"
…and Alfresco development can be!
SDK entry points AMP archetype Development of features on Repo / Share as AMPs Local testing of developed features All-in-one archetype Full blown demo or Enterprise quick start project Contains AMP, Repo, Share, Solr, Web Quick Start Your custom project Using SDK Parent or Alfresco Maven Plugin
Package it, run it, ship it! Packaging AMP packaging AMP installation (with MMT embedded) With alfresco:install goal Using the standard maven-war-plugin support Runtime Jetty + H2 support Distribution Deployment and release are standard Maven features
Demo All-in-One multi-module packaging & embedded run 0 manual downloads, 2 commands and you’re up and running! MAVEN_OPTS="-Xms256m -Xmx1G -XX:PermSize=300m"
Documentation website
Conclusions & New Beginnings Just in case you did not tweet yet and you need inspiration…
Recap Maven Alfresco SDK™ enables a new, installer free, automated way of developing on Alfresco You can test your code per unit and in integration! You can manage, customize and run all Alfresco WAR components as well as develop your AMPs Requires Alfresco Community 4.2.b+ or Alfresco Enterprise (next version)+
An outlook to a bright future “All downhill from here” Rapid application development (hot reloading) Enterprise Archetypes More archetypes from Alfresco Benchmark Spring Surf Strong growth More than 100 members on Google Groups ~100 Enterprise customers on Artifacts Repository Community on Maven Central ? (TBC)
On a a more serious note…
So happy Mavember everyone!
References Maven Alfresco SDK Alfresco SDK Parent POM Alfresco 4.2.b Platform Distribution POM Alfresco Artifacts Repository Join the community Maven Alfresco Community Maven Alfresco on @samuel_langlois
The End Or the real beginning