SlideShare a Scribd company logo
Adobe Experience ManagerAdobe Experience Manager
Adobe Experience Manager 6.1:
Responsive Websites &
Grid-Based Layouts
Damien Antipa, Senior UX Engineer
Twitter: @visiongeist
Gabriel Walt, Product Manager
Twitter: @gabrielwalt
https://www.slideshare.net/GabrielWalt/aem-responsive
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Agenda
Responsive Websites & Grid-Based Layouts:
1. Overview
2. Edit Responsive Layouts
3. Setup Responsive Editing
4. Develop for the Grid
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Overview
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Adaptive vs Responsive
Adaptive
The server response will change to adapt to a defined set of screen size.
➔ Server-side device detection through a database of user-agents
➔ Consequence: Different URLs for different devices
Responsive
The design will fluidly change and respond to fit any screen size.
➔ Client-side feature detection through media queries
➔ Consequence: Same content delivered to all visitors
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Making Content Responsive
Traditional workflow
• A designer mocks the different breakpoints
• A developer implements the mocks

for a specific template
• The author picks that template

and fills the content
Responsive layout editing
• The author fills the content
• The author can adapt the layout
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Edit Responsive Layouts
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Layouting
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Floating
1 2 3 4
5 6 7 8
1 2
3 4
3 4
1
2
2
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Floating
1 2 3 4
5
6 7 8
1
2
3
1 2
3
4 5
6
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Breaking
1
2
3
1 2 3 4
5 6 7 8
1 2
3 4
5 6
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Nesting
1
2
3
4
5
6
1 2 3
5
4
1
2
3
4
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Hiding
1
2
3
4
5
6
1 3
5
4
4
5
6
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Setup Responsive Editing
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
0. Enable the Responsive Emulator
Register page components for simulation
➔ List the sling:resourceType of your pages in an OSGi config for
com.day.cq.wcm.mobile.core.impl.MobileEmulatorProvider
Specify the device groups
➔ On jcr:content node of the site root, add the following property:

jcr:content[nt:unstructured]

@cq:deviceGroups=["/etc/mobile/groups/responsive"]
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
1. Enable the Layouting Mode
Specify the breakpoints
➔ On jcr:content node of the site root, add following node structure:

jcr:content[nt:unstructured]

cq:responsive[nt:unstructured]

breakpoints[nt:unstructured]

phone[nt:unstructured]

@title="Smaller Screen"

@width=650

tablet[nt:unstructured]

@title="Tablet"

@width=1200
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
2. Enable the Responsive Grid
Use the responsive paragraph system
➔ Replace the parsys with the responsive one:

@resourceType="wcm/foundation/components/responsivegrid"
Include the responsive stylesheet
➔ Copy the following file into your client library:

/etc/designs/geometrixx-media/clientlibs/css/grid.less
➔ Adapt the breakpoints and the number of columns to your needs
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
3. Configure the Parsys Design Mode
Enable Layout Nesting
➔ In the General group of allowed components:

Authorize the Layout Container component
Define the number of columns
➔ If your parsys doesn’t exactly take 12 columns:

Set a value for the Columns input field

Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Develop for the Grid
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
A Project’s Grid Configuration
@import (once) "/etc/clientlibs/wcm/foundation/grid/grid_base.less";
/* maximum amount of grid cells to be provided */
@max_col: 12;
.aem-Grid {
.generate-grid(default, @max_col);
}
/* smaller screen (phone) breakpoint */
@media (max-width: 650px) {
.aem-Grid {
.generate-grid(phone, @max_col);
}
}
/* tablet breakpoint */
@media (min-width: 651px) and (max-width: 1200px) {
.aem-Grid {
.generate-grid(tablet, @max_col);
}
}
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Persistence in JCR Content
The component size is saved on the resource node

jcr:content[nt:unstructured]

parsys[nt:unstructured]

image[cq:Component]

@sling:resourceType="wcm/foundation/components/image"

cq:responsive[nt:unstructured]

default[nt:unstructured]

@width=4

phone[nt:unstructured]

@width=12
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
The Grid Markup
<div class="aem-Grid aem-Grid--12">
<div class="aem-GridColumn aem-GridColumn—default--2">
Col 1
</div>
<div class="aem-GridColumn aem-GridColumn—default--8">
Col 2
</div>
<div class="aem-GridColumn aem-GridColumn—default--2">
Col 3
</div>
</div>
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
The Grid Markup
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Floating Rendering
<div class="aem-Grid aem-Grid--12">
<div class="aem-GridColumn aem-GridColumn—default--2">
Col 1
</div>
<div class="aem-GridColumn aem-GridColumn—default--8">
Col 2
</div>
<div class="aem-GridColumn aem-GridColumn—default--2">
Col 3
</div>
<div class="aem-GridColumn aem-GridColumn—default--6">
Col 4
</div>
</div>
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Floating Rendering
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Leverage Breakpoints
<div class="aem-Grid aem-Grid--12">
<div class="aem-GridColumn
aem-GridColumn—default--2
aem-GridColumn—phone--12">
Col 1
</div>
<div class="aem-GridColumn
aem-GridColumn—default--8
aem-GridColumn—phone--6">
Col 2
</div>
<div class="aem-GridColumn
aem-GridColumn—default--2
aem-GridColumn—phone--6">
Col 3
</div>
</div>
/*
grid.less
smaller screen breakpoint
*/
@media (max-width: 650px) {
.aem-Grid {
.generate-grid(phone, 

@max_col);
}
}
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Leverage Breakpoints
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
<div class="aem-Grid aem-Grid--12">
<div class="aem-GridColumn
aem-GridColumn—default--4
aem-GridColumn—phone--hide">
Col 1
</div>
<div class="aem-GridColumn
aem-GridColumn—default--4">
Col 2
</div>
<div class="aem-GridColumn
aem-GridColumn—default--4
aem-GridColumn—phone--newline">
Col 3
</div>
</div>
➔ hide item
➔ force new line
Custom Behaviour
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
Custom Behaviour
Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive
<div class="aem-Grid aem-Grid--12">
<div class="aem-GridColumn
aem-GridColumn--default--4">
Parent Col 2
</div>
</div>
<div class="aem-GridColumn
aem-GridColumn--default--8">
<div class="aem-Grid aem-Grid--8">
<div class="aem-GridColumn
aem-GridColumn--default--4">
Child Col 1
</div>
<div class="aem-GridColumn
aem-GridColumn--default--4">
Child Col 1
</div>
</div>
</div>
Nested Grid
➔ The grid system is global
➔ AEM will take care of
inheriting the width
Adobe Experience Manager
Thanks!
Damien Antipa, Senior UX Engineer
Twitter: @visiongeist
Gabriel Walt, Product Manager
Twitter: @gabrielwalt
Markup example for front-end developers:
http://adobe-marketing-cloud.github.io/aem-responsivegrid/
Documentation Links
http://docs.adobe.com/docs/en/aem/6-1/administer/operations/page-authoring/configuring-responsive-layouting.html
http://docs.adobe.com/docs/en/aem/6-1/author/page-authoring/responsive-layout.html
https://www.slideshare.net/GabrielWalt/aem-responsive
AEM responsive

More Related Content

What's hot

Extra aem development tools by Justin Edelson
Extra aem development tools by Justin EdelsonExtra aem development tools by Justin Edelson
Extra aem development tools by Justin EdelsonAEM HUB
 
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
Bojana Popovska
 
Building Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOSBuilding Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOS
FITC
 
Booting up with polymer
Booting up with polymerBooting up with polymer
Booting up with polymer
Marcus Hellberg
 
SPA Editing with Sling to the rescue - adaptTo() 2021
SPA Editing with Sling to the rescue - adaptTo() 2021 SPA Editing with Sling to the rescue - adaptTo() 2021
SPA Editing with Sling to the rescue - adaptTo() 2021
Hanish Bansal
 
Building a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / SpringBuilding a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / Spring
sdeeg
 
Play Framework on Google App Engine - Productivity Stack
Play Framework on Google App Engine - Productivity StackPlay Framework on Google App Engine - Productivity Stack
Play Framework on Google App Engine - Productivity Stack
Marcin Stepien
 
Angular vs React for Web Application Development
Angular vs React for Web Application DevelopmentAngular vs React for Web Application Development
Angular vs React for Web Application Development
FITC
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
FITC
 
Bridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMBridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEM
rbl002
 
AEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & FeaturesAEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & Features
Abhinit Bhatnagar
 
Adobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric HueslerAdobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric HueslerAEM HUB
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
philogb
 
Usability in the GeoWeb
Usability in the GeoWebUsability in the GeoWeb
Usability in the GeoWebDave Bouwman
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
James Pearce
 
JCR and Sling Quick Dive
JCR and Sling Quick DiveJCR and Sling Quick Dive
JCR and Sling Quick Dive
Paolo Mottadelli
 
AEM Evernote Sync
AEM Evernote SyncAEM Evernote Sync
AEM Evernote Sync
Kevin Nennig
 
The Art of AngularJS in 2015
The Art of AngularJS in 2015The Art of AngularJS in 2015
The Art of AngularJS in 2015
Matt Raible
 
Speak The Web: The HTML5 Experiments
Speak The Web: The HTML5 ExperimentsSpeak The Web: The HTML5 Experiments
Speak The Web: The HTML5 Experiments
guestd427df
 
Node.js to the rescue
Node.js to the rescueNode.js to the rescue
Node.js to the rescue
Marko Heijnen
 

What's hot (20)

Extra aem development tools by Justin Edelson
Extra aem development tools by Justin EdelsonExtra aem development tools by Justin Edelson
Extra aem development tools by Justin Edelson
 
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
 
Building Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOSBuilding Progressive Web Apps for Android and iOS
Building Progressive Web Apps for Android and iOS
 
Booting up with polymer
Booting up with polymerBooting up with polymer
Booting up with polymer
 
SPA Editing with Sling to the rescue - adaptTo() 2021
SPA Editing with Sling to the rescue - adaptTo() 2021 SPA Editing with Sling to the rescue - adaptTo() 2021
SPA Editing with Sling to the rescue - adaptTo() 2021
 
Building a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / SpringBuilding a Secure App with Google Polymer and Java / Spring
Building a Secure App with Google Polymer and Java / Spring
 
Play Framework on Google App Engine - Productivity Stack
Play Framework on Google App Engine - Productivity StackPlay Framework on Google App Engine - Productivity Stack
Play Framework on Google App Engine - Productivity Stack
 
Angular vs React for Web Application Development
Angular vs React for Web Application DevelopmentAngular vs React for Web Application Development
Angular vs React for Web Application Development
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Bridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEMBridging the Gap: Single-Page Apps and AEM
Bridging the Gap: Single-Page Apps and AEM
 
AEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & FeaturesAEM 6.0 - Author UI Customization & Features
AEM 6.0 - Author UI Customization & Features
 
Adobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric HueslerAdobe Experience Manager - 6th Edition by Cedric Huesler
Adobe Experience Manager - 6th Edition by Cedric Huesler
 
Using Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the WebUsing Web Standards to create Interactive Data Visualizations for the Web
Using Web Standards to create Interactive Data Visualizations for the Web
 
Usability in the GeoWeb
Usability in the GeoWebUsability in the GeoWeb
Usability in the GeoWeb
 
HTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applicationsHTML5 and the dawn of rich mobile web applications
HTML5 and the dawn of rich mobile web applications
 
JCR and Sling Quick Dive
JCR and Sling Quick DiveJCR and Sling Quick Dive
JCR and Sling Quick Dive
 
AEM Evernote Sync
AEM Evernote SyncAEM Evernote Sync
AEM Evernote Sync
 
The Art of AngularJS in 2015
The Art of AngularJS in 2015The Art of AngularJS in 2015
The Art of AngularJS in 2015
 
Speak The Web: The HTML5 Experiments
Speak The Web: The HTML5 ExperimentsSpeak The Web: The HTML5 Experiments
Speak The Web: The HTML5 Experiments
 
Node.js to the rescue
Node.js to the rescueNode.js to the rescue
Node.js to the rescue
 

Similar to AEM responsive

Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12touchtitans
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint Workshop
Mark Rackley
 
Responsive websites. Toolbox
Responsive websites. ToolboxResponsive websites. Toolbox
Responsive websites. Toolbox
Wojtek Zając
 
Responsivedesign 7-3-2012
Responsivedesign 7-3-2012Responsivedesign 7-3-2012
Responsivedesign 7-3-2012Thomas Carney
 
[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web Design[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
performance optimization: UI
performance optimization: UIperformance optimization: UI
performance optimization: UI
晓东 杜
 
AEM target Integration
AEM target IntegrationAEM target Integration
AEM target Integration
Kanika Gera
 
[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWDChristopher Schmitt
 
Testable client side_mvc_apps_in_javascript
Testable client side_mvc_apps_in_javascriptTestable client side_mvc_apps_in_javascript
Testable client side_mvc_apps_in_javascript
Timothy Oxley
 
UI Customization in AEM 6.0
UI Customization in AEM 6.0UI Customization in AEM 6.0
UI Customization in AEM 6.0
Gilles Knobloch
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
User interface customization for aem6 circuit
User interface customization for aem6 circuitUser interface customization for aem6 circuit
User interface customization for aem6 circuitDamien Antipa
 
[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web DesignChristopher Schmitt
 
Building reusable components as micro frontends with glimmer js and webcompo...
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...
Andrei Sebastian Cîmpean
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web
mikeleeme
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)
Bramus Van Damme
 
Responsive Design from problem to production
Responsive Design from problem to productionResponsive Design from problem to production
Responsive Design from problem to production
David Douglas
 
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
Tech in Asia ID
 
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and howProgressive Web Apps. What, why and how
Progressive Web Apps. What, why and how
Riza Fahmi
 

Similar to AEM responsive (20)

Responsive UX - One size fits all @BigDesign conference #BigD12
Responsive UX - One size fits all   @BigDesign conference #BigD12Responsive UX - One size fits all   @BigDesign conference #BigD12
Responsive UX - One size fits all @BigDesign conference #BigD12
 
Introduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint WorkshopIntroduction to Client Side Dev in SharePoint Workshop
Introduction to Client Side Dev in SharePoint Workshop
 
Responsive websites. Toolbox
Responsive websites. ToolboxResponsive websites. Toolbox
Responsive websites. Toolbox
 
Responsivedesign 7-3-2012
Responsivedesign 7-3-2012Responsivedesign 7-3-2012
Responsivedesign 7-3-2012
 
[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web Design[HEWEBAR 2012] Adaptive Images in Responsive Web Design
[HEWEBAR 2012] Adaptive Images in Responsive Web Design
 
performance optimization: UI
performance optimization: UIperformance optimization: UI
performance optimization: UI
 
AEM target Integration
AEM target IntegrationAEM target Integration
AEM target Integration
 
[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design[rwdsummit2012] Adaptive Images in Responsive Web Design
[rwdsummit2012] Adaptive Images in Responsive Web Design
 
[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD[cssdevconf] Adaptive Images in RWD
[cssdevconf] Adaptive Images in RWD
 
Testable client side_mvc_apps_in_javascript
Testable client side_mvc_apps_in_javascriptTestable client side_mvc_apps_in_javascript
Testable client side_mvc_apps_in_javascript
 
UI Customization in AEM 6.0
UI Customization in AEM 6.0UI Customization in AEM 6.0
UI Customization in AEM 6.0
 
[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design[convergese] Adaptive Images in Responsive Web Design
[convergese] Adaptive Images in Responsive Web Design
 
User interface customization for aem6 circuit
User interface customization for aem6 circuitUser interface customization for aem6 circuit
User interface customization for aem6 circuit
 
[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design[refreshaustin] Adaptive Images in Responsive Web Design
[refreshaustin] Adaptive Images in Responsive Web Design
 
Building reusable components as micro frontends with glimmer js and webcompo...
Building reusable components as micro frontends  with glimmer js and webcompo...Building reusable components as micro frontends  with glimmer js and webcompo...
Building reusable components as micro frontends with glimmer js and webcompo...
 
Pinkoi Mobile Web
Pinkoi Mobile WebPinkoi Mobile Web
Pinkoi Mobile Web
 
From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)From Idea to App (or “How we roll at Small Town Heroes”)
From Idea to App (or “How we roll at Small Town Heroes”)
 
Responsive Design from problem to production
Responsive Design from problem to productionResponsive Design from problem to production
Responsive Design from problem to production
 
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)"Progressive Web Apps" by Riza Fahmi	(Hacktiv8)
"Progressive Web Apps" by Riza Fahmi (Hacktiv8)
 
Progressive Web Apps. What, why and how
Progressive Web Apps. What, why and howProgressive Web Apps. What, why and how
Progressive Web Apps. What, why and how
 

Recently uploaded

Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
Juraj Vysvader
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
abdulrafaychaudhry
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Globus
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
Globus
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
Donna Lenk
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
Philip Schwarz
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
rickgrimesss22
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
Globus
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Globus
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 

Recently uploaded (20)

Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
In 2015, I used to write extensions for Joomla, WordPress, phpBB3, etc and I ...
 
Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024Globus Connect Server Deep Dive - GlobusWorld 2024
Globus Connect Server Deep Dive - GlobusWorld 2024
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024Globus Compute wth IRI Workflows - GlobusWorld 2024
Globus Compute wth IRI Workflows - GlobusWorld 2024
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Lecture 1 Introduction to games development
Lecture 1 Introduction to games developmentLecture 1 Introduction to games development
Lecture 1 Introduction to games development
 
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data AnalysisProviding Globus Services to Users of JASMIN for Environmental Data Analysis
Providing Globus Services to Users of JASMIN for Environmental Data Analysis
 
Enhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdfEnhancing Research Orchestration Capabilities at ORNL.pdf
Enhancing Research Orchestration Capabilities at ORNL.pdf
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"Navigating the Metaverse: A Journey into Virtual Evolution"
Navigating the Metaverse: A Journey into Virtual Evolution"
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
A Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of PassageA Sighting of filterA in Typelevel Rite of Passage
A Sighting of filterA in Typelevel Rite of Passage
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptxTop Features to Include in Your Winzo Clone App for Business Growth (4).pptx
Top Features to Include in Your Winzo Clone App for Business Growth (4).pptx
 
Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024Globus Compute Introduction - GlobusWorld 2024
Globus Compute Introduction - GlobusWorld 2024
 
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
Innovating Inference - Remote Triggering of Large Language Models on HPC Clus...
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 

AEM responsive

  • 1. Adobe Experience ManagerAdobe Experience Manager Adobe Experience Manager 6.1: Responsive Websites & Grid-Based Layouts Damien Antipa, Senior UX Engineer Twitter: @visiongeist Gabriel Walt, Product Manager Twitter: @gabrielwalt https://www.slideshare.net/GabrielWalt/aem-responsive
  • 2. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Agenda Responsive Websites & Grid-Based Layouts: 1. Overview 2. Edit Responsive Layouts 3. Setup Responsive Editing 4. Develop for the Grid
  • 3. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Overview
  • 4. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Adaptive vs Responsive Adaptive The server response will change to adapt to a defined set of screen size. ➔ Server-side device detection through a database of user-agents ➔ Consequence: Different URLs for different devices Responsive The design will fluidly change and respond to fit any screen size. ➔ Client-side feature detection through media queries ➔ Consequence: Same content delivered to all visitors
  • 5. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Making Content Responsive Traditional workflow • A designer mocks the different breakpoints • A developer implements the mocks
 for a specific template • The author picks that template
 and fills the content Responsive layout editing • The author fills the content • The author can adapt the layout
  • 6. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Edit Responsive Layouts
  • 7. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Layouting
  • 8. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Floating 1 2 3 4 5 6 7 8 1 2 3 4 3 4 1 2 2
  • 9. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Floating 1 2 3 4 5 6 7 8 1 2 3 1 2 3 4 5 6
  • 10. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Breaking 1 2 3 1 2 3 4 5 6 7 8 1 2 3 4 5 6
  • 11. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Nesting 1 2 3 4 5 6 1 2 3 5 4 1 2 3 4
  • 12. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Hiding 1 2 3 4 5 6 1 3 5 4 4 5 6
  • 13. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Setup Responsive Editing
  • 14. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive 0. Enable the Responsive Emulator Register page components for simulation ➔ List the sling:resourceType of your pages in an OSGi config for com.day.cq.wcm.mobile.core.impl.MobileEmulatorProvider Specify the device groups ➔ On jcr:content node of the site root, add the following property:
 jcr:content[nt:unstructured]
 @cq:deviceGroups=["/etc/mobile/groups/responsive"]
  • 15. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive 1. Enable the Layouting Mode Specify the breakpoints ➔ On jcr:content node of the site root, add following node structure:
 jcr:content[nt:unstructured]
 cq:responsive[nt:unstructured]
 breakpoints[nt:unstructured]
 phone[nt:unstructured]
 @title="Smaller Screen"
 @width=650
 tablet[nt:unstructured]
 @title="Tablet"
 @width=1200
  • 16. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive 2. Enable the Responsive Grid Use the responsive paragraph system ➔ Replace the parsys with the responsive one:
 @resourceType="wcm/foundation/components/responsivegrid" Include the responsive stylesheet ➔ Copy the following file into your client library:
 /etc/designs/geometrixx-media/clientlibs/css/grid.less ➔ Adapt the breakpoints and the number of columns to your needs
  • 17. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive 3. Configure the Parsys Design Mode Enable Layout Nesting ➔ In the General group of allowed components:
 Authorize the Layout Container component Define the number of columns ➔ If your parsys doesn’t exactly take 12 columns:
 Set a value for the Columns input field

  • 18. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Develop for the Grid
  • 19. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive A Project’s Grid Configuration @import (once) "/etc/clientlibs/wcm/foundation/grid/grid_base.less"; /* maximum amount of grid cells to be provided */ @max_col: 12; .aem-Grid { .generate-grid(default, @max_col); } /* smaller screen (phone) breakpoint */ @media (max-width: 650px) { .aem-Grid { .generate-grid(phone, @max_col); } } /* tablet breakpoint */ @media (min-width: 651px) and (max-width: 1200px) { .aem-Grid { .generate-grid(tablet, @max_col); } }
  • 20. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Persistence in JCR Content The component size is saved on the resource node
 jcr:content[nt:unstructured]
 parsys[nt:unstructured]
 image[cq:Component]
 @sling:resourceType="wcm/foundation/components/image"
 cq:responsive[nt:unstructured]
 default[nt:unstructured]
 @width=4
 phone[nt:unstructured]
 @width=12
  • 21. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive The Grid Markup <div class="aem-Grid aem-Grid--12"> <div class="aem-GridColumn aem-GridColumn—default--2"> Col 1 </div> <div class="aem-GridColumn aem-GridColumn—default--8"> Col 2 </div> <div class="aem-GridColumn aem-GridColumn—default--2"> Col 3 </div> </div>
  • 22. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive The Grid Markup
  • 23. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Floating Rendering <div class="aem-Grid aem-Grid--12"> <div class="aem-GridColumn aem-GridColumn—default--2"> Col 1 </div> <div class="aem-GridColumn aem-GridColumn—default--8"> Col 2 </div> <div class="aem-GridColumn aem-GridColumn—default--2"> Col 3 </div> <div class="aem-GridColumn aem-GridColumn—default--6"> Col 4 </div> </div>
  • 24. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Floating Rendering
  • 25. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Leverage Breakpoints <div class="aem-Grid aem-Grid--12"> <div class="aem-GridColumn aem-GridColumn—default--2 aem-GridColumn—phone--12"> Col 1 </div> <div class="aem-GridColumn aem-GridColumn—default--8 aem-GridColumn—phone--6"> Col 2 </div> <div class="aem-GridColumn aem-GridColumn—default--2 aem-GridColumn—phone--6"> Col 3 </div> </div> /* grid.less smaller screen breakpoint */ @media (max-width: 650px) { .aem-Grid { .generate-grid(phone, 
 @max_col); } }
  • 26. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Leverage Breakpoints
  • 27. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive <div class="aem-Grid aem-Grid--12"> <div class="aem-GridColumn aem-GridColumn—default--4 aem-GridColumn—phone--hide"> Col 1 </div> <div class="aem-GridColumn aem-GridColumn—default--4"> Col 2 </div> <div class="aem-GridColumn aem-GridColumn—default--4 aem-GridColumn—phone--newline"> Col 3 </div> </div> ➔ hide item ➔ force new line Custom Behaviour
  • 28. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive Custom Behaviour
  • 29. Adobe Experience Manager https://www.slideshare.net/GabrielWalt/aem-responsive <div class="aem-Grid aem-Grid--12"> <div class="aem-GridColumn aem-GridColumn--default--4"> Parent Col 2 </div> </div> <div class="aem-GridColumn aem-GridColumn--default--8"> <div class="aem-Grid aem-Grid--8"> <div class="aem-GridColumn aem-GridColumn--default--4"> Child Col 1 </div> <div class="aem-GridColumn aem-GridColumn--default--4"> Child Col 1 </div> </div> </div> Nested Grid ➔ The grid system is global ➔ AEM will take care of inheriting the width
  • 30. Adobe Experience Manager Thanks! Damien Antipa, Senior UX Engineer Twitter: @visiongeist Gabriel Walt, Product Manager Twitter: @gabrielwalt Markup example for front-end developers: http://adobe-marketing-cloud.github.io/aem-responsivegrid/ Documentation Links http://docs.adobe.com/docs/en/aem/6-1/administer/operations/page-authoring/configuring-responsive-layouting.html http://docs.adobe.com/docs/en/aem/6-1/author/page-authoring/responsive-layout.html https://www.slideshare.net/GabrielWalt/aem-responsive