SlideShare a Scribd company logo
1 of 43
Download to read offline
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
A virtual developer conference for Adobe Experience
Manager
Efficient Publishing with Content Fragments
Stefan Grimm | Senior Developer
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Efficient Publishing with Content Fragments
2
1 | Welcome and Overview
2 | Content Fragments - a brief introduction
3 | Use case: A news site
4 | Implementing an efficient workflow
5 | Q&A
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 3
Content Fragments
A brief introduction
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 4
Ecosystem
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 5
 Simple fragment template
 Generic component
 Typical AEM workflow required
 First, create the fragment
 Then, create a page, add the fragment to the page, configure it, etc.
OOTB
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 6
 Some use-cases require a more efficient workflow.
 OOTB component can be too generic
 Too much flexibility
 Not enough flexibility
Some use-cases require customization
 Customizing the component
 Implement a specific workflow
Context
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 7
Use-case:
A (imaginary) news site
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 8
Our goal …
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 9
 Create article.
 Enter title. Teaser. Text.
 Assign image(s).
 Classify.
 Save.
 Create page.
 Add Content Fragment.
 Reference article.
 Publish.
Efficiency!
let’s get rid of these steps!
add this new feature
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 10
Our news site
Section
Title
Teaser
Image
Text
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 11
 Fragment Elements
 Title
 Teaser
 Text
 Metadata
 Section
 Associated Content
 Image (tagged)
Articles
defining the article imagedefining the article image
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 12
 Article template
 Article component
 Page component
 A patched version of the CFM implementation bundle
 Required for AEM 6.2 only, will be included in upcoming releases
Prerequistes
Introduced in the ”Introducing Content Fragment” session
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Hands on …
Prerequisites
13
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 14
Implementation
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
No production-ready code
in this session!
Disclaimer
15
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 16
Problems & solutions
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 17
 How to determine the article image?
 Only collections, no 1:1 assignment for associated content
 How to automate …?
 page creation
 adding Content Fragment component
 referencing & configuring the article fragment
 publishing the page
Problems ...
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 18
 Article image
 Use tagging to classify the images
 main image
 part of image gallery
 …
 Component queries associated content
 uses first image tagged as “main image”.
 Automating
 workflow launcher triggers workflow
 create page if necessary
 publish fragment, page & dependency
 several other stuff
... and solutions
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 19
Finding the article
image
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 20
 Article image
 Use tagging to classify the images
 main image
 part of image gallery
 …
 Component queries associated content
 uses first image tagged as “main image”.
 Automating
 workflow launcher triggers workflow
 create page if necessary
 publish fragment, page & dependency
 several other stuff
Recap
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 21
Getting associated collections:
Iterator<Resource> collections = fragment.getAssociatedContent();
Getting all associated resources:
SlingScriptHelper ssh = getSlingScriptHelper();
ContentFragmentManager cfm = ssh.getService(ContentFragmentManager.class);
List<Resource> assets = cfm.resolveAssociatedContentFlat(fragment);
API – Accessing associated content
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Hands on ...
Finding the article image
22
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 23
Workflow commons
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 24
 Article image
 Use tagging to classify the images
 main image
 part of image gallery
 …
 Component queries associated content
 uses first image tagged as “main image”.
 Automating
 workflow launcher triggers workflow
 create page if necessary
 publish fragment, page & dependency
 several other stuff
Recap
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 25
 Can be registered on low level events
 node create
 node update
 Can‘t use directly
 intermediate saves
 but workflow should only be triggered on “save”
Workflow launcher
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 26
 On save
 Timestamp is persisted (only if content has been modified)
 jcr:content/lastFragmentSave (*)
 Each workflow process
 Executes only if there has been a “save” since the last publish workflow has been finished
 jcr:content/lastFragmentSave > jcr:content/lastFragmentPublish
 At the end of the publish workflow
 Updates publish timestamp
 jcr:content/lastFragmentPublish
(*) patched CFM implementation bundle required
Solution
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Hands on ...
Workflow commons
com.adobe.immerse2016.cfm_ep.workflow.AbstractFragmentProcess
com.adobe.immerse2016.cfm_ep.workflow.FinishArticleProcess
27
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 28
Workflow process:
Resolving associated
content
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 29
Problem:
 Article image defined via collection
 Collections should not be used on publish
Solution:
 Determine article image on save
 Persist path to image on fragment
 jcr:content/articleImage
Article image
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Hands on ...
Resolving dependencies
com.adobe.immerse2016.cfm_ep.workflow.ResolveDataProcess
30
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 31
Workflow process:
Creating the article
page
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 32
 Check if a page for the article has already been created
 If not, create a page, …
 Path: /<root>/<section>/<year>/<month>/<day>/<article.name>
 ... create the article paragraph
 jcr:content/par/<article.name>
 ... reference the article fragment.
 jcr:content/par/<article.name>/fileReference
Page on demand
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Hands on ...
Auto-create article page
com.adobe.immerse2016.cfm_ep.workflow.CreateOnDemandProcess
33
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 34
Workflow process:
Publishing the article
page
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 35
 Publish
 Content Fragment
 Page
 Article Image
 In a clean implementation …
 … publish references (Tags, ...)
 … replicate only if modified
Publishing
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Hands on ...
Publish article process
com.adobe.immerse2016.cfm_ep.workflow.PublishArticleProcess
36
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
And … Action!
The new, effective publishing
process
37
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 38
Recap
 Article image
 Part of a collection
 Identified by tag
 Resolve collection/tag to image path for publish instance
 Publishing workflow
 Triggered by workflow launcher
 Processes check for “save” event by comparing save/publish timestamps
 Page created on demand using a fixed/hardcoded pattern
 Fragment & collaterals published programmatically
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 39
Epilogue
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 40
Not mentioned in this session …
 Dispatcher invalidation
 No easy OOTB solution for invalidating referencing pages
 Can be solved using path-based dispatcher rules
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 41
Resources
 Content Package with example code
 available from the “Resources” pod in Adobe Connect
 Documentation
 Overview/Authoring
 Editor - https://docs.adobe.com/docs/en/aem/6-2/author/assets/content-fragments.html
 Page Authoring - https://docs.adobe.com/docs/en/aem/6-2/author/page-authoring/content-
fragments.html
 Development
 Templates - https://docs.adobe.com/docs/en/aem/6-2/develop/templates/content-fragment-
templates.html
 Extending (WIP) - https://docs.adobe.com/docs/en/aem/6-2/develop/extending/content-fragments.html
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.
Q&A
42
Stefan Grimm
sgrimm@adobe.com
© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.

More Related Content

What's hot

Adobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave Lloyd
Adobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave LloydAdobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave Lloyd
Adobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave LloydDave Lloyd
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core componentsLokesh BS
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and SlingLo Ki
 
Evolve13 cq-commerce-framework
Evolve13 cq-commerce-frameworkEvolve13 cq-commerce-framework
Evolve13 cq-commerce-frameworkPaolo Mottadelli
 
Modernizing Adobe Experience Manager (AEM)
Modernizing Adobe Experience Manager (AEM)Modernizing Adobe Experience Manager (AEM)
Modernizing Adobe Experience Manager (AEM)Gabriel Walt
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMAdobeMarketingCloud
 
AEM & eCommerce integration
AEM & eCommerce integrationAEM & eCommerce integration
AEM & eCommerce integrationLokesh BS
 
Ask the AEM Community Expert Feb 2016 Session: AEM + Brackets
Ask the AEM Community Expert Feb 2016 Session: AEM + BracketsAsk the AEM Community Expert Feb 2016 Session: AEM + Brackets
Ask the AEM Community Expert Feb 2016 Session: AEM + BracketsAdobeMarketingCloud
 
Integrating with Adobe Marketing Cloud - Summit 2014
Integrating with Adobe Marketing Cloud - Summit 2014Integrating with Adobe Marketing Cloud - Summit 2014
Integrating with Adobe Marketing Cloud - Summit 2014Paolo Mottadelli
 
AEM target Integration
AEM target IntegrationAEM target Integration
AEM target IntegrationKanika Gera
 
12 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.212 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.2Tricode (part of Dept)
 
Using AEM in a customer global multi-channel program
Using AEM in a customer global multi-channel programUsing AEM in a customer global multi-channel program
Using AEM in a customer global multi-channel programMeryll Blanchet
 
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
 
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
 
PhoneGap Enterprise Viewer - ConnectCon 2015
PhoneGap Enterprise Viewer - ConnectCon 2015PhoneGap Enterprise Viewer - ConnectCon 2015
PhoneGap Enterprise Viewer - ConnectCon 2015Justin Edelson
 
Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5Day Software
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Thomas Daly
 
TERMINALFOUR t44u 2008 - Harry McKillen - Google & Flash Integration with Sit...
TERMINALFOUR t44u 2008 - Harry McKillen - Google & Flash Integration with Sit...TERMINALFOUR t44u 2008 - Harry McKillen - Google & Flash Integration with Sit...
TERMINALFOUR t44u 2008 - Harry McKillen - Google & Flash Integration with Sit...Terminalfour
 
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management SolutionsSharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management SolutionsInnoTech
 

What's hot (19)

Adobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave Lloyd
Adobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave LloydAdobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave Lloyd
Adobe Experience Manager (AEM) - Multilingual SIG on SEO - Dave Lloyd
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core components
 
AEM and Sling
AEM and SlingAEM and Sling
AEM and Sling
 
Evolve13 cq-commerce-framework
Evolve13 cq-commerce-frameworkEvolve13 cq-commerce-framework
Evolve13 cq-commerce-framework
 
Modernizing Adobe Experience Manager (AEM)
Modernizing Adobe Experience Manager (AEM)Modernizing Adobe Experience Manager (AEM)
Modernizing Adobe Experience Manager (AEM)
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
AEM & eCommerce integration
AEM & eCommerce integrationAEM & eCommerce integration
AEM & eCommerce integration
 
Ask the AEM Community Expert Feb 2016 Session: AEM + Brackets
Ask the AEM Community Expert Feb 2016 Session: AEM + BracketsAsk the AEM Community Expert Feb 2016 Session: AEM + Brackets
Ask the AEM Community Expert Feb 2016 Session: AEM + Brackets
 
Integrating with Adobe Marketing Cloud - Summit 2014
Integrating with Adobe Marketing Cloud - Summit 2014Integrating with Adobe Marketing Cloud - Summit 2014
Integrating with Adobe Marketing Cloud - Summit 2014
 
AEM target Integration
AEM target IntegrationAEM target Integration
AEM target Integration
 
12 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.212 hot features to engage and save time with aem 6.2
12 hot features to engage and save time with aem 6.2
 
Using AEM in a customer global multi-channel program
Using AEM in a customer global multi-channel programUsing AEM in a customer global multi-channel program
Using AEM in a customer global multi-channel program
 
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
 
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?
 
PhoneGap Enterprise Viewer - ConnectCon 2015
PhoneGap Enterprise Viewer - ConnectCon 2015PhoneGap Enterprise Viewer - ConnectCon 2015
PhoneGap Enterprise Viewer - ConnectCon 2015
 
Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5Adobe.com Redesign: Powered by Day CQ5
Adobe.com Redesign: Powered by Day CQ5
 
Developing Branding Solutions for 2013
Developing Branding Solutions for 2013Developing Branding Solutions for 2013
Developing Branding Solutions for 2013
 
TERMINALFOUR t44u 2008 - Harry McKillen - Google & Flash Integration with Sit...
TERMINALFOUR t44u 2008 - Harry McKillen - Google & Flash Integration with Sit...TERMINALFOUR t44u 2008 - Harry McKillen - Google & Flash Integration with Sit...
TERMINALFOUR t44u 2008 - Harry McKillen - Google & Flash Integration with Sit...
 
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management SolutionsSharePoint 2013 Search and Creating Dynamic Content Management Solutions
SharePoint 2013 Search and Creating Dynamic Content Management Solutions
 

Viewers also liked

Ask the expert AEM Assets best practices 092016
Ask the expert  AEM Assets best practices 092016Ask the expert  AEM Assets best practices 092016
Ask the expert AEM Assets best practices 092016AdobeMarketingCloud
 
Dependency Finder Tutorial
Dependency Finder TutorialDependency Finder Tutorial
Dependency Finder TutorialJean Tessier
 
AEM GEMs Session Oak Lucene Indexes
AEM GEMs Session Oak Lucene IndexesAEM GEMs Session Oak Lucene Indexes
AEM GEMs Session Oak Lucene IndexesAdobeMarketingCloud
 
Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016AdobeMarketingCloud
 
Adobe AEM Commerce with hybris
Adobe AEM Commerce with hybrisAdobe AEM Commerce with hybris
Adobe AEM Commerce with hybrisPaolo Mottadelli
 
AEM (CQ) eCommerce Framework
AEM (CQ) eCommerce FrameworkAEM (CQ) eCommerce Framework
AEM (CQ) eCommerce FrameworkPaolo Mottadelli
 
AEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAdobeMarketingCloud
 

Viewers also liked (7)

Ask the expert AEM Assets best practices 092016
Ask the expert  AEM Assets best practices 092016Ask the expert  AEM Assets best practices 092016
Ask the expert AEM Assets best practices 092016
 
Dependency Finder Tutorial
Dependency Finder TutorialDependency Finder Tutorial
Dependency Finder Tutorial
 
AEM GEMs Session Oak Lucene Indexes
AEM GEMs Session Oak Lucene IndexesAEM GEMs Session Oak Lucene Indexes
AEM GEMs Session Oak Lucene Indexes
 
Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016Adobe Ask the AEM Community Expert Session Oct 2016
Adobe Ask the AEM Community Expert Session Oct 2016
 
Adobe AEM Commerce with hybris
Adobe AEM Commerce with hybrisAdobe AEM Commerce with hybris
Adobe AEM Commerce with hybris
 
AEM (CQ) eCommerce Framework
AEM (CQ) eCommerce FrameworkAEM (CQ) eCommerce Framework
AEM (CQ) eCommerce Framework
 
AEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEMAEM GEMS Session SAML authentication in AEM
AEM GEMS Session SAML authentication in AEM
 

Similar to Immerse 2016 Efficient publishing with content fragments

New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten ZiegelerNew and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegelermfrancis
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016ColdFusionConference
 
SPA Editor - Adobe Experience Manager Sites
SPA Editor - Adobe Experience Manager SitesSPA Editor - Adobe Experience Manager Sites
SPA Editor - Adobe Experience Manager SitesGabriel Walt
 
Adobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsAdobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsGabriel Walt
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMAdobeMarketingCloud
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMconnectwebex
 
Aem markdown importer github love in aem
Aem markdown importer  github love in aemAem markdown importer  github love in aem
Aem markdown importer github love in aemKanika Gera
 
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...Autodesk
 
Fuel your mobile apps with assets and content
Fuel your mobile apps with assets and contentFuel your mobile apps with assets and content
Fuel your mobile apps with assets and contentarumsey
 
UI Customization in AEM 6.0
UI Customization in AEM 6.0UI Customization in AEM 6.0
UI Customization in AEM 6.0Gilles Knobloch
 
User interface customization for aem6 circuit
User interface customization for aem6 circuitUser interface customization for aem6 circuit
User interface customization for aem6 circuitDamien Antipa
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webColdFusionConference
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionThomas Daly
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB
 
14 asp.net session20
14 asp.net session2014 asp.net session20
14 asp.net session20Vivek chan
 
Adobe Stock Integration community project
Adobe Stock Integration community projectAdobe Stock Integration community project
Adobe Stock Integration community projectMagecom UK Limited
 
AEM Communities 6.1 - MongoSV '15
AEM Communities 6.1 - MongoSV '15AEM Communities 6.1 - MongoSV '15
AEM Communities 6.1 - MongoSV '15Kevin Nennig
 

Similar to Immerse 2016 Efficient publishing with content fragments (20)

S903 palla
S903 pallaS903 palla
S903 palla
 
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten ZiegelerNew and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
New and cool in OSGi R7 - David Bosschaert & Carsten Ziegeler
 
Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016Developer Insights for Application Upgrade to ColdFusion 2016
Developer Insights for Application Upgrade to ColdFusion 2016
 
SPA Editor - Adobe Experience Manager Sites
SPA Editor - Adobe Experience Manager SitesSPA Editor - Adobe Experience Manager Sites
SPA Editor - Adobe Experience Manager Sites
 
Adobe Experience Manager Core Components
Adobe Experience Manager Core ComponentsAdobe Experience Manager Core Components
Adobe Experience Manager Core Components
 
Compose Camp - Session2.pdf
Compose Camp - Session2.pdfCompose Camp - Session2.pdf
Compose Camp - Session2.pdf
 
Where is cold fusion headed
Where is cold fusion headedWhere is cold fusion headed
Where is cold fusion headed
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
Build single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEMBuild single page applications using AngularJS on AEM
Build single page applications using AngularJS on AEM
 
Aem markdown importer github love in aem
Aem markdown importer  github love in aemAem markdown importer  github love in aem
Aem markdown importer github love in aem
 
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
Forge - DevCon 2017, Darmstadt Germany: Integrating Forge Data Management API...
 
Fuel your mobile apps with assets and content
Fuel your mobile apps with assets and contentFuel your mobile apps with assets and content
Fuel your mobile apps with assets and content
 
UI Customization in AEM 6.0
UI Customization in AEM 6.0UI Customization in AEM 6.0
UI Customization in AEM 6.0
 
User interface customization for aem6 circuit
User interface customization for aem6 circuitUser interface customization for aem6 circuit
User interface customization for aem6 circuit
 
Build your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and webBuild your own secure and real-time dashboard for mobile and web
Build your own secure and real-time dashboard for mobile and web
 
M365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx VersionM365 global developer bootcamp 2019 Intro to SPFx Version
M365 global developer bootcamp 2019 Intro to SPFx Version
 
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch TutorialMongoDB.local Dallas 2019: MongoDB Stitch Tutorial
MongoDB.local Dallas 2019: MongoDB Stitch Tutorial
 
14 asp.net session20
14 asp.net session2014 asp.net session20
14 asp.net session20
 
Adobe Stock Integration community project
Adobe Stock Integration community projectAdobe Stock Integration community project
Adobe Stock Integration community project
 
AEM Communities 6.1 - MongoSV '15
AEM Communities 6.1 - MongoSV '15AEM Communities 6.1 - MongoSV '15
AEM Communities 6.1 - MongoSV '15
 

Recently uploaded

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostZilliz
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clashcharlottematthew16
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 

Recently uploaded (20)

DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage CostLeverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
Leverage Zilliz Serverless - Up to 50X Saving for Your Vector Storage Cost
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Powerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time ClashPowerpoint exploring the locations used in television show Time Clash
Powerpoint exploring the locations used in television show Time Clash
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 

Immerse 2016 Efficient publishing with content fragments

  • 1. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. A virtual developer conference for Adobe Experience Manager Efficient Publishing with Content Fragments Stefan Grimm | Senior Developer
  • 2. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Efficient Publishing with Content Fragments 2 1 | Welcome and Overview 2 | Content Fragments - a brief introduction 3 | Use case: A news site 4 | Implementing an efficient workflow 5 | Q&A
  • 3. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 3 Content Fragments A brief introduction
  • 4. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 4 Ecosystem
  • 5. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 5  Simple fragment template  Generic component  Typical AEM workflow required  First, create the fragment  Then, create a page, add the fragment to the page, configure it, etc. OOTB
  • 6. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 6  Some use-cases require a more efficient workflow.  OOTB component can be too generic  Too much flexibility  Not enough flexibility Some use-cases require customization  Customizing the component  Implement a specific workflow Context
  • 7. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 7 Use-case: A (imaginary) news site
  • 8. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 8 Our goal …
  • 9. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 9  Create article.  Enter title. Teaser. Text.  Assign image(s).  Classify.  Save.  Create page.  Add Content Fragment.  Reference article.  Publish. Efficiency! let’s get rid of these steps! add this new feature
  • 10. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 10 Our news site Section Title Teaser Image Text
  • 11. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 11  Fragment Elements  Title  Teaser  Text  Metadata  Section  Associated Content  Image (tagged) Articles defining the article imagedefining the article image
  • 12. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 12  Article template  Article component  Page component  A patched version of the CFM implementation bundle  Required for AEM 6.2 only, will be included in upcoming releases Prerequistes Introduced in the ”Introducing Content Fragment” session
  • 13. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Hands on … Prerequisites 13
  • 14. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 14 Implementation
  • 15. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. No production-ready code in this session! Disclaimer 15
  • 16. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 16 Problems & solutions
  • 17. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 17  How to determine the article image?  Only collections, no 1:1 assignment for associated content  How to automate …?  page creation  adding Content Fragment component  referencing & configuring the article fragment  publishing the page Problems ...
  • 18. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 18  Article image  Use tagging to classify the images  main image  part of image gallery  …  Component queries associated content  uses first image tagged as “main image”.  Automating  workflow launcher triggers workflow  create page if necessary  publish fragment, page & dependency  several other stuff ... and solutions
  • 19. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 19 Finding the article image
  • 20. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 20  Article image  Use tagging to classify the images  main image  part of image gallery  …  Component queries associated content  uses first image tagged as “main image”.  Automating  workflow launcher triggers workflow  create page if necessary  publish fragment, page & dependency  several other stuff Recap
  • 21. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 21 Getting associated collections: Iterator<Resource> collections = fragment.getAssociatedContent(); Getting all associated resources: SlingScriptHelper ssh = getSlingScriptHelper(); ContentFragmentManager cfm = ssh.getService(ContentFragmentManager.class); List<Resource> assets = cfm.resolveAssociatedContentFlat(fragment); API – Accessing associated content
  • 22. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Hands on ... Finding the article image 22
  • 23. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 23 Workflow commons
  • 24. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 24  Article image  Use tagging to classify the images  main image  part of image gallery  …  Component queries associated content  uses first image tagged as “main image”.  Automating  workflow launcher triggers workflow  create page if necessary  publish fragment, page & dependency  several other stuff Recap
  • 25. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 25  Can be registered on low level events  node create  node update  Can‘t use directly  intermediate saves  but workflow should only be triggered on “save” Workflow launcher
  • 26. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 26  On save  Timestamp is persisted (only if content has been modified)  jcr:content/lastFragmentSave (*)  Each workflow process  Executes only if there has been a “save” since the last publish workflow has been finished  jcr:content/lastFragmentSave > jcr:content/lastFragmentPublish  At the end of the publish workflow  Updates publish timestamp  jcr:content/lastFragmentPublish (*) patched CFM implementation bundle required Solution
  • 27. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Hands on ... Workflow commons com.adobe.immerse2016.cfm_ep.workflow.AbstractFragmentProcess com.adobe.immerse2016.cfm_ep.workflow.FinishArticleProcess 27
  • 28. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 28 Workflow process: Resolving associated content
  • 29. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 29 Problem:  Article image defined via collection  Collections should not be used on publish Solution:  Determine article image on save  Persist path to image on fragment  jcr:content/articleImage Article image
  • 30. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Hands on ... Resolving dependencies com.adobe.immerse2016.cfm_ep.workflow.ResolveDataProcess 30
  • 31. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 31 Workflow process: Creating the article page
  • 32. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 32  Check if a page for the article has already been created  If not, create a page, …  Path: /<root>/<section>/<year>/<month>/<day>/<article.name>  ... create the article paragraph  jcr:content/par/<article.name>  ... reference the article fragment.  jcr:content/par/<article.name>/fileReference Page on demand
  • 33. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Hands on ... Auto-create article page com.adobe.immerse2016.cfm_ep.workflow.CreateOnDemandProcess 33
  • 34. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 34 Workflow process: Publishing the article page
  • 35. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 35  Publish  Content Fragment  Page  Article Image  In a clean implementation …  … publish references (Tags, ...)  … replicate only if modified Publishing
  • 36. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Hands on ... Publish article process com.adobe.immerse2016.cfm_ep.workflow.PublishArticleProcess 36
  • 37. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. And … Action! The new, effective publishing process 37
  • 38. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 38 Recap  Article image  Part of a collection  Identified by tag  Resolve collection/tag to image path for publish instance  Publishing workflow  Triggered by workflow launcher  Processes check for “save” event by comparing save/publish timestamps  Page created on demand using a fixed/hardcoded pattern  Fragment & collaterals published programmatically
  • 39. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 39 Epilogue
  • 40. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 40 Not mentioned in this session …  Dispatcher invalidation  No easy OOTB solution for invalidating referencing pages  Can be solved using path-based dispatcher rules
  • 41. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. 41 Resources  Content Package with example code  available from the “Resources” pod in Adobe Connect  Documentation  Overview/Authoring  Editor - https://docs.adobe.com/docs/en/aem/6-2/author/assets/content-fragments.html  Page Authoring - https://docs.adobe.com/docs/en/aem/6-2/author/page-authoring/content- fragments.html  Development  Templates - https://docs.adobe.com/docs/en/aem/6-2/develop/templates/content-fragment- templates.html  Extending (WIP) - https://docs.adobe.com/docs/en/aem/6-2/develop/extending/content-fragments.html
  • 42. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.© 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential. Q&A 42 Stefan Grimm sgrimm@adobe.com
  • 43. © 2016 Adobe Systems Incorporated. All Rights Reserved. Adobe Confidential.