SlideShare une entreprise Scribd logo
1  sur  14
(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!

Contenu connexe

Tendances

Sizing your alfresco platform
Sizing your alfresco platformSizing your alfresco platform
Sizing your alfresco platformLuis Cabaceira
 
Alfresco: What every developer should know
Alfresco: What every developer should knowAlfresco: What every developer should know
Alfresco: What every developer should knowJeff 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 zaragozaAngel 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 RepositoryJeff 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 TuningAlbert Chen
 
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 EhchacheColdFusionConference
 
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.0Angel 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 ThenAngel 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 AlfrescoWildan 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 2010Adrian Trenaman
 
Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Alfresco Security Best Practices 2014
Alfresco Security Best Practices 2014Toni 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 betweenColdFusionConference
 
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 KarafAchim Nierbeck
 
BP-7 Share Customization Best Practices
BP-7 Share Customization Best PracticesBP-7 Share Customization Best Practices
BP-7 Share Customization Best PracticesAlfresco Software
 
JBoss Fuse - Fuse workshop EAP container
JBoss Fuse - Fuse workshop EAP containerJBoss Fuse - Fuse workshop EAP container
JBoss Fuse - Fuse workshop EAP containerChristina Lin
 
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 SwooleAlbert Chen
 

Tendances (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
 

Similaire à Alfresco SDK 2.0: Zero Reloading Development

Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)Jalimo Slides Linuxtag2007 (English)
Jalimo Slides Linuxtag2007 (English)smancke
 
Sbt, idea and eclipse
Sbt, idea and eclipseSbt, idea and eclipse
Sbt, idea and eclipseMike 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
 
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
 
A glance at the Rust SWC
A glance at the Rust SWCA glance at the Rust SWC
A glance at the Rust SWCThien 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.jsWebF
 
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.0Matt 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.0Sam Brannen
 
Añadiendo Jenkins al entorno para Integración continua
Añadiendo Jenkins al entorno para Integración continuaAñadiendo Jenkins al entorno para Integración continua
Añadiendo Jenkins al entorno para Integración continuaCésar Martín Ortiz Pintado
 
Jabox presentation
Jabox presentationJabox presentation
Jabox presentationspiddy
 

Similaire à Alfresco SDK 2.0: Zero Reloading Development (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
 
Añadiendo Jenkins al entorno para Integración continua
Añadiendo Jenkins al entorno para Integración continuaAñadiendo Jenkins al entorno para Integración continua
Añadiendo Jenkins al entorno para Integración continua
 
Jabox presentation
Jabox presentationJabox presentation
Jabox presentation
 
Maven
MavenMaven
Maven
 

Plus de 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 projectSymphony 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 duoSymphony Software Foundation
 

Plus de 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?
 

Dernier

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxLoriGlavin3
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLScyllaDB
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 

Dernier (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptxDigital Identity is Under Attack: FIDO Paris Seminar.pptx
Digital Identity is Under Attack: FIDO Paris Seminar.pptx
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Developer Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQLDeveloper Data Modeling Mistakes: From Postgres to NoSQL
Developer Data Modeling Mistakes: From Postgres to NoSQL
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 

Alfresco SDK 2.0: Zero Reloading Development

  • 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

Notes de l'éditeur

  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 :)