SlideShare a Scribd company logo
(Maven) Alfresco SDK 2.0
#noreload -> #nohassle
Gabriele Columbro
Ole Hejlskov
Objectives
 State of the (Maven) nation
 A sneak peek on the (Maven) Alfresco
SDK 2.0!
 Demo
 Q/A
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!
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!
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
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
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
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)
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
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!
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 :)
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
Q/A
Thanks!

More Related Content

What's hot

Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platform
Luis Cabaceira
 
Alfresco: What every developer should know
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should know
Jeff Potts
 
F03 a history of (open) conversation alfresco at university of zaragoza
F03   a history of (open) conversation alfresco at university of zaragozaF03   a history of (open) conversation alfresco at university of zaragoza
F03 a history of (open) conversation alfresco at university of zaragoza
Angel Borroy López
 
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Manuel Garcia
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
Jeff Potts
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
Albert Chen
 
Alfresco Tech Talk Live 106
Alfresco Tech Talk Live 106Alfresco Tech Talk Live 106
Alfresco Tech Talk Live 106
Angel Borroy López
 
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
ColdFusionConference
 
Discovering the 2 in Alfresco Search Services 2.0
Discovering the 2 in Alfresco Search Services 2.0Discovering the 2 in Alfresco Search Services 2.0
Discovering the 2 in Alfresco Search Services 2.0
Angel Borroy López
 
Alfresco search services: Now and Then
Alfresco search services: Now and ThenAlfresco search services: Now and Then
Alfresco search services: Now and Then
Angel Borroy López
 
Installing and Getting Started with Alfresco
Installing and Getting Started with AlfrescoInstalling and Getting Started with Alfresco
Installing and Getting Started with Alfresco
Wildan Maulana
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
Adrian Trenaman
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014
Toni de la Fuente
 
The app server, web server and everything in between
The app server, web server and everything in betweenThe app server, web server and everything in between
The app server, web server and everything in between
ColdFusionConference
 
ApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache Karaf
Achim Nierbeck
 
BP-7 Share Customization Best Practices
BP-7 Share Customization Best PracticesBP-7 Share Customization Best Practices
BP-7 Share Customization Best Practices
Alfresco Software
 
JBoss Fuse - Fuse workshop EAP container
JBoss Fuse - Fuse workshop EAP containerJBoss Fuse - Fuse workshop EAP container
JBoss Fuse - Fuse workshop EAP container
Christina Lin
 
Aem maintenance
Aem maintenanceAem maintenance
Aem maintenance
Ashokkumar T A
 
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
ColdFusionConference
 
The Integration of Laravel with Swoole
The Integration of Laravel with SwooleThe Integration of Laravel with Swoole
The Integration of Laravel with Swoole
Albert Chen
 

What's hot (20)

Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platform
 
Alfresco: What every developer should know
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should know
 
F03 a history of (open) conversation alfresco at university of zaragoza
F03   a history of (open) conversation alfresco at university of zaragozaF03   a history of (open) conversation alfresco at university of zaragoza
F03 a history of (open) conversation alfresco at university of zaragoza
 
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
Altoros Cloud Foundry Training: hands-on workshop for DevOps, Architects and ...
 
Moving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco RepositoryMoving Gigantic Files Into and Out of the Alfresco Repository
Moving Gigantic Files Into and Out of the Alfresco Repository
 
High Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance TuningHigh Concurrency Architecture and Laravel Performance Tuning
High Concurrency Architecture and Laravel Performance Tuning
 
Alfresco Tech Talk Live 106
Alfresco Tech Talk Live 106Alfresco Tech Talk Live 106
Alfresco Tech Talk Live 106
 
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for EhchacheScale ColdFusion with Terracotta Distributed Caching for Ehchache
Scale ColdFusion with Terracotta Distributed Caching for Ehchache
 
Discovering the 2 in Alfresco Search Services 2.0
Discovering the 2 in Alfresco Search Services 2.0Discovering the 2 in Alfresco Search Services 2.0
Discovering the 2 in Alfresco Search Services 2.0
 
Alfresco search services: Now and Then
Alfresco search services: Now and ThenAlfresco search services: Now and Then
Alfresco search services: Now and Then
 
Installing and Getting Started with Alfresco
Installing and Getting Started with AlfrescoInstalling and Getting Started with Alfresco
Installing and Getting Started with Alfresco
 
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
OSGi for real in the enterprise: Apache Karaf - NLJUG J-FALL 2010
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014
 
The app server, web server and everything in between
The app server, web server and everything in betweenThe app server, web server and everything in between
The app server, web server and everything in between
 
ApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache KarafApacheCon EU 2014: Enterprise Development with Apache Karaf
ApacheCon EU 2014: Enterprise Development with Apache Karaf
 
BP-7 Share Customization Best Practices
BP-7 Share Customization Best PracticesBP-7 Share Customization Best Practices
BP-7 Share Customization Best Practices
 
JBoss Fuse - Fuse workshop EAP container
JBoss Fuse - Fuse workshop EAP containerJBoss Fuse - Fuse workshop EAP container
JBoss Fuse - Fuse workshop EAP container
 
Aem maintenance
Aem maintenanceAem maintenance
Aem maintenance
 
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
Improve ColdFusion Performance by tuning the Connector and using ColdFusion-T...
 
The Integration of Laravel with Swoole
The Integration of Laravel with SwooleThe Integration of Laravel with Swoole
The Integration of Laravel with Swoole
 

Similar to 201408 - Alfresco Tech Talk Live - Maven SDK 2.0

GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
Alexis Moussine-Pouchkine
 
Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)
smancke
 
Jsf 2.0 Overview
Jsf 2.0 OverviewJsf 2.0 Overview
Jsf 2.0 Overview
hereisbharat
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipse
Mike Slinn
 
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia
 
빈스톡 첫인상 with Git
빈스톡 첫인상 with Git빈스톡 첫인상 with Git
빈스톡 첫인상 with Git
AWSKRUG - AWS한국사용자모임
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
Jesse Gallagher
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
Sandeep Chawla
 
A glance at the Rust SWC
A glance at the Rust SWCA glance at the Rust SWC
A glance at the Rust SWC
Thien Ly
 
Java 9 and the impact on Maven Projects (JavaOne 2016)
Java 9 and the impact on Maven Projects (JavaOne 2016)Java 9 and the impact on Maven Projects (JavaOne 2016)
Java 9 and the impact on Maven Projects (JavaOne 2016)
Robert Scholte
 
2015 - Introduction to building enterprise web applications using Angular.js
2015 - Introduction to building enterprise web applications using Angular.js2015 - Introduction to building enterprise web applications using Angular.js
2015 - Introduction to building enterprise web applications using Angular.js
WebF
 
Java User Group Cologne
Java User Group CologneJava User Group Cologne
NLOUG 2018 - Future of JSF and ADF
NLOUG 2018 - Future of JSF and ADFNLOUG 2018 - Future of JSF and ADF
NLOUG 2018 - Future of JSF and ADF
Daniel Merchán García
 
OpenNebulaconf2017US: Paying down technical debt with "one" dollar bills by ...
OpenNebulaconf2017US:  Paying down technical debt with "one" dollar bills by ...OpenNebulaconf2017US:  Paying down technical debt with "one" dollar bills by ...
OpenNebulaconf2017US: Paying down technical debt with "one" dollar bills by ...
OpenNebula Project
 
What's New in AppFuse 2.0
What's New in AppFuse 2.0What's New in AppFuse 2.0
What's New in AppFuse 2.0
Matt Raible
 
What's cool in Apache MyFaces?
What's cool in Apache MyFaces?What's cool in Apache MyFaces?
What's cool in Apache MyFaces?
aliok
 
What's New in Spring 3.0
What's New in Spring 3.0What's New in Spring 3.0
What's New in Spring 3.0
Sam Brannen
 
Jabox presentation
Jabox presentationJabox presentation
Jabox presentation
spiddy
 
Maven
MavenMaven
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
Rubens Dos Santos Filho
 

Similar to 201408 - Alfresco Tech Talk Live - Maven SDK 2.0 (20)

GlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and FutureGlassFish and JavaEE, Today and Future
GlassFish and JavaEE, Today and Future
 
Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)
 
Jsf 2.0 Overview
Jsf 2.0 OverviewJsf 2.0 Overview
Jsf 2.0 Overview
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipse
 
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
Igalia Focus and Goals 2020 (2019 WebKit Contributors Meeting)
 
빈스톡 첫인상 with Git
빈스톡 첫인상 with Git빈스톡 첫인상 with Git
빈스톡 첫인상 with Git
 
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
CollabSphere 2021 - DEV114 - The Nuts and Bolts of CI/CD With a Large XPages ...
 
Maven Introduction
Maven IntroductionMaven Introduction
Maven Introduction
 
A glance at the Rust SWC
A glance at the Rust SWCA glance at the Rust SWC
A glance at the Rust SWC
 
Java 9 and the impact on Maven Projects (JavaOne 2016)
Java 9 and the impact on Maven Projects (JavaOne 2016)Java 9 and the impact on Maven Projects (JavaOne 2016)
Java 9 and the impact on Maven Projects (JavaOne 2016)
 
2015 - Introduction to building enterprise web applications using Angular.js
2015 - Introduction to building enterprise web applications using Angular.js2015 - Introduction to building enterprise web applications using Angular.js
2015 - Introduction to building enterprise web applications using Angular.js
 
Java User Group Cologne
Java User Group CologneJava User Group Cologne
Java User Group Cologne
 
NLOUG 2018 - Future of JSF and ADF
NLOUG 2018 - Future of JSF and ADFNLOUG 2018 - Future of JSF and ADF
NLOUG 2018 - Future of JSF and ADF
 
OpenNebulaconf2017US: Paying down technical debt with "one" dollar bills by ...
OpenNebulaconf2017US:  Paying down technical debt with "one" dollar bills by ...OpenNebulaconf2017US:  Paying down technical debt with "one" dollar bills by ...
OpenNebulaconf2017US: Paying down technical debt with "one" dollar bills by ...
 
What's New in AppFuse 2.0
What's New in AppFuse 2.0What's New in AppFuse 2.0
What's New in AppFuse 2.0
 
What's cool in Apache MyFaces?
What's cool in Apache MyFaces?What's cool in Apache MyFaces?
What's cool in Apache MyFaces?
 
What's New in Spring 3.0
What's New in Spring 3.0What's New in Spring 3.0
What's New in Spring 3.0
 
Jabox presentation
Jabox presentationJabox presentation
Jabox presentation
 
Maven
MavenMaven
Maven
 
[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1[JOI] TOTVS Developers Joinville - Java #1
[JOI] TOTVS Developers Joinville - Java #1
 

More from Symphony Software Foundation

ApacheCon NA 2015 - Gabriele Columbro - Is Open Source the right model in the...
ApacheCon NA 2015 - Gabriele Columbro - Is Open Source the right model in the...ApacheCon NA 2015 - Gabriele Columbro - Is Open Source the right model in the...
ApacheCon NA 2015 - Gabriele Columbro - Is Open Source the right model in the...
Symphony Software Foundation
 
10 things you need to know to deliver a successful Alfresco project
10 things you need to know to deliver a successful Alfresco project10 things you need to know to deliver a successful Alfresco project
10 things you need to know to deliver a successful Alfresco project
Symphony Software Foundation
 
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...Standard Application Lifecycle Management as Community (and Enterprise) ecosy...
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...
Symphony Software Foundation
 
0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo
Symphony Software Foundation
 
2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study
Symphony Software Foundation
 
CMIS is here, did you know?
CMIS is here, did you know?CMIS is here, did you know?
CMIS is here, did you know?
Symphony Software Foundation
 

More from Symphony Software Foundation (6)

ApacheCon NA 2015 - Gabriele Columbro - Is Open Source the right model in the...
ApacheCon NA 2015 - Gabriele Columbro - Is Open Source the right model in the...ApacheCon NA 2015 - Gabriele Columbro - Is Open Source the right model in the...
ApacheCon NA 2015 - Gabriele Columbro - Is Open Source the right model in the...
 
10 things you need to know to deliver a successful Alfresco project
10 things you need to know to deliver a successful Alfresco project10 things you need to know to deliver a successful Alfresco project
10 things you need to know to deliver a successful Alfresco project
 
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...Standard Application Lifecycle Management as Community (and Enterprise) ecosy...
Standard Application Lifecycle Management as Community (and Enterprise) ecosy...
 
0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo0910 cagliari- spring surf and cmis - the dynamic duo
0910 cagliari- spring surf and cmis - the dynamic duo
 
2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study2009-04-21 - Alfresco and Maven NXP case study
2009-04-21 - Alfresco and Maven NXP case study
 
CMIS is here, did you know?
CMIS is here, did you know?CMIS is here, did you know?
CMIS is here, did you know?
 

Recently uploaded

Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
Neo4j
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems S.M.S.A.
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
Alpen-Adria-Universität
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
DianaGray10
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
Neo4j
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 

Recently uploaded (20)

Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
GraphSummit Singapore | The Future of Agility: Supercharging Digital Transfor...
 
Uni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdfUni Systems Copilot event_05062024_C.Vlachos.pdf
Uni Systems Copilot event_05062024_C.Vlachos.pdf
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Video Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the FutureVideo Streaming: Then, Now, and in the Future
Video Streaming: Then, Now, and in the Future
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5UiPath Test Automation using UiPath Test Suite series, part 5
UiPath Test Automation using UiPath Test Suite series, part 5
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024GraphSummit Singapore | The Art of the  Possible with Graph - Q2 2024
GraphSummit Singapore | The Art of the Possible with Graph - Q2 2024
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 

201408 - Alfresco Tech Talk Live - Maven SDK 2.0

  • 1. (Maven) Alfresco SDK 2.0 #noreload -> #nohassle Gabriele Columbro Ole Hejlskov
  • 2. Objectives  State of the (Maven) nation  A sneak peek on the (Maven) Alfresco SDK 2.0!  Demo  Q/A
  • 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. Q/A

Editor's Notes

  1. Christine: And finally a customer success engagement plan that starts upon customers signing with us and continues throughout their entire lifecycle with us. For our largest customers, this will starting with an internal account transition meeting designed to create awareness of the account, project plans, etc), followed quickly by a customer call to Introduce them to other Alfresco team members who are there to support them (Members of the Account team, including their CRM, TAM), Alfresco Support and key best practice guides, making them aware of notifications they will receive or have received, and our on-going commit to engage with them on a regular basis relative to their adoption of Alfresco. There is one purpose in our Success Plans and that’s customer loyalty and retention and on-going opportunities to sell more product and services.
  2. Christine: And finally a customer success engagement plan that starts upon customers signing with us and continues throughout their entire lifecycle with us. For our largest customers, this will starting with an internal account transition meeting designed to create awareness of the account, project plans, etc), followed quickly by a customer call to Introduce them to other Alfresco team members who are there to support them (Members of the Account team, including their CRM, TAM), Alfresco Support and key best practice guides, making them aware of notifications they will receive or have received, and our on-going commit to engage with them on a regular basis relative to their adoption of Alfresco. There is one purpose in our Success Plans and that’s customer loyalty and retention and on-going opportunities to sell more product and services.
  3. Teach them to fish :)