SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
© 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.

Weitere ähnliche Inhalte

Was ist angesagt?

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
 

Was ist angesagt? (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
 

Andere mochten auch

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
 

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Kürzlich hochgeladen

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
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
 
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
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
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
 

Kürzlich hochgeladen (20)

"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
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
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
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
 
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)
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
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
 
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
 

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.