Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

201408 - Alfresco Tech Talk Live - Maven SDK 2.0

1,911 views

Published on

Rapid Alfresco Development with the Maven Alfresco SDK, with no web application reloading!

Published in: Technology
  • Be the first to comment

201408 - Alfresco Tech Talk Live - Maven SDK 2.0

  1. 1. (Maven) Alfresco SDK 2.0 #noreload -> #nohassle Gabriele Columbro Ole Hejlskov
  2. 2. Objectives  State of the (Maven) nation  A sneak peek on the (Maven) Alfresco SDK 2.0!  Demo  Q/A
  3. 3. Disclaimer!  2.0.0-SNAPSHOT is a SNAPSHOT version!  Active development undergoing!  YMMV (Your Mileage May Vary)  MMMV (MY Mileage May Vary) :)  2.0.0-Beta-1 out later this week!
  4. 4. State of the (Maven) nation  Alfresco Build FULLY Mavenized!  Community 5.0.a out and release with Maven (Kudos to Sam!)  https://issues.alfresco.com/jira/browse/BDE-32 closed after 8 years!  No more config artifacts  Real POMs coming from a releases build  Surf back home :)  (Maven) Alfresco SDK  Migrated to Github at https://github.com/Alfresco/alfresco-sdk/  Huge community momentum (Kudos to Ole & Mao!)  Major developer ergonomics improvements with 2.x  (Old Java / Eclipse) SDK superceded and about to be EOL’d  Call it Alfresco SDK from now on!
  5. 5. The (Maven) Alfresco SDK 2.x  Target release: Summit 2014  Achievements (already in the latest SNAPSHOT):  Migration to Github —> Improved visibility. Fork us!  Added Share archetype  MAJOR rapid application development features (hot code reloading) using spring- loaded (free!)  Seamless IDE integration with Eclipse / IDEA  Zero reloading development!  Remote Junit ported to the new approach
  6. 6. The (Maven) Alfresco SDK 2.x  Additional key features (still to be added):  Must: Availability on Maven Central!  Must: Integration of the Alfresco Technical Validation Tool  Must: Alignment with samples at https://github.com/Alfresco/alfresco-sdk-samples/  Should: RM rapid dev archetypes  Should: Community & Enterprise profiles  Should: General bugfixing (see filter)  Could: Mock webscript testing integration  Could: Use of a webscript instead of embedded Jetty for remote Junit running
  7. 7. Sure, but what changes?  Really very little, from a user standpoint  Key profiles are kept for backwards compatibility  On AMP projects: -Pamp-to-war  On AIO (TBC) projects: -Prun  JRebel (deprecated) support incapsulated in an optional (non supported) profile -Pjrebel
  8. 8. Is this reloading really hot?  I will let you judge about that :)  Currently hot reloading (with no long webapp context reload):  Java Classes  Test classes (for remote Junit running)  Webscripts (Java, Javascripts, FTL)  Web Resources (JS, CSS, JSP, etc.)  Classpath config files  What is NOT reloaded:  Spring Context (need restart upon Spring config changes)
  9. 9. Demo Repo  Rapid Repository AMP Development On Eclipse Luna  Pre-requisites:  Maven 3.2.2  Eclipse Luna latest build  Story board:  Create empty AMP  Show testing  Add webscript / modify it  Profit :)  Command line: MAVEN_OPTS="-Xms1024m -Xmx2048m -XX:PermSize=1024m - javagent:/Users/gabrielecolumbro/Downloads/springloaded -1.2.0.RELEASE.jar -noverify" mvn clean install -Pamp-to-war
  10. 10. How did we achieve that?  A magic combo of:  spring-loaded (library for classpath resources reloading)  Tomcat7 context.xml configuration and virtualWebapp features  Advantages?  IDE independent  Free  Wait time for class changes … 0s! Just refresh!  Wait time for running tests … 0s! No app context startup time with remote Junit running!
  11. 11. Demo Share  Rapid Share AMP Development On IDEA  Pre-requisites:  Maven 3.2.2  IDEA ???  Story board:  Create empty AMP  Show how to connect to repo running (alf.repo.url)  Show Aikau example  Add webscript / modify it  Profit :)
  12. 12. Resources  Project: https://github.com/Alfresco/alfresco-sdk/  Issues: https://github.com/Alfresco/alfresco-sdk/issues  Mailing list: https://groups.google.com/forum/#!forum/maven- alfresco  Download spring-loaded from http://search.maven.org/remotecontent?filepath=org/springframe work/springloaded/1.2.0.RELEASE/springloaded- 1.2.0.RELEASE.jar  To have the demo’ed features, use the latest 2.0.0-SNAPSHOT SDK from: mvn archetype:generate - DarchetypeCatalog=https://artifacts.alfresco.com/nexus/con tent/repositories/public-snapshots/archetype-catalog.xml
  13. 13. Q/A
  14. 14. Thanks!

×