SlideShare a Scribd company logo
1 of 25
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
AEM Replication
deep dive
Matthias Wermund
Acquity Group
part of Accenture Interactive
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Replication overview
• AEM replication is used for (un)publishing
of AEM content
• Most interaction between AEM Author and
AEM Publish is part of replication
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Key replication components
• Agent
– One per receiving end
• Queue
– Tracks replication requests
– One per agent
• ContentBuilder
– Transforms replicated content to payload
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Types of replication
• Activate / Deactivate
– Durbo
– Flush
– Binary-less
– Static
• Reverse replication
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Dispatcher cache flush
• HTTP request to web server module
• Effect dependent on dispatcher
configuration
– Deletion of activated content
– Invalidation of related content (statfileslevel)
• On Author vs. On Publish
– Race condition of replication and invalidation
– On Publish safer, but not always possible
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Ways to trigger replication
• Page authoring
• Tree activation
• Workflow
• Custom code (API)
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Scenario: Publication preview
• Before going live to end users, preview of
change in internal AEM Publish is required
• Solution approach:
– Integration in publishing workflow
– Activation to only selected AEM Publish
– Review & approve before standard activation
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Publishing workflow
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Custom workflow process step
11
22
33
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Scenario: Global replication notification
• All replication invocations need to trigger
an external search index update
• Solution approach:
– Implement OSGi listener for replication events
– Get replication metadata from event
– Trigger indexing based on replication type
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Replication event listener
11
22
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Scenario: Guaranteed replication
• Before Author users are asked to review,
the activation to Preview Publish must
have been successfully completed
• Solution approach:
– Use synchronous replication
– Verify success via replication listener
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Advanced publishing workflow
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Synchronous replication with listener
11
22
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Scenario: Data filtering
• For privacy, author user information must
get removed from AEM Publish content
• Solution approach:
– Create custom content filter implementation
– Filter out undesired properties
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Custom ReplicationContentFilter
11
22
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
ReplicationContentFilterFactory
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Scenario: Custom replication payload
• When publishing, content must get
exported to a 3rd
party system in JSON
• Solution approach:
– Create a custom ContentBuilder
– Invoke standard JSON renderer for page
– Send HTTP POST using replication agent
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
ContentBuilder implementation (1/2)
11
22
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
ContentBuilder implementation (2/2)
33
44
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
JSON replication agent
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Scenario: Content partitioning
• Different sites must get replicated only to
dedicated AEM Publish instances
• Solution approach:
– Create system user account per site
– Configure replication agent with user account
– Configure ACL to READ for only one site
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Configure agent with user account
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Setup ACL for single site
CIRCUIT – An Adobe Developer Event
Presented by CITYTECH, Inc.
Thanks
• Questions?
matthias.c.wermund@accenture.com
github.com/mwmd

More Related Content

What's hot

Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webappsMikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webappshacktivity
 
Adobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsAdobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsGabriel Walt
 
AEM Rich Text Editor (RTE) Deep Dive
AEM Rich Text Editor (RTE) Deep DiveAEM Rich Text Editor (RTE) Deep Dive
AEM Rich Text Editor (RTE) Deep DiveHanish Bansal
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?connectwebex
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core componentsLokesh BS
 
Securing AEM webapps by hacking them
Securing AEM webapps by hacking themSecuring AEM webapps by hacking them
Securing AEM webapps by hacking themMikhail Egorov
 
엘라스틱서치 실무 가이드_202204.pdf
엘라스틱서치 실무 가이드_202204.pdf엘라스틱서치 실무 가이드_202204.pdf
엘라스틱서치 실무 가이드_202204.pdf한 경만
 
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)LanarkSeung
 
AEM & eCommerce integration
AEM & eCommerce integrationAEM & eCommerce integration
AEM & eCommerce integrationLokesh BS
 
A Hacker's perspective on AEM applications security
A Hacker's perspective on AEM applications securityA Hacker's perspective on AEM applications security
A Hacker's perspective on AEM applications securityMikhail Egorov
 
AEM Sightly Template Language
AEM Sightly Template LanguageAEM Sightly Template Language
AEM Sightly Template LanguageGabriel Walt
 
Robot Framework :: Demo login application
Robot Framework :: Demo login applicationRobot Framework :: Demo login application
Robot Framework :: Demo login applicationSomkiat Puisungnoen
 
API Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj RollisonAPI Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj RollisonTEST Huddle
 
Dynamic components using SPA concepts in AEM
Dynamic components using SPA concepts in AEMDynamic components using SPA concepts in AEM
Dynamic components using SPA concepts in AEMBojana Popovska
 
Java Collection Interview Questions [Updated]
Java Collection Interview Questions [Updated]Java Collection Interview Questions [Updated]
Java Collection Interview Questions [Updated]SoniaMathias2
 
Cache in API Gateway
Cache in API GatewayCache in API Gateway
Cache in API GatewayGilWon Oh
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Frameworklaurent bristiel
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6Rob Eisenberg
 

What's hot (20)

Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webappsMikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
Mikhail Egorov - Hunting for bugs in Adobe Experience Manager webapps
 
Adobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsAdobe Experience Manager Core Components
Adobe Experience Manager Core Components
 
AEM Rich Text Editor (RTE) Deep Dive
AEM Rich Text Editor (RTE) Deep DiveAEM Rich Text Editor (RTE) Deep Dive
AEM Rich Text Editor (RTE) Deep Dive
 
JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?JCR, Sling or AEM? Which API should I use and when?
JCR, Sling or AEM? Which API should I use and when?
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core components
 
Securing AEM webapps by hacking them
Securing AEM webapps by hacking themSecuring AEM webapps by hacking them
Securing AEM webapps by hacking them
 
Selenium IDE
Selenium IDESelenium IDE
Selenium IDE
 
엘라스틱서치 실무 가이드_202204.pdf
엘라스틱서치 실무 가이드_202204.pdf엘라스틱서치 실무 가이드_202204.pdf
엘라스틱서치 실무 가이드_202204.pdf
 
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
Create-React-App으로 SSR을 구현하며 배운 점 (feat. TypeScript)
 
AEM & eCommerce integration
AEM & eCommerce integrationAEM & eCommerce integration
AEM & eCommerce integration
 
Osgi
OsgiOsgi
Osgi
 
A Hacker's perspective on AEM applications security
A Hacker's perspective on AEM applications securityA Hacker's perspective on AEM applications security
A Hacker's perspective on AEM applications security
 
AEM Sightly Template Language
AEM Sightly Template LanguageAEM Sightly Template Language
AEM Sightly Template Language
 
Robot Framework :: Demo login application
Robot Framework :: Demo login applicationRobot Framework :: Demo login application
Robot Framework :: Demo login application
 
API Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj RollisonAPI Testing: The heart of functional testing" with Bj Rollison
API Testing: The heart of functional testing" with Bj Rollison
 
Dynamic components using SPA concepts in AEM
Dynamic components using SPA concepts in AEMDynamic components using SPA concepts in AEM
Dynamic components using SPA concepts in AEM
 
Java Collection Interview Questions [Updated]
Java Collection Interview Questions [Updated]Java Collection Interview Questions [Updated]
Java Collection Interview Questions [Updated]
 
Cache in API Gateway
Cache in API GatewayCache in API Gateway
Cache in API Gateway
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Framework
 
The New JavaScript: ES6
The New JavaScript: ES6The New JavaScript: ES6
The New JavaScript: ES6
 

Viewers also liked

Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEMDo more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEMBob Paulin
 
Microservices Architecture for AEM
Microservices Architecture for AEMMicroservices Architecture for AEM
Microservices Architecture for AEMMaciej Majchrzak
 
น.ส อทิติยา สระทองแยง ม.4/10 เลขที่ 38
น.ส อทิติยา สระทองแยง ม.4/10 เลขที่ 38น.ส อทิติยา สระทองแยง ม.4/10 เลขที่ 38
น.ส อทิติยา สระทองแยง ม.4/10 เลขที่ 38IAMAMMSHOOROS
 
Gül ü Bülbül Mesnevisi
Gül ü Bülbül Mesnevisi Gül ü Bülbül Mesnevisi
Gül ü Bülbül Mesnevisi Oncü Yıldız
 
A love of pumpkins spuds and beans 02 for slideshare
A love of pumpkins spuds and beans 02 for slideshareA love of pumpkins spuds and beans 02 for slideshare
A love of pumpkins spuds and beans 02 for slideshareIpswichSuffolkM
 
Comte de lautréamont maldoror'un şarkıları
Comte de lautréamont   maldoror'un şarkılarıComte de lautréamont   maldoror'un şarkıları
Comte de lautréamont maldoror'un şarkılarıOncü Yıldız
 
Anarsi Felsefesi Ve İdeali
Anarsi Felsefesi Ve İdealiAnarsi Felsefesi Ve İdeali
Anarsi Felsefesi Ve İdealiOncü Yıldız
 
Green lantern
Green lanternGreen lantern
Green lantern115398
 
11businessletternominchimeg 090924125447-phpapp02 2
11businessletternominchimeg 090924125447-phpapp02 211businessletternominchimeg 090924125447-phpapp02 2
11businessletternominchimeg 090924125447-phpapp02 2Manzar Naqvi
 
Capacitacion VTEX workshop artesanos del ecommerce: User Experience y SEO
Capacitacion VTEX workshop artesanos del ecommerce: User Experience y SEOCapacitacion VTEX workshop artesanos del ecommerce: User Experience y SEO
Capacitacion VTEX workshop artesanos del ecommerce: User Experience y SEOVTEX Latam
 
Lab11 7 вариант (про великого человека) 2 версия
Lab11 7 вариант (про великого человека) 2 версияLab11 7 вариант (про великого человека) 2 версия
Lab11 7 вариант (про великого человека) 2 версияIarvailor
 
Rotary D9520 Membership Seminar Loxton 2014
Rotary D9520 Membership Seminar Loxton 2014Rotary D9520 Membership Seminar Loxton 2014
Rotary D9520 Membership Seminar Loxton 2014Mark Huddleston
 
Comparative and Superlative
Comparative and SuperlativeComparative and Superlative
Comparative and Superlativecrafian
 
Sharing your club message through social media (Steve Hayter)
Sharing your club message through social media (Steve Hayter)Sharing your club message through social media (Steve Hayter)
Sharing your club message through social media (Steve Hayter)Mark Huddleston
 
Sharing your club message through social media steve hayter
Sharing your club message through social media steve hayterSharing your club message through social media steve hayter
Sharing your club message through social media steve hayterMark Huddleston
 

Viewers also liked (20)

Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEMDo more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
Do more with LESS, Handlebars, Coffeescript and other Web Resources in AEM
 
Microservices Architecture for AEM
Microservices Architecture for AEMMicroservices Architecture for AEM
Microservices Architecture for AEM
 
MATOA CORNER PRODUCTION
MATOA CORNER PRODUCTIONMATOA CORNER PRODUCTION
MATOA CORNER PRODUCTION
 
น.ส อทิติยา สระทองแยง ม.4/10 เลขที่ 38
น.ส อทิติยา สระทองแยง ม.4/10 เลขที่ 38น.ส อทิติยา สระทองแยง ม.4/10 เลขที่ 38
น.ส อทิติยา สระทองแยง ม.4/10 เลขที่ 38
 
Gül ü Bülbül Mesnevisi
Gül ü Bülbül Mesnevisi Gül ü Bülbül Mesnevisi
Gül ü Bülbül Mesnevisi
 
A love of pumpkins spuds and beans 02 for slideshare
A love of pumpkins spuds and beans 02 for slideshareA love of pumpkins spuds and beans 02 for slideshare
A love of pumpkins spuds and beans 02 for slideshare
 
Comte de lautréamont maldoror'un şarkıları
Comte de lautréamont   maldoror'un şarkılarıComte de lautréamont   maldoror'un şarkıları
Comte de lautréamont maldoror'un şarkıları
 
Paket Lighting Minimalis
Paket Lighting MinimalisPaket Lighting Minimalis
Paket Lighting Minimalis
 
Two Worlds
Two WorldsTwo Worlds
Two Worlds
 
Paket Pensi Lengkap
Paket Pensi LengkapPaket Pensi Lengkap
Paket Pensi Lengkap
 
Anarsi Felsefesi Ve İdeali
Anarsi Felsefesi Ve İdealiAnarsi Felsefesi Ve İdeali
Anarsi Felsefesi Ve İdeali
 
Green lantern
Green lanternGreen lantern
Green lantern
 
11businessletternominchimeg 090924125447-phpapp02 2
11businessletternominchimeg 090924125447-phpapp02 211businessletternominchimeg 090924125447-phpapp02 2
11businessletternominchimeg 090924125447-phpapp02 2
 
Capacitacion VTEX workshop artesanos del ecommerce: User Experience y SEO
Capacitacion VTEX workshop artesanos del ecommerce: User Experience y SEOCapacitacion VTEX workshop artesanos del ecommerce: User Experience y SEO
Capacitacion VTEX workshop artesanos del ecommerce: User Experience y SEO
 
Lab11 7 вариант (про великого человека) 2 версия
Lab11 7 вариант (про великого человека) 2 версияLab11 7 вариант (про великого человека) 2 версия
Lab11 7 вариант (про великого человека) 2 версия
 
Rotary D9520 Membership Seminar Loxton 2014
Rotary D9520 Membership Seminar Loxton 2014Rotary D9520 Membership Seminar Loxton 2014
Rotary D9520 Membership Seminar Loxton 2014
 
Comparative and Superlative
Comparative and SuperlativeComparative and Superlative
Comparative and Superlative
 
Sharing your club message through social media (Steve Hayter)
Sharing your club message through social media (Steve Hayter)Sharing your club message through social media (Steve Hayter)
Sharing your club message through social media (Steve Hayter)
 
Sharing your club message through social media steve hayter
Sharing your club message through social media steve hayterSharing your club message through social media steve hayter
Sharing your club message through social media steve hayter
 
Paket Alat Musik Lengkap
Paket Alat Musik LengkapPaket Alat Musik Lengkap
Paket Alat Musik Lengkap
 

Similar to Adobe Experience Manager - Replication deep dive

Thoughts on Component Resuse
Thoughts on Component ResuseThoughts on Component Resuse
Thoughts on Component ResuseJustin Edelson
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6Jukka Zitting
 
Docker Containers for Continuous Delivery
Docker Containers for Continuous DeliveryDocker Containers for Continuous Delivery
Docker Containers for Continuous DeliverySynerzip
 
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)Aysylu Greenberg
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...OpenWhisk
 
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERContinuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERIndrajit Poddar
 
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...whywaita
 
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...Creating a Scalable and Decentralized API Management Architecture with WSO2 A...
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...WSO2
 
Why is my digital spend so high?
Why is my digital spend so high?Why is my digital spend so high?
Why is my digital spend so high?Appvia
 
Gocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous DeploymentGocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous DeploymentLeandro Totino Pereira
 
Serverless Summit 22 - micro-frontends aws archiecture
Serverless Summit 22 - micro-frontends aws archiectureServerless Summit 22 - micro-frontends aws archiecture
Serverless Summit 22 - micro-frontends aws archiecturelagrotteri
 
CIP Developing Curator Tool Wizards
CIP Developing Curator Tool WizardsCIP Developing Curator Tool Wizards
CIP Developing Curator Tool WizardsEdwin Rojas
 
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...IBM UrbanCode Products
 
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...Lucas Jellema
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Microsoft
 
Cloud Native CI/CD with Jenkins X and Knative Pipelines
Cloud Native CI/CD with Jenkins X and Knative PipelinesCloud Native CI/CD with Jenkins X and Knative Pipelines
Cloud Native CI/CD with Jenkins X and Knative PipelinesC4Media
 
Developing applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKDeveloping applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKHorea Porutiu
 
Developing rich multimedia applications with FI-WARE.
Developing rich multimedia applications with FI-WARE.Developing rich multimedia applications with FI-WARE.
Developing rich multimedia applications with FI-WARE.Luis Lopez
 
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerSpinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerAndrew Phillips
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024Cloud Native NoVA
 

Similar to Adobe Experience Manager - Replication deep dive (20)

Thoughts on Component Resuse
Thoughts on Component ResuseThoughts on Component Resuse
Thoughts on Component Resuse
 
The new repository in AEM 6
The new repository in AEM 6The new repository in AEM 6
The new repository in AEM 6
 
Docker Containers for Continuous Delivery
Docker Containers for Continuous DeliveryDocker Containers for Continuous Delivery
Docker Containers for Continuous Delivery
 
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)Building A Distributed Build System at Google Scale (StrangeLoop 2016)
Building A Distributed Build System at Google Scale (StrangeLoop 2016)
 
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
IBM Bluemix OpenWhisk: Serverless Conference 2016, London, UK: The Future of ...
 
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWERContinuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
Continuous Integration with Cloud Foundry Concourse and Docker on OpenPOWER
 
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
Development myshoes and Provide Cycloud-hosted runner -- GitHub Actions with ...
 
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...Creating a Scalable and Decentralized API Management Architecture with WSO2 A...
Creating a Scalable and Decentralized API Management Architecture with WSO2 A...
 
Why is my digital spend so high?
Why is my digital spend so high?Why is my digital spend so high?
Why is my digital spend so high?
 
Gocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous DeploymentGocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous Deployment
 
Serverless Summit 22 - micro-frontends aws archiecture
Serverless Summit 22 - micro-frontends aws archiectureServerless Summit 22 - micro-frontends aws archiecture
Serverless Summit 22 - micro-frontends aws archiecture
 
CIP Developing Curator Tool Wizards
CIP Developing Curator Tool WizardsCIP Developing Curator Tool Wizards
CIP Developing Curator Tool Wizards
 
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
Integrations, UI Enhancements and Cloud – See What’s New with IBM UrbanCode D...
 
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
Oracle JavaScript Extension Toolkit Web Components Bring Agility to App Devel...
 
Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015Red Hat Forum Benelux 2015
Red Hat Forum Benelux 2015
 
Cloud Native CI/CD with Jenkins X and Knative Pipelines
Cloud Native CI/CD with Jenkins X and Knative PipelinesCloud Native CI/CD with Jenkins X and Knative Pipelines
Cloud Native CI/CD with Jenkins X and Knative Pipelines
 
Developing applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDKDeveloping applications with Hyperledger Fabric SDK
Developing applications with Hyperledger Fabric SDK
 
Developing rich multimedia applications with FI-WARE.
Developing rich multimedia applications with FI-WARE.Developing rich multimedia applications with FI-WARE.
Developing rich multimedia applications with FI-WARE.
 
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with SpinnakerSpinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
Spinnaker Summit 2018: CI/CD Patterns for Kubernetes with Spinnaker
 
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
A Love Story with Kubevirt and Backstage from Cloud Native NoVA meetup Feb 2024
 

Recently uploaded

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝soniya singh
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWave PLM
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideChristina Lin
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 

Recently uploaded (20)

Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
Call Girls in Naraina Delhi 💯Call Us 🔝8264348440🔝
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
What is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need ItWhat is Fashion PLM and Why Do You Need It
What is Fashion PLM and Why Do You Need It
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop SlideBuilding Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
Building Real-Time Data Pipelines: Stream & Batch Processing workshop Slide
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 

Adobe Experience Manager - Replication deep dive

  • 1. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. AEM Replication deep dive Matthias Wermund Acquity Group part of Accenture Interactive
  • 2. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Replication overview • AEM replication is used for (un)publishing of AEM content • Most interaction between AEM Author and AEM Publish is part of replication
  • 3. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Key replication components • Agent – One per receiving end • Queue – Tracks replication requests – One per agent • ContentBuilder – Transforms replicated content to payload
  • 4. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Types of replication • Activate / Deactivate – Durbo – Flush – Binary-less – Static • Reverse replication
  • 5. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Dispatcher cache flush • HTTP request to web server module • Effect dependent on dispatcher configuration – Deletion of activated content – Invalidation of related content (statfileslevel) • On Author vs. On Publish – Race condition of replication and invalidation – On Publish safer, but not always possible
  • 6. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Ways to trigger replication • Page authoring • Tree activation • Workflow • Custom code (API)
  • 7. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Scenario: Publication preview • Before going live to end users, preview of change in internal AEM Publish is required • Solution approach: – Integration in publishing workflow – Activation to only selected AEM Publish – Review & approve before standard activation
  • 8. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Publishing workflow
  • 9. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Custom workflow process step 11 22 33
  • 10. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Scenario: Global replication notification • All replication invocations need to trigger an external search index update • Solution approach: – Implement OSGi listener for replication events – Get replication metadata from event – Trigger indexing based on replication type
  • 11. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Replication event listener 11 22
  • 12. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Scenario: Guaranteed replication • Before Author users are asked to review, the activation to Preview Publish must have been successfully completed • Solution approach: – Use synchronous replication – Verify success via replication listener
  • 13. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Advanced publishing workflow
  • 14. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Synchronous replication with listener 11 22
  • 15. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Scenario: Data filtering • For privacy, author user information must get removed from AEM Publish content • Solution approach: – Create custom content filter implementation – Filter out undesired properties
  • 16. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Custom ReplicationContentFilter 11 22
  • 17. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. ReplicationContentFilterFactory
  • 18. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Scenario: Custom replication payload • When publishing, content must get exported to a 3rd party system in JSON • Solution approach: – Create a custom ContentBuilder – Invoke standard JSON renderer for page – Send HTTP POST using replication agent
  • 19. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. ContentBuilder implementation (1/2) 11 22
  • 20. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. ContentBuilder implementation (2/2) 33 44
  • 21. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. JSON replication agent
  • 22. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Scenario: Content partitioning • Different sites must get replicated only to dedicated AEM Publish instances • Solution approach: – Create system user account per site – Configure replication agent with user account – Configure ACL to READ for only one site
  • 23. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Configure agent with user account
  • 24. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Setup ACL for single site
  • 25. CIRCUIT – An Adobe Developer Event Presented by CITYTECH, Inc. Thanks • Questions? matthias.c.wermund@accenture.com github.com/mwmd

Editor's Notes

  1. - Personal intro In this session I’ll speak about the replication framework in AEM, and go into some non-standard use cases with possible solutions for them. Question 1: Who knows what AEM replication is and how to use it? Question 2: Who has implemented a custom ReplicationContentFilter? ((Last question: Who has implemented a custom ContentBuilder for replication?))
  2. - Almost everyone is using replication because by nature of AEM if you use an Author and a Publish instance, you’ll use replication. I always think of replication framework as a somewhat “hidden gem”: It’s much more powerful than only supporting the standard use cases
  3. Agent: Main configuration object; typically each Agent triggers one HTTP request Lots of options: Transport details, Triggers, Versioning Queue: Persisted, survives instance restart ContentBuilder
  4. Activate/Deactivate takes care of controlling Publish visibility of content Durbo: Default replication mechanism, packaging content for transport Flush: Dispatcher cache flushing, more on that in a bit Binary-less: More efficient transport for large objects like Assets. Assumes the data store is shared between Author and Publish instances. Static: Writes replicated content into file system, for example for archival Reverse replication: Transport of user generated content from Publish to Author, deserves its own session
  5. Dispatcher.any configuration file
  6. Authoring: Sidekick and SiteAdmin Implicit, example: Activated page move Tree Activation: Bulk activation tool Workflow: Out of the box steps, customizations (will show example) Custom code: Replication API provides extensible framework In the following, several use case scenarios will demonstrate how to leverage the available API
  7. Reasons for Publish Preview: Give non-author users ability to see content External system integrations sometimes not feasible in Author (infrastructure etc.)
  8. Inserted process step using custom implementation Custom step will activate to only the Preview Publish instance Users can review the content in Preview Publish Manual approval will trigger standard activation to all AEM Publishs
  9. 1: ReplicationOptions allows per-replication configuration of agent, overriding agent config 2: AgentIdFilter: Will ignore all agents except the one specified. 3: Replicator: Central service to trigger replication actions. Needs a valid JCR session to execute against. At this point, replication item got added to the Agent’s queue.
  10. For example delta updates to search index inbetween scheduled major full index rebuilds Approach is very broadly applicable to any kind of replication triggered operation. But Listener will get called for all Replication events, no filtering for content path or other possible.
  11. 1: OSGi EventHandler implementation, subscribing to Replication events 2: Convert generic Event data to Replication metadata using Replication API Then react based on Replication metadata, here updating or dropping items in the search index.
  12. “Guaranteed” in sense of: The result is known when proceeding after call of service The default replication method is asynchronous and using the agent’s queue. Synchronous bypasses the queue and executes the replication immediately. Use of ReplicationListener is necessary to get result of replication action.
  13. Added OR split, based on result of preview activation
  14. 1: Make replication synchronous. Default is asynchronous. Specify listener to be used during replication process. 2: Verify replication success and put result in workflow metadata so other processes can access the result.
  15. 1: Implements interface of Replication API. Isn’t an OSGi component because of Factory pattern. 2: “Accepts” method called for each property on every node during replication - Interface also supports filtering of full nodes.
  16. - OSGi factory to make the custom ContentFilter known to the container. - One can filter the for specific activation actions, for example only type ACTIVATE.
  17. Example: Content syndication to J2EE application stack Custom ConentBuilder: Triggers the transformation to JSON JSON renderer: Same out of the box functionality when using JSON extension HTTP POST is simple configuration of a new replication agent, similar to standard replication agents
  18. 1: OSGi service declaration, implementing ContentBuilder interface 2: Create method handles transformation of node structure to replication payload - ReplicationContent.VOID if no payload required (example: Dispatcher Flush)
  19. 3: Leveraging standard JSON renderer to generate JSON payload 4: ReplicationContentFactory will store the payload
  20. Custom builder will be listed because of being an OSGi service for ContentBuilder interface The Serialization will generate the request payload. Everything else of the agent remains the normal functionality (HTTP request etc.)
  21. Typical multi-tenant scenario. One client, shared author for reuse of content.Separation of Publish instances could be for infrastructure reasons, or different security requirements. !! Works for Dispatcher Flush agents too (separating Dispatcher cache control per site) !!
  22. Default system user has access to everything Custom user configured for this agent. All replication actions for this agent will impersonate to this user.
  23. User account specific for standard geometrixx site No access other than READ on the /content/geometrixx tree Log output when attempting a replication for another site (geometrixx outdoors) using this replication agent
  24. Questions?