SlideShare ist ein Scribd-Unternehmen logo
1 von 45
#AlfrescoDayBarcelona
Marco Mancuso
• Currently Alfresco DevOps team
• Previously…
– Alfresco global Support team
• Advance Team
• Expert Team
• Development Support
– Developer for Italian OSS Consultancy Company (Alfresco Partner)
Aboutus
Aboutus
Alfresco Devops
Keep the lights on
• Public services (activiti|my.alfresco.com, Alfresco
Online Trials)
• Internal infrastructure
• Internal projects (QA, Engineering, Sales, Marketing,
...)
Automate all the things
• Mostly inspire
• Sometimes lead
• Never impose
Alfresco Demo Data
Big Questions
What? Why? How? Where?
What it is?
AMP
BigQuestions
What it is NOT?
BigQuestions
Not an import/export tool!
Not a migration tool!
• Not tested against large data
• Just tested at bootstrap time
Why Demo Data?
BigQuestions
https://www.alfresco.com/products/one/trial/online
What else?
• Quickly test customisations with limited set of predefined bootstrapped
data
• Collaborative approach on data definition
• Show test environments:
– Marketing
– Sales
– Partners
– …
• Needs Little or NO configuration at all!
BigQuestions
How does it work?
• 2 repo AMPs:
BigQuestions
• Applied to the repo in which to
export data
• Contains all the APIs to extract
data
• Applied at bootstrap time to
the repo
• Contains all the data to
bootstrap
Users.acp
mysite.acp
myfolder.acp
…
Timeline
BigQuestions
Where I can find the project?
https://github.com/maoo/alfresco-demo-data
BigQuestions
General Details
What is it possible to export & bootstrap?
• Full Share Sites
• Contents in Company Home
– Models (Bootstrap)
– Virtual Folders
– Scripts
– Webscripts
– Workflows (Bootstrap)
• Models (Dynamic)
• Workflows (Dynamic)
• Authorities ( Users + People + Groups)
GeneralDetails
Technologies used
• Alfresco 5.1.EA
– AMP
– Java Backed WebScripts
– Patch Service
– Bootstrap Services
– ACP
• Alfresco Maven SDK 2.1.1 All In One Archetype
• Java
• Spring
• Maven
GeneralDetails
Export APIs
Export a Site
• Existing Alfresco API
• (GET) http://localhost:8080/alfresco/s/api/sites/{SITE_NAME}/export
• Admin authentication
ExportAPIs
SiteName.zip
Contents.acp
Users.acp
People.acp
Groups.txt
Export the authorities (1/2)
• Custom API
• (GET) http://localhost:8080/alfresco/s/api/people-groups/export
• Optional Parameters:
ExportAPIs
usersToExport users to export Default: ALL
groupsToExport groups to export Default: ALL
excludeSiteGroups TRUE/FALSE Default: False
groupsToExclude groups to exclude Default: NULL
usersToExclude users to exclude Default: NULL
Export the authorities (2/2)
ExportAPIs
people-users-groups-export.zip
Users.acp
People.acp
Groups.json
Excluded: admin + guest
Export files/folders
• Custom API
• (GET) http://localhost:8080/alfresco/s/api/file-folder/export?path={path}
• Optional Parameters:
• It can extract just content inside Company Home (No tags/categories)
• ACP file with specified content
ExportAPIs
crawlSelf TRUE/FALSE Default: TRUE
crawlChildNodes TRUE/FALSE Default: TRUE
crawlContent TRUE/FALSE Default: TRUE
crawlAssociations TRUE/FALSE Default: TRUE
AMP structure
AMP
Import
Structure
AMPstructure
Authorities
AMPstructure
Models (standard way) 
AMPstructure
Models 
AMPstructure
Workflows
(standard way)

AMPstructure
Workflows 
AMPstructure
Sites (standard way) 
AMPstructure
Sites 
AMPstructure
Record Management site 
• Treated as standard site
• Problem:
– ACP does not handle well d:any objects:
– rma:readers (type d:any)
– rma:writers (type d:any)
• Solution:
– RMSitePatch: find nodes and convert properties values from String to Map
AMPstructure
Files/Folders (standard way) 
AMPstructure
Files/Folders

AMPstructure
(Model Manager) Content Models
• Alfresco already provides a way to export/import them
• Folders not visible from Share  NodeBrowser
• Path: /app:company_home/app:dictionary/app:models
AMPstructure
Technical Details
So… Where are the configurations?
• (Generally) No configuration is required
• Beans dynamically generated with:
– org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor
• Resources dynamically found with:
– org.springframework.core.io.support.PathMatchingResourcePatternResolver
TechnicalDetails
Just one single configuration bean
TechnicalDetails
Order really matters!
Dynamic order to bootstrap content:
1. Company Home
2. Models
3. Workflows
4. Sites (on Context Refresh)
5. Authorities (on Context Refresh)
TechnicalDetails
Let’s run it!
Prerequisites
• Alfresco Maven SDK 2.1.1 with Alfresco 5.1:
– JDK 1.8
– Maven 3.2.5 or above
Let’srunit!
How to run the SDK
1. git clone git@github.com:maoo/alfresco-demo-data.git
2. cd alfresco-demo-data
3. ./run.sh
4. Go to http://localhost:8080/share
Let’srunit!
How to create the bootstrap AMP
1. git clone git@github.com:maoo/alfresco-demo-data.git
2. cd /alfresco-demo-data/alfresco-demo-data-repo-amp
3. mvn package –DskipTests=true
4. AMP in /alfresco-demo-data/alfresco-demo-data-repo-amp/target
Let’srunit!
How to create the export AMP
1. git clone git@github.com:maoo/alfresco-demo-data.git
2. cd /alfresco-demo-data/alfresco-demo-data-exporter-repo-amp
3. mvn package –DskipTests=true
4. AMP in /alfresco-demo-data/alfresco-demo-data-exporter-repo-amp/target
Let’srunit!
ACP Limitations
• Document categories and tags
• Content models with d:any properties
• Node versions
• Secondary parents
• ACP export/import can only be used between same versions
Limitations
Questions?
¡Gracias!
@Alfresco
Síguenos en
#AlfrescoDayBarcelona

Weitere ähnliche Inhalte

Was ist angesagt?

Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewZia Consulting
 
Perforce Web Services
Perforce Web ServicesPerforce Web Services
Perforce Web ServicesPerforce
 
Groovy & Grails eXchange 2012 - Building an e-commerce business with gr8 tec...
Groovy & Grails eXchange 2012 - Building an  e-commerce business with gr8 tec...Groovy & Grails eXchange 2012 - Building an  e-commerce business with gr8 tec...
Groovy & Grails eXchange 2012 - Building an e-commerce business with gr8 tec...Domingo Suarez Torres
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016Ortus Solutions, Corp
 
Ria Applications And PHP
Ria Applications And PHPRia Applications And PHP
Ria Applications And PHPJohn Coggeshall
 
Alfresco Tech Talk Live - REST API of the Future
Alfresco Tech Talk Live - REST API of the Future Alfresco Tech Talk Live - REST API of the Future
Alfresco Tech Talk Live - REST API of the Future Gavin Cornwell
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentOliver Lemm
 
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-Designer
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-DesignerHadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-Designer
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-DesignerSrikanth Sundarrajan
 
Serena mainframe vug jan 2015 final
Serena mainframe vug   jan 2015 finalSerena mainframe vug   jan 2015 final
Serena mainframe vug jan 2015 finalSerena Software
 
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015Pavel Chunyayev
 
Create a copy of your SharePoint farm with SPDocKit and AutoSPInstaller
Create a copy of your SharePoint farm with SPDocKit and AutoSPInstallerCreate a copy of your SharePoint farm with SPDocKit and AutoSPInstaller
Create a copy of your SharePoint farm with SPDocKit and AutoSPInstallerSysKit Ltd
 
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...Serdar Basegmez
 
The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010Phil Pursglove
 
Replacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMReplacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMAlfresco Software
 
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...European Collaboration Summit
 
ClearCase Escape Plan
ClearCase Escape PlanClearCase Escape Plan
ClearCase Escape PlanPerforce
 

Was ist angesagt? (20)

Alfresco 5.0 Technology Review
Alfresco 5.0 Technology ReviewAlfresco 5.0 Technology Review
Alfresco 5.0 Technology Review
 
Perforce Web Services
Perforce Web ServicesPerforce Web Services
Perforce Web Services
 
Groovy & Grails eXchange 2012 - Building an e-commerce business with gr8 tec...
Groovy & Grails eXchange 2012 - Building an  e-commerce business with gr8 tec...Groovy & Grails eXchange 2012 - Building an  e-commerce business with gr8 tec...
Groovy & Grails eXchange 2012 - Building an e-commerce business with gr8 tec...
 
Hidden gems in cf2016
Hidden gems in cf2016Hidden gems in cf2016
Hidden gems in cf2016
 
RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016RESTFul Tools For Lazy Experts - CFSummit 2016
RESTFul Tools For Lazy Experts - CFSummit 2016
 
Ria Applications And PHP
Ria Applications And PHPRia Applications And PHP
Ria Applications And PHP
 
Alfresco Tech Talk Live - REST API of the Future
Alfresco Tech Talk Live - REST API of the Future Alfresco Tech Talk Live - REST API of the Future
Alfresco Tech Talk Live - REST API of the Future
 
Mastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union InvestmentMastering Universal Theme with corporate design from Union Investment
Mastering Universal Theme with corporate design from Union Investment
 
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-Designer
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-DesignerHadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-Designer
Hadoop-Summit-2014-Apache-Falcon-Hadoop-First-ETL-Pipeline-Designer
 
Serena mainframe vug jan 2015 final
Serena mainframe vug   jan 2015 finalSerena mainframe vug   jan 2015 final
Serena mainframe vug jan 2015 final
 
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
You don’t need DTAP + Backbase implementation - Amsterdam 17-12-2015
 
Create a copy of your SharePoint farm with SPDocKit and AutoSPInstaller
Create a copy of your SharePoint farm with SPDocKit and AutoSPInstallerCreate a copy of your SharePoint farm with SPDocKit and AutoSPInstaller
Create a copy of your SharePoint farm with SPDocKit and AutoSPInstaller
 
Keep Applications Online
Keep Applications OnlineKeep Applications Online
Keep Applications Online
 
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
Engage 2019: Your Data in the Major Leagues: A Practical and Updated Guide to...
 
Tensorflow 2.0 pipeline ai
Tensorflow 2.0 pipeline aiTensorflow 2.0 pipeline ai
Tensorflow 2.0 pipeline ai
 
Keeping up with PHP
Keeping up with PHPKeeping up with PHP
Keeping up with PHP
 
The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010The Need for Speed - EpiCenter 2010
The Need for Speed - EpiCenter 2010
 
Replacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECMReplacing Your Shared Drive with Alfresco - Open Source ECM
Replacing Your Shared Drive with Alfresco - Open Source ECM
 
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
ECS19 - Thomas Vochten - ESSENTIAL DATABASE ADMINISTRATION SKILLS FOR SHAREPO...
 
ClearCase Escape Plan
ClearCase Escape PlanClearCase Escape Plan
ClearCase Escape Plan
 

Ähnlich wie Alfresco Demo Data

Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Software
 
Alfresco Business Reporting - Tech Talk Live 20130501
Alfresco Business Reporting - Tech Talk Live 20130501Alfresco Business Reporting - Tech Talk Live 20130501
Alfresco Business Reporting - Tech Talk Live 20130501Tjarda Peelen
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nlbartzon
 
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemShip It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemYi-Ting Cheng
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nltieleman
 
Lessons learned from building Demand Side Platform
Lessons learned from building Demand Side PlatformLessons learned from building Demand Side Platform
Lessons learned from building Demand Side Platformbbogacki
 
PAC 2019 virtual Christoph NEUMÜLLER
PAC 2019 virtual Christoph NEUMÜLLERPAC 2019 virtual Christoph NEUMÜLLER
PAC 2019 virtual Christoph NEUMÜLLERNeotys
 
Aug NYC July 12 event
Aug NYC July 12 eventAug NYC July 12 event
Aug NYC July 12 eventAUGNYC
 
2017 Codemotion OWASP ZAP in CI/CD
2017 Codemotion OWASP ZAP in CI/CD2017 Codemotion OWASP ZAP in CI/CD
2017 Codemotion OWASP ZAP in CI/CDSimon Bennetts
 
Foundations for Scaling ML in Apache Spark by Joseph Bradley at BigMine16
Foundations for Scaling ML in Apache Spark by Joseph Bradley at BigMine16Foundations for Scaling ML in Apache Spark by Joseph Bradley at BigMine16
Foundations for Scaling ML in Apache Spark by Joseph Bradley at BigMine16BigMine
 
Foundations for Scaling ML in Apache Spark
Foundations for Scaling ML in Apache SparkFoundations for Scaling ML in Apache Spark
Foundations for Scaling ML in Apache SparkDatabricks
 
QA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel LucentQA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel LucentAgileSparks
 
Developing for the Atlassian Ecosystem
Developing for the Atlassian EcosystemDeveloping for the Atlassian Ecosystem
Developing for the Atlassian EcosystemAlex Henderson
 
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
Hadoop Demystified + Automation Smackdown!  Austin JUG June 24 2014Hadoop Demystified + Automation Smackdown!  Austin JUG June 24 2014
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014datafundamentals
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsGraham Dumpleton
 
Automating OWASP ZAP - DevCSecCon talk
Automating OWASP ZAP - DevCSecCon talk Automating OWASP ZAP - DevCSecCon talk
Automating OWASP ZAP - DevCSecCon talk Simon Bennetts
 
Simon Bennetts - Automating ZAP
Simon Bennetts - Automating ZAP Simon Bennetts - Automating ZAP
Simon Bennetts - Automating ZAP DevSecCon
 
Basic Application Performance Optimization Techniques (Backend)
Basic Application Performance Optimization Techniques (Backend)Basic Application Performance Optimization Techniques (Backend)
Basic Application Performance Optimization Techniques (Backend)Klas Berlič Fras
 

Ähnlich wie Alfresco Demo Data (20)

Alfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo DataAlfresco Day Milano 2016 - Demo Data
Alfresco Day Milano 2016 - Demo Data
 
Alfresco Business Reporting - Tech Talk Live 20130501
Alfresco Business Reporting - Tech Talk Live 20130501Alfresco Business Reporting - Tech Talk Live 20130501
Alfresco Business Reporting - Tech Talk Live 20130501
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
Ship It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails EcosystemShip It ! with Ruby/ Rails Ecosystem
Ship It ! with Ruby/ Rails Ecosystem
 
Lessons learned while building Omroep.nl
Lessons learned while building Omroep.nlLessons learned while building Omroep.nl
Lessons learned while building Omroep.nl
 
Lessons learned from building Demand Side Platform
Lessons learned from building Demand Side PlatformLessons learned from building Demand Side Platform
Lessons learned from building Demand Side Platform
 
DIWD 2011
DIWD 2011DIWD 2011
DIWD 2011
 
PAC 2019 virtual Christoph NEUMÜLLER
PAC 2019 virtual Christoph NEUMÜLLERPAC 2019 virtual Christoph NEUMÜLLER
PAC 2019 virtual Christoph NEUMÜLLER
 
Aug NYC July 12 event
Aug NYC July 12 eventAug NYC July 12 event
Aug NYC July 12 event
 
2017 Codemotion OWASP ZAP in CI/CD
2017 Codemotion OWASP ZAP in CI/CD2017 Codemotion OWASP ZAP in CI/CD
2017 Codemotion OWASP ZAP in CI/CD
 
Foundations for Scaling ML in Apache Spark by Joseph Bradley at BigMine16
Foundations for Scaling ML in Apache Spark by Joseph Bradley at BigMine16Foundations for Scaling ML in Apache Spark by Joseph Bradley at BigMine16
Foundations for Scaling ML in Apache Spark by Joseph Bradley at BigMine16
 
Foundations for Scaling ML in Apache Spark
Foundations for Scaling ML in Apache SparkFoundations for Scaling ML in Apache Spark
Foundations for Scaling ML in Apache Spark
 
QA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel LucentQA team transition to agile testing at Alcatel Lucent
QA team transition to agile testing at Alcatel Lucent
 
Developing for the Atlassian Ecosystem
Developing for the Atlassian EcosystemDeveloping for the Atlassian Ecosystem
Developing for the Atlassian Ecosystem
 
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
Hadoop Demystified + Automation Smackdown!  Austin JUG June 24 2014Hadoop Demystified + Automation Smackdown!  Austin JUG June 24 2014
Hadoop Demystified + Automation Smackdown! Austin JUG June 24 2014
 
Evolve18 | Ameeth Palla | Optimizing Your Assets Implementation
Evolve18 | Ameeth Palla | Optimizing Your Assets ImplementationEvolve18 | Ameeth Palla | Optimizing Your Assets Implementation
Evolve18 | Ameeth Palla | Optimizing Your Assets Implementation
 
PyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web ApplicationsPyCon AU 2012 - Debugging Live Python Web Applications
PyCon AU 2012 - Debugging Live Python Web Applications
 
Automating OWASP ZAP - DevCSecCon talk
Automating OWASP ZAP - DevCSecCon talk Automating OWASP ZAP - DevCSecCon talk
Automating OWASP ZAP - DevCSecCon talk
 
Simon Bennetts - Automating ZAP
Simon Bennetts - Automating ZAP Simon Bennetts - Automating ZAP
Simon Bennetts - Automating ZAP
 
Basic Application Performance Optimization Techniques (Backend)
Basic Application Performance Optimization Techniques (Backend)Basic Application Performance Optimization Techniques (Backend)
Basic Application Performance Optimization Techniques (Backend)
 

Kürzlich hochgeladen

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...masabamasaba
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...masabamasaba
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrainmasabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...chiefasafspells
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrandmasabamasaba
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024VictoriaMetrics
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension AidPhilip Schwarz
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...masabamasaba
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...SelfMade bd
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2
 

Kürzlich hochgeladen (20)

%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital TransformationWSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
WSO2Con2024 - WSO2's IAM Vision: Identity-Led Digital Transformation
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
%+27788225528 love spells in Huntington Beach Psychic Readings, Attraction sp...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security ProgramWSO2CON 2024 - How to Run a Security Program
WSO2CON 2024 - How to Run a Security Program
 

Alfresco Demo Data

  • 2. Marco Mancuso • Currently Alfresco DevOps team • Previously… – Alfresco global Support team • Advance Team • Expert Team • Development Support – Developer for Italian OSS Consultancy Company (Alfresco Partner) Aboutus
  • 3. Aboutus Alfresco Devops Keep the lights on • Public services (activiti|my.alfresco.com, Alfresco Online Trials) • Internal infrastructure • Internal projects (QA, Engineering, Sales, Marketing, ...) Automate all the things • Mostly inspire • Sometimes lead • Never impose
  • 7. What it is NOT? BigQuestions Not an import/export tool! Not a migration tool! • Not tested against large data • Just tested at bootstrap time
  • 9. What else? • Quickly test customisations with limited set of predefined bootstrapped data • Collaborative approach on data definition • Show test environments: – Marketing – Sales – Partners – … • Needs Little or NO configuration at all! BigQuestions
  • 10. How does it work? • 2 repo AMPs: BigQuestions • Applied to the repo in which to export data • Contains all the APIs to extract data • Applied at bootstrap time to the repo • Contains all the data to bootstrap
  • 12. Where I can find the project? https://github.com/maoo/alfresco-demo-data BigQuestions
  • 14. What is it possible to export & bootstrap? • Full Share Sites • Contents in Company Home – Models (Bootstrap) – Virtual Folders – Scripts – Webscripts – Workflows (Bootstrap) • Models (Dynamic) • Workflows (Dynamic) • Authorities ( Users + People + Groups) GeneralDetails
  • 15. Technologies used • Alfresco 5.1.EA – AMP – Java Backed WebScripts – Patch Service – Bootstrap Services – ACP • Alfresco Maven SDK 2.1.1 All In One Archetype • Java • Spring • Maven GeneralDetails
  • 17. Export a Site • Existing Alfresco API • (GET) http://localhost:8080/alfresco/s/api/sites/{SITE_NAME}/export • Admin authentication ExportAPIs SiteName.zip Contents.acp Users.acp People.acp Groups.txt
  • 18. Export the authorities (1/2) • Custom API • (GET) http://localhost:8080/alfresco/s/api/people-groups/export • Optional Parameters: ExportAPIs usersToExport users to export Default: ALL groupsToExport groups to export Default: ALL excludeSiteGroups TRUE/FALSE Default: False groupsToExclude groups to exclude Default: NULL usersToExclude users to exclude Default: NULL
  • 19. Export the authorities (2/2) ExportAPIs people-users-groups-export.zip Users.acp People.acp Groups.json Excluded: admin + guest
  • 20. Export files/folders • Custom API • (GET) http://localhost:8080/alfresco/s/api/file-folder/export?path={path} • Optional Parameters: • It can extract just content inside Company Home (No tags/categories) • ACP file with specified content ExportAPIs crawlSelf TRUE/FALSE Default: TRUE crawlChildNodes TRUE/FALSE Default: TRUE crawlContent TRUE/FALSE Default: TRUE crawlAssociations TRUE/FALSE Default: TRUE
  • 24. Models (standard way)  AMPstructure
  • 28. Sites (standard way)  AMPstructure
  • 30. Record Management site  • Treated as standard site • Problem: – ACP does not handle well d:any objects: – rma:readers (type d:any) – rma:writers (type d:any) • Solution: – RMSitePatch: find nodes and convert properties values from String to Map AMPstructure
  • 31. Files/Folders (standard way)  AMPstructure
  • 33. (Model Manager) Content Models • Alfresco already provides a way to export/import them • Folders not visible from Share  NodeBrowser • Path: /app:company_home/app:dictionary/app:models AMPstructure
  • 35. So… Where are the configurations? • (Generally) No configuration is required • Beans dynamically generated with: – org.springframework.beans.factory.support.BeanDefinitionRegistryPostProcessor • Resources dynamically found with: – org.springframework.core.io.support.PathMatchingResourcePatternResolver TechnicalDetails
  • 36. Just one single configuration bean TechnicalDetails
  • 37. Order really matters! Dynamic order to bootstrap content: 1. Company Home 2. Models 3. Workflows 4. Sites (on Context Refresh) 5. Authorities (on Context Refresh) TechnicalDetails
  • 39. Prerequisites • Alfresco Maven SDK 2.1.1 with Alfresco 5.1: – JDK 1.8 – Maven 3.2.5 or above Let’srunit!
  • 40. How to run the SDK 1. git clone git@github.com:maoo/alfresco-demo-data.git 2. cd alfresco-demo-data 3. ./run.sh 4. Go to http://localhost:8080/share Let’srunit!
  • 41. How to create the bootstrap AMP 1. git clone git@github.com:maoo/alfresco-demo-data.git 2. cd /alfresco-demo-data/alfresco-demo-data-repo-amp 3. mvn package –DskipTests=true 4. AMP in /alfresco-demo-data/alfresco-demo-data-repo-amp/target Let’srunit!
  • 42. How to create the export AMP 1. git clone git@github.com:maoo/alfresco-demo-data.git 2. cd /alfresco-demo-data/alfresco-demo-data-exporter-repo-amp 3. mvn package –DskipTests=true 4. AMP in /alfresco-demo-data/alfresco-demo-data-exporter-repo-amp/target Let’srunit!
  • 43. ACP Limitations • Document categories and tags • Content models with d:any properties • Node versions • Secondary parents • ACP export/import can only be used between same versions Limitations