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

Maven Alfresco SDK @ Alfresco Rome Meetup


Published on

Published in: Technology

Maven Alfresco SDK @ Alfresco Rome Meetup

  1. 1. Maven Alfresco SDK 1.0.1Gabriele Columbro Maurizio PiIllitu
  2. 2. What is the Maven Alfresco SDK?• A set of tools and samples to manage the full lifecycle of Alfresco based project – Build and packaging – Unit Testing and Debugging – Release and distribution – Any other Maven feature (e.g. artifacts signing, documentation)• What does it entail? – A parent POM you can use in your project to enable SDK features – Project Samples & Prototyping via archetypes (AMP & All- in-One)
  3. 3. Why another SDK?• To enable the next quality level on Alfresco customizations!• For the Enterprise Network – Maven is standard de facto for our key customers – Enable development of quality extensions (unit testing support) – Enable IDE-independent processes (e.g. CI)• For the Community network – Maven is widely used and standard – Clearly identifiable / searchable artifacts in the Artifacts Repository• For the Integration Engineering team – Standardized on Maven for integrations – Maven naturally allows fine grained dependency on Alfresco specific versions / editions• Trust us, we feel the pain 
  4. 4. What am I talking about?
  5. 5. But there’s more…
  6. 6. In other words…
  7. 7. A bit of (a success) history…• 2009: Maven Alfresco Archetypes started – A (quite messy) set of field Maven best practices – Remember an earlier brownbag?• 2009: Maven Alfresco Lifecycle (up to 3.9.1) – Consolidation of archetypes and plugins• June 2012: Alfresco Artifacts Repository! – Alfresco Enterprise artifacts available!• Nov 2012: Maven Alfresco SDK 1.0 out!
  8. 8. The SDK at a glance! Archetypes SDK POM Plugin Alfresco Deployment Artifacts <dependency> Repository
  9. 9. Maven Alfresco SDK components• Alfresco Maven Plugin – Embeds Alfresco MMT• Alfresco SDK Parent POM – SDK single point of entrance• Alfresco Platform Distribution POM – Community / Enterprise• Alfresco Maven archetypes – AMP & All-in-One
  10. 10. Maven Alfresco SDK use cases• AMP archetype – Create an Alfresco module from scratch – Create a Share customization from scratch• All-in-One archetype – Manage a full blown (foundation) Alfresco project – Build and distribute WARs (potentially depending on AMPs) – Evaluate Alfresco with one command – Demo Alfresco or reproduce an issue in minutes• SDK Parent POM – Enable your existing Maven project to use SDK features – You are Maven guru and know much better than using archetypes!
  11. 11. Or more complex scenarios…
  12. 12. Compatibility notes• Prerequisites: – Apache Maven 3.0.4 – There are no more pre-requisites • Compatibility notes: – Compatible with Alfresco Community 4.2+ & Alfresco Enterprise 4.1.2+ – For embedded running we leverage Jetty and H2 embedded • Only for development purposes! • H2 uses Postgres compatibility/emulation mode • Deployment to other appservers comes for free with Maven
  13. 13. Demo• Overview of SDK functionalities – Create an All-in-One project – Developer experience – Unit testing – Environment dependent properties• A more complex example
  14. 14. Some numbers• Great (and measurable) impact in our Network!• Maven Alfresco Google Group – About 130 subscribers – Daily activity• Google Code Project – 4 active committers (Gab, Mao, Samuel, Ray) – About 20 contributors• Alfresco Artifacts Repository – More than 100 customers subscribed in 6 months  – BETA: Downloads tracked in Google Analytics (see BDE- 123)
  15. 15. Roadmap• Maven Alfresco SDK 1.0.1 – Released a month ago!  – Adds support for Alfresco Enterprise• Maven Alfresco SDK 1.1 – RAD and Hot code deployment (Jrebel or mvn jetty:run) – Integration test support • Potentially using WebDrone and benchmark server• Other high impact activities: – Alfresco Community on Maven Central for easy access to all the J2EE developers community (5 XML lines away) – More and Enterprise only archetypes • One command cluster local setup archetypes
  16. 16. Get involved!• Documentation – Maven generated Documentation Site – DevCon presentations – Google group archive• Community – Join the Maven Alfresco Google group – Contribute in the Google Code project• Resources – SDK on Alfresco artifacts – Bamboo build
  17. 17. So do you love it or what?
  18. 18. Questions?
  19. 19. Thanks! Gabriele Columbro Maurizio Pillitu Principal Technical Consultant, Architect, Consulting Consulting Services Services