Maven and Alfresco or the dynamic
                            duo :)
         Gabriele Columbro, Alfresco
             Sol...
Agenda

● Why Apache Maven?
● The Maven Alfresco Community
  Repository
● Maven Alfresco Lifecycle
 • Alfresco Lifecycle D...
Agenda

● Why Apache Maven?
● The Maven Alfresco Community
  Repository
● Maven Alfresco Lifecycle
 • Alfresco Lifecycle D...
Apache Maven who?

● Maven Is the standard de facto for
 Application Lifecycle Management:
  ●   Opensource and J2EE orien...
Who’s using Maven?




http://www.zeroturnaround.com/blog/the-build-tool-report-turnaround-times-using-ant-maven-eclipse-i...
Maven is about processes
● Maven is *not* just an Ant replacement
  ● Can manage the FULL lifecycle of an application

● A...
Demistifying concerns
● Maven is not mature
  ● Vibrant growing community ensure
    sustainability
  ● Native Netbeans an...
Still not convinced?

Just to name a few !




                          8
(some of the)
                               Maven benefits
● Development
  ● Standard well known development procedures
  ...
Maven and Alfresco

● Alfresco uses an Ant SDK but looks with
 growing interest for a Maven approach:
 ● For providing a n...
Agenda

● Why Apache Maven?
● The Maven Alfresco Community
  Repository
● Maven Alfresco Lifecycle
 • Alfresco Lifecycle D...
Maven and Alfresco
                                                 The “Before”
● Projects on Maven and Alfresco start in...
Launching the
                             Maven Alfresco Community


            As of December 1st, 2009
Alfresco hosts ...
Why a Maven Repository?

● Consolidate projects and docs around Maven
● Single source Alfresco artifacts upon new
 release...
Repository details

● Based on Sonatype Nexus Community 1.4.0:
 http://nexus.sonatype.org/
 ● Releases: http://maven.alfre...
Use Alfresco in your apps

● Alfresco community artifacts are uploaded to
  the Maven Alfresco Community Repository
● You ...
Agenda

● Why Apache Maven?
● The Maven Alfresco Community
  Repository
● Maven Alfresco Lifecycle
 • Alfresco Lifecycle D...
Why a Maven Lifecycle?

● The Maven Alfresco Lifecycle is meant to:
  ● Standardize Community development on
    Alfresco
...
Maven Alfresco Lifecycle
                                                      target contexts
● Originally developed at S...
Complexity under control
Lifecycle Components
● Maven Alfresco Extension archetype
  Alfresco Repository Extension WAR
  development
  ● One liner ...
Using the Lifecycle

 Maven+AMP plugin can be alternative to SDK+Ant
 +MMT !
Base Features             Advanced features
●...
Agenda

● Why Apache Maven?
● The Maven Alfresco Community
  Repository
● Maven Alfresco Lifecycle
 • Alfresco Lifecycle D...
Maven Lifecycle Demo

● Demoing from
 http://wiki.alfresco.com/wiki/
 Managing_Alfresco_Lifecyle_with_Maven



 1.Alfresco...
Agenda

● Why Apache Maven?
● The Maven Alfresco Community
  Repository
● Maven Alfresco Lifecycle
 • Alfresco Lifecycle D...
CMIS Maven Toolkit

● CMIS 1.0cd04 Maven toolkit hosted on
 Maven Alfresco Community Repository
 http://wiki.alfresco.com/...
CMIS Toolkit features

● Quickstart creation via Maven archetype:
 mvn archetype:generate -DarchetypeCatalog=http://maven....
Toolkit architecture


-'()*$!+,./01,#2$3&2!*,
        !"#$%&'()*$!+%!+",
                                ?*"+3*,
        ...
Agenda

● Why Apache Maven?
● The Maven Alfresco Community
  Repository
● Maven Alfresco Lifecycle
 • Alfresco Lifecycle D...
Maven CMIS Toolkit Demo

● Demoing from
 http://wiki.alfresco.com/wiki/CMIS_Maven_Toolkit

 1.Creation of the Maven CMIS t...
Agenda

● Why Apache Maven?
● The Maven Alfresco Community
  Repository
● Maven Alfresco Lifecycle
 • Alfresco Lifecycle D...
Bright future for Maven

● This is only a starting point!
● Maven Alfresco strategy:
  ● Grow the Lifecycle for the Commun...
How to contribute?

● Join the discussion group:
 http://groups.google.com/group/maven-alfresco
● Connect to our repositor...
Roadmap

● Unplanned but expected:
  “Move to Maven as core build
  technology”
● Benefits:
 ● Full   Maven based SDK
   •U...
Agenda

● Why Apache Maven?
● The Maven Alfresco Community
  Repository
● Maven Alfresco Lifecycle
 • Alfresco Lifecycle D...
Feedback plz!




           Any feedback or doubts?
                 Do you like this approach?
        Would you use Mav...
Thank you!


                        Starring:
                 Speaker’s personal blog
                     http://mindth...
Upcoming SlideShare
Loading in...5
×

20091204 Alfresco Community Maven Tech Talk

2,783

Published on

Launching the new Alfresco Community Maven Alfresco repository (http://maven.alfresco.com/) to power and consolidate the Maven Alfresco Lifecycle community (http://wiki.alfresco.com/wiki/Managing_Alfresco_Lifecyle_with_Maven) and support future developments of the Spring Surf (http://www.springsource.org/extensions/se-surf).

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,783
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
131
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide
  • Bueno vamos a empezar con un poco de agenda, asi que tengamos todos una idea de le que os voy a entroducir.

    Antetodo empezamos con una introduccion a las razones que han motivado la creacion de un nuevo estandar como ceMIS y cual son los casos de uso mas importante por los cuales ha sido dibujado.

    Luego vamos a ententar a dar una descriccion general del modelo de dominio que esta proporcionado por el ceMIS y que es la base para comprender la terminologia que vamos a utilizar hoy.

    Asi que no quedais aburridos de tanta teoria, durante la primera demo voy a introducir las interfaz CMIS de Alfresco y a ensenaros el modelo de datos que introducire’ en el primer punto.

    A seguir, vamos a comentar un poco los servicios abstractos que un servidor web CMIS tiene que ofrecer para ser conforme al estandar : uno de los servicios mas importantes en el mundo del ECM es seguramente lo de interogacion (query), y por esto nos vamos a detallar mas los mecanismos de query de CMIS.

    Seguira’ una pequena demo de una simple aplicacion de query CMIS que he implementado por esta serie de Master Classes.

    A conclusion, os hablare’ un poco de los diferientes interfaces de CMIS (ReST y la de servicios web) y de las hierramientas que ya estan disponibles para desarollar sobre CMIS.

    Y si nos queda tiempo estare bien feliz de contestar a vuestras preguntas.
  • Bueno vamos a empezar con un poco de agenda, asi que tengamos todos una idea de le que os voy a entroducir.

    Antetodo empezamos con una introduccion a las razones que han motivado la creacion de un nuevo estandar como ceMIS y cual son los casos de uso mas importante por los cuales ha sido dibujado.

    Luego vamos a ententar a dar una descriccion general del modelo de dominio que esta proporcionado por el ceMIS y que es la base para comprender la terminologia que vamos a utilizar hoy.

    Asi que no quedais aburridos de tanta teoria, durante la primera demo voy a introducir las interfaz CMIS de Alfresco y a ensenaros el modelo de datos que introducire’ en el primer punto.

    A seguir, vamos a comentar un poco los servicios abstractos que un servidor web CMIS tiene que ofrecer para ser conforme al estandar : uno de los servicios mas importantes en el mundo del ECM es seguramente lo de interogacion (query), y por esto nos vamos a detallar mas los mecanismos de query de CMIS.

    Seguira’ una pequena demo de una simple aplicacion de query CMIS que he implementado por esta serie de Master Classes.

    A conclusion, os hablare’ un poco de los diferientes interfaces de CMIS (ReST y la de servicios web) y de las hierramientas que ya estan disponibles para desarollar sobre CMIS.

    Y si nos queda tiempo estare bien feliz de contestar a vuestras preguntas.
  • Being a standard raises the possibility of enter major open source communities (especially for integrators).
    AMPS are non standard j2ee artifact so we developed and contributed A custom Maven plug-in capable of building AMPs and have a WAR dewas contributed
  • Bueno vamos a empezar con un poco de agenda, asi que tengamos todos una idea de le que os voy a entroducir.

    Antetodo empezamos con una introduccion a las razones que han motivado la creacion de un nuevo estandar como ceMIS y cual son los casos de uso mas importante por los cuales ha sido dibujado.

    Luego vamos a ententar a dar una descriccion general del modelo de dominio que esta proporcionado por el ceMIS y que es la base para comprender la terminologia que vamos a utilizar hoy.

    Asi que no quedais aburridos de tanta teoria, durante la primera demo voy a introducir las interfaz CMIS de Alfresco y a ensenaros el modelo de datos que introducire’ en el primer punto.

    A seguir, vamos a comentar un poco los servicios abstractos que un servidor web CMIS tiene que ofrecer para ser conforme al estandar : uno de los servicios mas importantes en el mundo del ECM es seguramente lo de interogacion (query), y por esto nos vamos a detallar mas los mecanismos de query de CMIS.

    Seguira’ una pequena demo de una simple aplicacion de query CMIS que he implementado por esta serie de Master Classes.

    A conclusion, os hablare’ un poco de los diferientes interfaces de CMIS (ReST y la de servicios web) y de las hierramientas que ya estan disponibles para desarollar sobre CMIS.

    Y si nos queda tiempo estare bien feliz de contestar a vuestras preguntas.
  • What’s application
  • What’s application
  • What’s application
  • What’s application
  • What’s application
  • Bueno vamos a empezar con un poco de agenda, asi que tengamos todos una idea de le que os voy a entroducir.

    Antetodo empezamos con una introduccion a las razones que han motivado la creacion de un nuevo estandar como ceMIS y cual son los casos de uso mas importante por los cuales ha sido dibujado.

    Luego vamos a ententar a dar una descriccion general del modelo de dominio que esta proporcionado por el ceMIS y que es la base para comprender la terminologia que vamos a utilizar hoy.

    Asi que no quedais aburridos de tanta teoria, durante la primera demo voy a introducir las interfaz CMIS de Alfresco y a ensenaros el modelo de datos que introducire’ en el primer punto.

    A seguir, vamos a comentar un poco los servicios abstractos que un servidor web CMIS tiene que ofrecer para ser conforme al estandar : uno de los servicios mas importantes en el mundo del ECM es seguramente lo de interogacion (query), y por esto nos vamos a detallar mas los mecanismos de query de CMIS.

    Seguira’ una pequena demo de una simple aplicacion de query CMIS que he implementado por esta serie de Master Classes.

    A conclusion, os hablare’ un poco de los diferientes interfaces de CMIS (ReST y la de servicios web) y de las hierramientas que ya estan disponibles para desarollar sobre CMIS.

    Y si nos queda tiempo estare bien feliz de contestar a vuestras preguntas.
  • Define processes means writing huge but digestable procedural document, but that’s the price we have to pay to have a clear business understanding of concepts like ECM and ALM.

    So for ECM it means a common model and taxonomy, which can be arbitrarily complex.
    For this we defines clear ALM processes based on maven to have standardization of project creation, development, release and deployment.
  • I don’t ask you to go into the details of this , but the interesting bits are from an organization POV, despite all rectangles represents different project locations and so separete business projects, by the means of dependency, inheritance and agggregation

    Project inheritance, used can centralize key common enterprise project features
    Project aggregation, to be able to manage multiple project at once

    We are also 100% open source ready as the AMP produced b
  • Bueno vamos a empezar con un poco de agenda, asi que tengamos todos una idea de le que os voy a entroducir.

    Antetodo empezamos con una introduccion a las razones que han motivado la creacion de un nuevo estandar como ceMIS y cual son los casos de uso mas importante por los cuales ha sido dibujado.

    Luego vamos a ententar a dar una descriccion general del modelo de dominio que esta proporcionado por el ceMIS y que es la base para comprender la terminologia que vamos a utilizar hoy.

    Asi que no quedais aburridos de tanta teoria, durante la primera demo voy a introducir las interfaz CMIS de Alfresco y a ensenaros el modelo de datos que introducire’ en el primer punto.

    A seguir, vamos a comentar un poco los servicios abstractos que un servidor web CMIS tiene que ofrecer para ser conforme al estandar : uno de los servicios mas importantes en el mundo del ECM es seguramente lo de interogacion (query), y por esto nos vamos a detallar mas los mecanismos de query de CMIS.

    Seguira’ una pequena demo de una simple aplicacion de query CMIS que he implementado por esta serie de Master Classes.

    A conclusion, os hablare’ un poco de los diferientes interfaces de CMIS (ReST y la de servicios web) y de las hierramientas que ya estan disponibles para desarollar sobre CMIS.

    Y si nos queda tiempo estare bien feliz de contestar a vuestras preguntas.
  • Bueno vamos a empezar con un poco de agenda, asi que tengamos todos una idea de le que os voy a entroducir.

    Antetodo empezamos con una introduccion a las razones que han motivado la creacion de un nuevo estandar como ceMIS y cual son los casos de uso mas importante por los cuales ha sido dibujado.

    Luego vamos a ententar a dar una descriccion general del modelo de dominio que esta proporcionado por el ceMIS y que es la base para comprender la terminologia que vamos a utilizar hoy.

    Asi que no quedais aburridos de tanta teoria, durante la primera demo voy a introducir las interfaz CMIS de Alfresco y a ensenaros el modelo de datos que introducire’ en el primer punto.

    A seguir, vamos a comentar un poco los servicios abstractos que un servidor web CMIS tiene que ofrecer para ser conforme al estandar : uno de los servicios mas importantes en el mundo del ECM es seguramente lo de interogacion (query), y por esto nos vamos a detallar mas los mecanismos de query de CMIS.

    Seguira’ una pequena demo de una simple aplicacion de query CMIS que he implementado por esta serie de Master Classes.

    A conclusion, os hablare’ un poco de los diferientes interfaces de CMIS (ReST y la de servicios web) y de las hierramientas que ya estan disponibles para desarollar sobre CMIS.

    Y si nos queda tiempo estare bien feliz de contestar a vuestras preguntas.
  • Bueno vamos a empezar con un poco de agenda, asi que tengamos todos una idea de le que os voy a entroducir.

    Antetodo empezamos con una introduccion a las razones que han motivado la creacion de un nuevo estandar como ceMIS y cual son los casos de uso mas importante por los cuales ha sido dibujado.

    Luego vamos a ententar a dar una descriccion general del modelo de dominio que esta proporcionado por el ceMIS y que es la base para comprender la terminologia que vamos a utilizar hoy.

    Asi que no quedais aburridos de tanta teoria, durante la primera demo voy a introducir las interfaz CMIS de Alfresco y a ensenaros el modelo de datos que introducire’ en el primer punto.

    A seguir, vamos a comentar un poco los servicios abstractos que un servidor web CMIS tiene que ofrecer para ser conforme al estandar : uno de los servicios mas importantes en el mundo del ECM es seguramente lo de interogacion (query), y por esto nos vamos a detallar mas los mecanismos de query de CMIS.

    Seguira’ una pequena demo de una simple aplicacion de query CMIS que he implementado por esta serie de Master Classes.

    A conclusion, os hablare’ un poco de los diferientes interfaces de CMIS (ReST y la de servicios web) y de las hierramientas que ya estan disponibles para desarollar sobre CMIS.

    Y si nos queda tiempo estare bien feliz de contestar a vuestras preguntas.
  • Bueno vamos a empezar con un poco de agenda, asi que tengamos todos una idea de le que os voy a entroducir.

    Antetodo empezamos con una introduccion a las razones que han motivado la creacion de un nuevo estandar como ceMIS y cual son los casos de uso mas importante por los cuales ha sido dibujado.

    Luego vamos a ententar a dar una descriccion general del modelo de dominio que esta proporcionado por el ceMIS y que es la base para comprender la terminologia que vamos a utilizar hoy.

    Asi que no quedais aburridos de tanta teoria, durante la primera demo voy a introducir las interfaz CMIS de Alfresco y a ensenaros el modelo de datos que introducire’ en el primer punto.

    A seguir, vamos a comentar un poco los servicios abstractos que un servidor web CMIS tiene que ofrecer para ser conforme al estandar : uno de los servicios mas importantes en el mundo del ECM es seguramente lo de interogacion (query), y por esto nos vamos a detallar mas los mecanismos de query de CMIS.

    Seguira’ una pequena demo de una simple aplicacion de query CMIS que he implementado por esta serie de Master Classes.

    A conclusion, os hablare’ un poco de los diferientes interfaces de CMIS (ReST y la de servicios web) y de las hierramientas que ya estan disponibles para desarollar sobre CMIS.

    Y si nos queda tiempo estare bien feliz de contestar a vuestras preguntas.
  • Bueno vamos a empezar con un poco de agenda, asi que tengamos todos una idea de le que os voy a entroducir.

    Antetodo empezamos con una introduccion a las razones que han motivado la creacion de un nuevo estandar como ceMIS y cual son los casos de uso mas importante por los cuales ha sido dibujado.

    Luego vamos a ententar a dar una descriccion general del modelo de dominio que esta proporcionado por el ceMIS y que es la base para comprender la terminologia que vamos a utilizar hoy.

    Asi que no quedais aburridos de tanta teoria, durante la primera demo voy a introducir las interfaz CMIS de Alfresco y a ensenaros el modelo de datos que introducire’ en el primer punto.

    A seguir, vamos a comentar un poco los servicios abstractos que un servidor web CMIS tiene que ofrecer para ser conforme al estandar : uno de los servicios mas importantes en el mundo del ECM es seguramente lo de interogacion (query), y por esto nos vamos a detallar mas los mecanismos de query de CMIS.

    Seguira’ una pequena demo de una simple aplicacion de query CMIS que he implementado por esta serie de Master Classes.

    A conclusion, os hablare’ un poco de los diferientes interfaces de CMIS (ReST y la de servicios web) y de las hierramientas que ya estan disponibles para desarollar sobre CMIS.

    Y si nos queda tiempo estare bien feliz de contestar a vuestras preguntas.
  • 20091204 Alfresco Community Maven Tech Talk

    1. 1. Maven and Alfresco or the dynamic duo :) Gabriele Columbro, Alfresco Solution Engineer, EMEA Blog: http://www.mindthegab.com Twitter: https://twitter.com/mindthegabz 1
    2. 2. Agenda ● Why Apache Maven? ● The Maven Alfresco Community Repository ● Maven Alfresco Lifecycle • Alfresco Lifecycle Demo ● CMIS Maven Toolkit • CMIS Maven Toolkit Demo ● SURFing the future opportunities ● Open discussion
    3. 3. Agenda ● Why Apache Maven? ● The Maven Alfresco Community Repository ● Maven Alfresco Lifecycle • Alfresco Lifecycle Demo ● CMIS Maven Toolkit • CMIS Maven Toolkit Demo ● SURFing the future opportunities ● Open discussion
    4. 4. Apache Maven who? ● Maven Is the standard de facto for Application Lifecycle Management: ● Opensource and J2EE oriented ● Uses standard commands to manage all software lifecycle phases from creation to release ● Support dependency management ● Extensible: ● Can package AMPs via the maven-amp-plugin ● Allows an Extension WAR to depend on AMP (alternative to MMT) ● Enabler for a vibrant community!
    5. 5. Who’s using Maven? http://www.zeroturnaround.com/blog/the-build-tool-report-turnaround-times-using-ant-maven-eclipse-intellij-and-netbeans/ 5
    6. 6. Maven is about processes ● Maven is *not* just an Ant replacement ● Can manage the FULL lifecycle of an application ● A fool with a tool is still a fool but: ● Support definition of standard lifecycle processes ● Different parties / one standard ● Process automation ● Continuous integration ● Transactional release process ● Generation of release notes 6
    7. 7. Demistifying concerns ● Maven is not mature ● Vibrant growing community ensure sustainability ● Native Netbeans and m2eclipse integrations ● Maven is black magic ● Typically reduces the complexity of build files of a 10 factor, allowing to focus on core competencies ● Need to learn a new technology ● Standard de facto and based on standard commands and lifecycle phases 7
    8. 8. Still not convinced? Just to name a few ! 8
    9. 9. (some of the) Maven benefits ● Development ● Standard well known development procedures ● 80/20% functionality rule ● Integrated in Eclipse ● Documentation ● Wiki style documentation and reporting integration ● Application management ● Community ready as clean release process 9
    10. 10. Maven and Alfresco ● Alfresco uses an Ant SDK but looks with growing interest for a Maven approach: ● For providing a new SDK (community and enterprise) ● For building part of the Alfresco packages (e.g. spring- surf) ● Ongoing projects: ● 2007: Maven Alfresco Lifecycle http://wiki.alfresco.com/wiki/Managing_Alfresco_Lifecyle_with_Maven ● 2009: CMIS Maven Toolkit http://wiki.alfresco.com/wiki/CMIS_Maven_Toolkit ● 2009: Spring Surf contribution http://www.springsource.org/extensions/se-surf 12/04/09 10
    11. 11. Agenda ● Why Apache Maven? ● The Maven Alfresco Community Repository ● Maven Alfresco Lifecycle • Alfresco Lifecycle Demo ● CMIS Maven Toolkit • CMIS Maven Toolkit Demo ● SURFing the future opportunities ● Open discussion
    12. 12. Maven and Alfresco The “Before” ● Projects on Maven and Alfresco start in 2007 ● Founder is Sourcesense, Alfresco Pan European partner: ● First releases of Maven Alfresco Lifecycle ● Maven Hosting infrastructure ● Sourcesense Public Maven Repository http://repository.sourcesense.com/nexus ● Hosting archetypes and plugins releases ● Hosting Alfresco Community JARs and WARs < 3.2r2 ● Now deprecated and proxied
    13. 13. Launching the Maven Alfresco Community As of December 1st, 2009 Alfresco hosts a Maven Repository for Alfresco Community artifacts http://maven.alfresco.com/
    14. 14. Why a Maven Repository? ● Consolidate projects and docs around Maven ● Single source Alfresco artifacts upon new releases ● And later sync to Maven Central! ● Ease integration with other J2EE Maven powered frameworks ● Support the Community contributions and standardize the Maven approach Alfresco Community artifacts only!
    15. 15. Repository details ● Based on Sonatype Nexus Community 1.4.0: http://nexus.sonatype.org/ ● Releases: http://maven.alfresco.com/nexus/content/groups/releases/ ● Snapshots: http://maven.alfresco.com/nexus/content/groups/snapshots/ ● Docs: http://maven.alfresco.com/nexus/content/repositories/alfresco-docs/ ● How to use Alfresco Community Repo via Add the <repository> sections in your pom.xml <repositories> <repository> <id>alfresco-public</id> <url>http://maven.alfresco.com/nexus/content/groups/public</url> </repository> <repository> <id>alfresco-public-snapshots</id> <url>http://maven.alfresco.com/nexus/content/groups/public-snapshots</url> <snapshots><enabled>true</enabled></snapshots> </repository> </repositories>
    16. 16. Use Alfresco in your apps ● Alfresco community artifacts are uploaded to the Maven Alfresco Community Repository ● You can pull in Alfresco Artifacts (Repo, Share, JARs, AMPs) by simple dependency management: How to use Alfresco in your project How to use Alfresco Share in your <dependencies> project <dependency> <dependencies> <groupId>org.alfresco</groupId> <dependency> <artifactId>alfresco</artifactId> <groupId>org.alfresco</groupId> <type>war</type> <artifactId>share</artifactId> <version>3.2r2</version> <type>war</type> <classifier>community</classifier> <version>3.2r2</version> </dependency> <classifier>community</classifier> ... </dependency> </dependencies> ... </dependencies>
    17. 17. Agenda ● Why Apache Maven? ● The Maven Alfresco Community Repository ● Maven Alfresco Lifecycle • Alfresco Lifecycle Demo ● CMIS Maven Toolkit • CMIS Maven Toolkit Demo ● SURFing the future opportunities ● Open discussion
    18. 18. Why a Maven Lifecycle? ● The Maven Alfresco Lifecycle is meant to: ● Standardize Community development on Alfresco ● Offer a non Eclipse only (but Eclipse also) SDK ● Scalable to Community and distributed development models ● Dependencies in controlled environments Maven Alfresco Lifecycle is a set of Maven archetypes and plugins for Alfresco 18
    19. 19. Maven Alfresco Lifecycle target contexts ● Originally developed at Sourcesense for ● Open source and Enterprise integration (e.g. NXP) ● Re-use of System Integration skills via archetypes ● Based integration of build quality standards ● Case study (NXP) http://www.slideshare.net/guest67a9ba/maven-application-lifecycle-management-for-alfresco ● Complex scalable development infrastructure ● Multiple AMPs (business processes) ● Re-use as main rational
    20. 20. Complexity under control
    21. 21. Lifecycle Components ● Maven Alfresco Extension archetype Alfresco Repository Extension WAR development ● One liner to create and run Alfresco embedded ● Environment dependent build ● New Maven Alfresco Share archetype Alfresco Share Customization development ● One liner to create and run Share embedded ● Environment dependent build ● Maven Alfresco AMP archetype Alfresco AMP development 21
    22. 22. Using the Lifecycle Maven+AMP plugin can be alternative to SDK+Ant +MMT ! Base Features Advanced features ● AMP Packaging ● Release support ● Share development ● JIRA integration for release ● WAR depending on AMP !!! ● Run embedded in Jetty ● Environment dependent ● Deployment to Tomcat/Jboss packaging ● Selenium testing ● Documentation site support ● Etc... http://wiki.alfresco.com/wiki/ Managing_Alfresco_Lifecyle_with_Maven 22
    23. 23. Agenda ● Why Apache Maven? ● The Maven Alfresco Community Repository ● Maven Alfresco Lifecycle • Alfresco Lifecycle Demo ● CMIS Maven Toolkit • CMIS Maven Toolkit Demo ● SURFing the future opportunities ● Open discussion
    24. 24. Maven Lifecycle Demo ● Demoing from http://wiki.alfresco.com/wiki/ Managing_Alfresco_Lifecyle_with_Maven 1.Alfresco Repository Extension creation and running 2.Alfresco Share Extension creation and running 3.Alfresco AMP creation and integration 4.Q/A 24
    25. 25. Agenda ● Why Apache Maven? ● The Maven Alfresco Community Repository ● Maven Alfresco Lifecycle • Alfresco Lifecycle Demo ● CMIS Maven Toolkit • CMIS Maven Toolkit Demo ● SURFing the future opportunities ● Open discussion
    26. 26. CMIS Maven Toolkit ● CMIS 1.0cd04 Maven toolkit hosted on Maven Alfresco Community Repository http://wiki.alfresco.com/wiki/CMIS_Maven_Toolkit ● What is it: ● Started as CMIS Master Labs for Alfresco Meetups ● Using the Apache Chemistry ReST TCK ● Toolkit for building CMIS based applications ● Example of Maven as development framework 26
    27. 27. CMIS Toolkit features ● Quickstart creation via Maven archetype: mvn archetype:generate -DarchetypeCatalog=http://maven.alfresco.com/nexus/content/ repositories/releases/archetype-catalog.xml ● Features ● Easy-to-use wrapper for the TCK CMISClient ● Sample SpringMVC CMIS-SQL Query webapp ● ReST CMIS data import examples ● Single configuration point in the pom.xml http://ur.ly/3f2q 27
    28. 28. Toolkit architecture -'()*$!+,./01,#2$3&2!*, !"#$%&'()*$!+%!+", ?*"+3*, @A, ;<<=,>,-3+"=69 B+!&', @A@C, !"#$456*)748*9&::, ;<<=, D)+8$*), 28
    29. 29. Agenda ● Why Apache Maven? ● The Maven Alfresco Community Repository ● Maven Alfresco Lifecycle • Alfresco Lifecycle Demo ● CMIS Maven Toolkit • CMIS Maven Toolkit Demo ● SURFing the future opportunities ● Open discussion
    30. 30. Maven CMIS Toolkit Demo ● Demoing from http://wiki.alfresco.com/wiki/CMIS_Maven_Toolkit 1.Creation of the Maven CMIS toolkit 2.Test of the platform against http:// cmis.alfresco.com 3.Run of the sample CMIS Query Webapp 4.Q/A 30
    31. 31. Agenda ● Why Apache Maven? ● The Maven Alfresco Community Repository ● Maven Alfresco Lifecycle • Alfresco Lifecycle Demo ● CMIS Maven Toolkit • CMIS Maven Toolkit Demo ● SURFing the future opportunities ● Open discussion
    32. 32. Bright future for Maven ● This is only a starting point! ● Maven Alfresco strategy: ● Grow the Lifecycle for the Community • Lifecycle now complete with Share archetype • Allow easy testing via Alfresco POMs ● Integrate technologies •Add a Spring Surf ready archetype •Simplify Eclipse integration ● Feedback and improve! 32
    33. 33. How to contribute? ● Join the discussion group: http://groups.google.com/group/maven-alfresco ● Connect to our repository: ● We can proxy your Repository ● We can deploy Community contributions there! ● Express your feedback via the Community! 33
    34. 34. Roadmap ● Unplanned but expected: “Move to Maven as core build technology” ● Benefits: ● Full Maven based SDK •Unit/integration/regression testing ● Standardized processes •Community / QA/ Docs / Support / Partners ● Simpler enterprise integration •Repository also for Enterprise artifacts 34
    35. 35. Agenda ● Why Apache Maven? ● The Maven Alfresco Community Repository ● Maven Alfresco Lifecycle • Alfresco Lifecycle Demo ● CMIS Maven Toolkit • CMIS Maven Toolkit Demo ● SURFing the future opportunities ● Open discussion
    36. 36. Feedback plz! Any feedback or doubts? Do you like this approach? Would you use Maven to develop on Alfresco? Which features would you like in the Maven Alfresco Lifecycle? Any Maven based contribution? Any success story or prospect to impress with Maven? 68
    37. 37. Thank you! Starring: Speaker’s personal blog http://mindthegab.com/ Maven Alfresco Lifecycle http://wiki.alfresco.com/wiki/Managing_Alfresco_Lifecyle_with_Maven Maven Alfresco Community Repository http://maven.alfresco.com/ CMIS Maven toolkit http://wiki.alfresco.com/wiki/CMIS_Maven_Toolkit Spring Surf http://www.springsource.org/extensions/se-surf Contact us gabriele.columbro@alfresco.com 68
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×