gabriele columbro - maurizio pillitu - get your alfresco project from zero to hero with the maven...
DESCRIPTION
Alfresco has gone a long way in providing best-of-breed tools to power the full spectrum of an ECM project, from inception to delivery. In this session, based on real business cases, we'll demostrate how, using tools like the Maven Alfresco SDK and Alfresco Boxes, you can deliver a fully working Alfresco customized project from scratch running in the Cloud, all of this using quality focused, reproducible, reliable, Enterprise ready processes.TRANSCRIPT
![Page 1: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/1.jpg)
From Zero to Hero
Gabriele Columbro WW Manager Expert Services
Maurizio PillituTechnical Consultant, EMEA
Get your Alfresco Project
with Alfresco SDK 2.0 and Alfresco Boxes
![Page 2: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/2.jpg)
Inspired to: https://developers.facebook.com/blog/post/417/
Where it all started…
![Page 4: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/4.jpg)
![Page 5: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/5.jpg)
![Page 6: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/6.jpg)
![Page 7: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/7.jpg)
Mission statements
Deliver a true rapid development experience on Alfresco, integrating but not depending on IDEs.
Enable unprecedented quality and longevity of your Alfresco projects.
Automate key project lifecycle phases.
Provision reliably arbitrarily complex architectures.
![Page 8: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/8.jpg)
Inception Provisioning & deployment
Release & distribution
Development
Alfresco basic project lifecycle
![Page 9: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/9.jpg)
Inception Release & distribution
Development Provisioning & eployment
Lifecycle ownership
Dev Ops
![Page 10: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/10.jpg)
Today’s menu
• Dev —> Alfresco SDK 2.0• The ultimate Alfresco Developer
experience
• Ops —> Alfresco Boxes • The ultimate Alfresco Deployment
experience
• Use case & demo• “Real life” project from scratch
![Page 11: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/11.jpg)
How do Dev & Ops talk?
• In this case, like in Italian :))))
• The role of the artifact repository • Exchange of AMP / WAR artifacts between
actors• Publishing and distribution of artifacts for
downstream usage• Searchable
• Example (s)• https://artifacts.alfresco.com• Your own corporate Maven repository
![Page 12: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/12.jpg)
Alfresco SDK 2.0
The best Alfresco development experience to date. By far. And 100% Community.
![Page 13: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/13.jpg)
Maven updates
https://twitter.com/pmonks/status/513907704859873280
![Page 14: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/14.jpg)
Alfresco Maven Developers Bulletin• Alfresco 5 is fully built with Maven
• Yes, it was about time to drop Ant.
• Maven Alfresco SDK 2.0.0 (beta-4) is out • Compatible with Alfresco 5.x• Available on Maven Central!
• “Old” Eclipse + Ant SDK deprecated• Not shipped with Alfresco 5.x• Superseded by the Maven Alfresco SDK
![Page 15: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/15.jpg)
Alfresco SDK Metamorphosis
![Page 16: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/16.jpg)
SDK 2.0 New Killer Features
RAD (Rapid Application Development)Hot Java Reloading with SpringLoaded &
Tomcat7 For AMP and All in One archetype
IDE Integration and independenceWorks non intrusively OOTB with Eclipse &
Idea
Share AMP archetypeWith sample Aikau widget!
![Page 17: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/17.jpg)
How hot is hot?
What’s reloaded?Java code (main & unit tests)Javascript & Freemarker templates (web
scripts)Web resources / JSP
What’s not reloaded?Spring context files (YMMV with JRebel)Properties files (use JMX instead)
![Page 18: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/18.jpg)
More SDK 2.0 FeaturesQuality
Alfresco Share Selenium tests supportRemote JUnit test executionAlfresco Technical Validation Tool (experimental)
IntegrationsRM (Records Management) support
100% CommunitySDK released to Maven Central! SDK project migrated to Github
![Page 19: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/19.jpg)
Use the SDK 2.0 in your project!
<parent> <groupId>org.alfresco.maven</groupId> <artifactId>alfresco-sdk-parent</artifactId> <version>2.0.0-beta-4</version> </parent>
2.0.0 will be released by London Summit (Oct 2014)
![Page 20: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/20.jpg)
Develop!https://artifacts.alfresco.com/nexus/content/groups/public/alfresco-sdk-aggregator/latest/index.html
Alfresco SDK 2.0 at a glance
Use!http://docs.alfresco.com/community/concepts/alfresco-sdk-intro.html
Contribute!Report issues:
https://github.com/Alfresco/alfresco-sdk/issues
Fork us: https://github.com/Alfresco/alfresco-sdk/fork
![Page 21: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/21.jpg)
Project “Fettuccine Alfresco”
An engaging and inspiring collaboration platform for our chain of restaurants
![Page 22: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/22.jpg)
Requirements
• Functional• Integration with an external Recipe service
(e.g. BigOven.com)• Recipe of the Day user Dashlet
• Non functional• VM deployment strategy• Continuous delivery • High availability
![Page 23: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/23.jpg)
Demohttps://github.com/mindthegab/fettuccine-alfresco-aio• Rapid development in with Alfresco
SDK• Java backed webscript• Repo service• Share dash let
• Provisioning with Alfresco Boxes• ISO based• Packer• Vagrant
![Page 24: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/24.jpg)
Alfresco Boxes
Bring your Alfresco deployment strategy to the next level building Alfresco Boxes in a configurable, consistent way.
Whatever Boxes means.
![Page 25: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/25.jpg)
Disclaimer
Not Alfresco Supportedhttps://github.com/maoo/alfresco-boxesNot a full Alfresco Installer replacement
ExperimentalFew customers early adopters
![Page 26: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/26.jpg)
So Many Alfresco Boxes!
Type
ISO
AMI
Docker Image
...
Purpose
Bulk Upload
Share UI
Solr indexing
Allinone
...
ContainerVirtualBox,VMWare
Docker run
Amazon EC2 Dashboard
Bare Metal
...
![Page 27: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/27.jpg)
How to build a Box
Start from an official distro
http://releases.ubuntu.com/ 12.04.4/ubuntu-12.04.4- server-amd64.iso
Support local virtualisation tools
VBox, VMWare, Parallels,...
Support cloud virtualisation services
Amazon, DigitalOcean, Google,...
Consistent provisioning syntax
JSON declarative configuration of all arch.
components
ModularInclude/Exclude arch.
components
ExtensibleUse custom artifacts and
configuration parameters
Production-ready No additional
configuration steps, no restarts
Cluster-ready Enterprise images can be executed several times to
create a clustered installation
![Page 28: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/28.jpg)
Component Basedmysql, tomcat,
transform, repo, solr, share
Install custom AMPsSharepoint Protocol
extension installed by default
Generate or patch alfresco-global, share-
config, log4j properties
Download, unzip, filter
external ZIP file to create $TOMCAT_HOME/shared/cl
asses
Fetch artifactsfrom filesystem, URL or
Maven repositories
Fully configurable alfresco-global, share-config, log4j properties
Use custom WARsfor repo, solr or share
applications
Provisioning with Chef Alfresco
![Page 29: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/29.jpg)
https://github.com/maoo/chef-alfresco
![Page 30: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/30.jpg)
![Page 31: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/31.jpg)
Building with Packer
vmware-vmx vmware-vmx
docker docker
amazon-ebs amazon-ebs
virtualbox-iso virtualbox-isochef-solo (chef-alfresco)
shell
puppet
BuildersProvisioners
![Page 32: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/32.jpg)
Building acme project{ "builders": [ { "type": "amazon-ebs", "source_ami": "ami-a4e81fd3", ... }, { "type": "virtualbox-iso", "iso_url": "http://releases.ubuntu.com/12.04.4/ubuntu-12.04.4-server-amd64.iso", ... } ],
![Page 33: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/33.jpg)
"alfresco": { "components" : ["tomcat","transform","repo","share","solr","mysql"] "generate.global.properties" : false, "generate.repo.log4j.properties" : false, "generate.share.config.custom" : false, "start_service": true, "artifacts": { "alfresco": { "groupId": “it.fettuccine.alfresco”, "artifactId": "repo", "version": “1.0.0" }, "share": { "groupId": "it.fettuccine.alfresco", "artifactId": "share", "version": “1.0.0" } ...
Provisioning acme project
![Page 34: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/34.jpg)
{ "id":"maoo-public", "url": "https://repository-maoo.forge.cloudbees.com/release", "username":"null", "password":"null"}
Configuring Maven repo access
packer build -only virtualbox-iso summit-demo.json
Running Packer build
![Page 35: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/35.jpg)
Image Hierarchy
alfresco base
ubuntu 12.04
alfresco web base
alfresco repo base
alfresco allinone
community
alfresco allinone
enterprise
alfresco share
alfresco repo
alfresco solr
Base Images
Allinone Images
Architecture Images
https://hub.docker.com/u/maoo
![Page 36: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/36.jpg)
An Alfresco Architecture
Alfresco Share
Alfresco Repo
Share/Repo data
Index tracking
Search Query
HTTP Balancing
DATA
DB Access
FS Access
Alfresco Share
Alfresco Repo
SOLR1
BULK DB
Alfresco Repo
Alfresco Solr
HA Proxy
Alfresco Repo
SHARE2SHARE1
LB
SKYDOCK
SKYDNS
![Page 37: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/37.jpg)
Alfresco Boxes Overview
Build Images(with Packer Builders)
Run @cloud(with Amazon Dashboard)
Run @local (with
Vagrant) Run @virtual (with Docker)
Publish Images(with Packer Builders)
public/private AMI public/private Docker Registry
![Page 38: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/38.jpg)
https://github.com/maoo/alfresco-boxes
![Page 39: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/39.jpg)
What's nextOrchestration and Dashboardingkubernetes, fig, weaze, …
More integrationOracle, PostgreSQL, MSSQL, CentOS, JBoss, …
More imagesshare-only, solr-only, …
More featuresRestore from a backup snapshot, DB clustering, …
![Page 40: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/40.jpg)
Today’s take away
DevSDK 2.0 enables unprecedented
development experience and quality in development and release of your Alfresco Projects
OpsAlfresco Boxes provides a first
comprehensive attempt to cover the Alfresco deployment lifecycle in the Cloud era.
![Page 41: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/41.jpg)
We got you covered!
![Page 42: Gabriele Columbro - Maurizio Pillitu - Get your Alfresco project from Zero to Hero with the Maven Alfresco SDK and Alfresco Boxes - Alfresco Summit San Francisco 2014](https://reader036.vdocuments.us/reader036/viewer/2022062300/5575a80dd8b42aff598b51c1/html5/thumbnails/42.jpg)
Thank you / Grazie!
Gabriele [email protected]: @mindthegabzhttp://mindthegab.com
Maurizio [email protected]: @maoo