SlideShare a Scribd company logo
1 of 16
AEM 6.0 – UI
Customization &
Features
Abhinit Bhatnagar
Senior Developer, 3|SHARE
Corporation
Agenda
 Sling Resource Merger
 Add / Hide links from left rail
 Add a new button in the console
 Modify Search filters
 Metadata properties as tags
 Asset editor – Metadata Templates
AEM 6.0 UI Customization
Sling Resource Merger
 Provides services to access and merge resources
 Allows to manage overrides of nodes and their properties
 AEM configured to search the /apps first and then the /libs to
find a resource.
 What is an overlay ?
 Taking the predefined functionality and imposing your own
definitions over that.
AEM 6.0 UI Customization
How to create an overlay
 Recreate the required nodes and node structure as they exist in /libs
 Create the overlay node structure in /apps
 Make your changes in /apps
 IMPORTANT :
 You must not make changes in the /libs branch
 Not recommended to copy entire structure from /libs to /apps
 Non-Granite UI changes needs complete structure duplication.
AEM 6.0 UI Customization
Properties
 sling:hideProperties
 To hide certain properties under the node
 sling:hideResource
 To hide the resource and its children
 sling:hideChildren
 To hide the children as specified but node remains visible
 sling:orderBefore
 Ordering the node with respect to the siblings
AEM 6.0 UI Customization
Uses of Sling Resource Merger
 Add a property
 Override a property (not auto-created properties)
 Override an auto-created property
 Override a node and its children
 Hide a property
 Hide a node and its children
 Hide children of a node (while keeping the properties of the
node)
 Reorder nodes
AEM 6.0 UI Customization
Add links to the left rail
To do this, you can create an overlay of :
/libs/cq/core/content/nav
In the apps overlay :
/apps/cq/core/content/nav
 Add a similar node with desired properties
 All properties can be changed including the title
AEM 6.0 UI Customization
Hide links from the left rail
To do this, you can create an overlay of :
/libs/cq/core/content/nav
In the apps overlay :
/apps/cq/core/content/nav
 As simple as adding a property – sling:hideResource : true to
the node
AEM 6.0 UI Customization
Add a new button in the console
To do this, you can create an overlay of :
/libs/dam/gui/components/admin
/libs/dam/gui/content/assets
In the apps overlay :
/apps/dam/gui/components/admin/{name}
/apps/dam/gui/content/assets
 Requires overriding of multiple properties and nodes.
 The requirement specific changes can be done to the CSS
and the JS under the clientlibs.
AEM 6.0 UI Customization
Modify Search filters
To do this, you can create an overlay of :
/libs/dam/gui/content/facets
/libs/dam/content/search
/libs/dam/options
In the apps overlay :
/apps/dam/gui/content/facets
/apps/dam/content/search
/apps/dam/options
 Requires overriding of multiple properties and nodes.
 The predicates, facets and search options can all be modified
and overridden.
 Can also be useful for the creation of smart collections as it
provides better optimized search results
AEM 6.0 UI Customization
Metadata properties as tags
To do this, you can create an overlay of :
/libs/cq/gui/components/common/datasources
/libs/dam/content/schemaeditors
In the apps overlay :
/apps/cq/gui/components/common/datasources
/apps/dam/content/schemaeditors
 Tags can be handy for multiple valued metadata & better
taxonomy
 Modify the datasources for the tags.
 Changes in the metadata structure and can be used in
multiple places.
AEM 6.0 UI Customization
Asset Editor – Metadata Templates
To do this, you can create an overlay of :
/libs/dam/content/asseteditors
In the apps overlay :
/apps/dam/content/asseteditors
 Metadata Editor changes can be done in accordance to the
Non – Granite UI.
 Can be seen in the classic UI.
 Custom fields can be added similar to the metadata schema
editor but not in the new UI but only in the node structure.
AEM 6.0 UI Customization
Other useful information
 Certain node structures in /libs which can be overridden in
/apps for desired functionalities :
 Form similar to the Image Set creation :
 /libs/dam/gui/content/s7dam/sets/imageset/jcr:content/bod
y/content/items
 Asset Reports :
 /libs/dam/content/reports
 /libs/dam/gui/components/admin/reports
 Page Header information comes from :
 /libs/dam/gui/content/assets/jcr:content/head
AEM 6.0 UI Customization
Other useful information (contd.)
 Actions related to various DAM operations :
 /libs/wcm/core/content/damadmin/actions
 DAM Actions (Classic UI) :
 /libs/cq/ui/widgets/source/widgets/wcm/DamAdmin.Actions
.js
 Metadata Template related wizards :
 /libs/dam/widgets/source/widgets
AEM 6.0 UI Customization
Useful Links
 https://github.com/gknob/sling-resourcemerger
 http://docs.adobe.com/content/docs/en/aem/6-
0/develop/platform/overlays.pdf
 http://dev.day.com/content/docs/en/aem/6-
0/develop/extending/customizing-consoles-touch.html
 http://dev.day.com/content/ddc/en/gems/user-interface-
customization-for-aem-
6/_jcr_content/par/download/file.res/User_interface_customiz
ation_for_aem6.pdf
AEM 6.0 UI Customization
Questions please ?
AEM 6.0 UI Customization

More Related Content

What's hot

Experience and Content Fragment
Experience and Content FragmentExperience and Content Fragment
Experience and Content FragmentHeena Madan
 
Angular - Chapter 4 - Data and Event Handling
 Angular - Chapter 4 - Data and Event Handling Angular - Chapter 4 - Data and Event Handling
Angular - Chapter 4 - Data and Event HandlingWebStackAcademy
 
Spring Framework Petclinic sample application
Spring Framework Petclinic sample applicationSpring Framework Petclinic sample application
Spring Framework Petclinic sample applicationAntoine Rey
 
Oracle Endeca 101 Developer Introduction High Level Overview
Oracle Endeca 101 Developer Introduction High Level OverviewOracle Endeca 101 Developer Introduction High Level Overview
Oracle Endeca 101 Developer Introduction High Level OverviewGordon Kiser
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Lucas Jellema
 
Strapi Meetup Presentation
Strapi Meetup PresentationStrapi Meetup Presentation
Strapi Meetup PresentationStrapi
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentGabriel Walt
 
The java interview questions ebook - confused coders
The java interview questions ebook -  confused codersThe java interview questions ebook -  confused coders
The java interview questions ebook - confused codersYash Sharma
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practicesAnkita Mahajan
 
Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]Mikalai Alimenkou
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core componentsLokesh BS
 
AEM Asset and Tag API
AEM Asset and Tag APIAEM Asset and Tag API
AEM Asset and Tag APILokesh BS
 
Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITIntroduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITnamespaceit
 
Dynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java AnnotationsDynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java AnnotationsBroadleaf Commerce
 
Angular directives and pipes
Angular directives and pipesAngular directives and pipes
Angular directives and pipesKnoldus Inc.
 

What's hot (20)

Experience and Content Fragment
Experience and Content FragmentExperience and Content Fragment
Experience and Content Fragment
 
Angular Data Binding
Angular Data BindingAngular Data Binding
Angular Data Binding
 
Osgi
OsgiOsgi
Osgi
 
Angular - Chapter 4 - Data and Event Handling
 Angular - Chapter 4 - Data and Event Handling Angular - Chapter 4 - Data and Event Handling
Angular - Chapter 4 - Data and Event Handling
 
Spring Framework Petclinic sample application
Spring Framework Petclinic sample applicationSpring Framework Petclinic sample application
Spring Framework Petclinic sample application
 
Oracle Endeca 101 Developer Introduction High Level Overview
Oracle Endeca 101 Developer Introduction High Level OverviewOracle Endeca 101 Developer Introduction High Level Overview
Oracle Endeca 101 Developer Introduction High Level Overview
 
Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...Introduction to web application development with Vue (for absolute beginners)...
Introduction to web application development with Vue (for absolute beginners)...
 
Strapi Meetup Presentation
Strapi Meetup PresentationStrapi Meetup Presentation
Strapi Meetup Presentation
 
AEM Best Practices for Component Development
AEM Best Practices for Component DevelopmentAEM Best Practices for Component Development
AEM Best Practices for Component Development
 
Sling Models Overview
Sling Models OverviewSling Models Overview
Sling Models Overview
 
The java interview questions ebook - confused coders
The java interview questions ebook -  confused codersThe java interview questions ebook -  confused coders
The java interview questions ebook - confused coders
 
Spring boot jpa
Spring boot jpaSpring boot jpa
Spring boot jpa
 
Rest api standards and best practices
Rest api standards and best practicesRest api standards and best practices
Rest api standards and best practices
 
Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]Hexagonal architecture with Spring Boot [EPAM Java online conference]
Hexagonal architecture with Spring Boot [EPAM Java online conference]
 
Data Binding
Data BindingData Binding
Data Binding
 
Adobe AEM core components
Adobe AEM core componentsAdobe AEM core components
Adobe AEM core components
 
AEM Asset and Tag API
AEM Asset and Tag APIAEM Asset and Tag API
AEM Asset and Tag API
 
Introduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace ITIntroduction to React JS for beginners | Namespace IT
Introduction to React JS for beginners | Namespace IT
 
Dynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java AnnotationsDynamically Generate a CRUD Admin Panel with Java Annotations
Dynamically Generate a CRUD Admin Panel with Java Annotations
 
Angular directives and pipes
Angular directives and pipesAngular directives and pipes
Angular directives and pipes
 

Viewers also liked

AEM 6.1 User Interface Customization
AEM 6.1 User Interface CustomizationAEM 6.1 User Interface Customization
AEM 6.1 User Interface CustomizationChristian Meyer
 
User Interface customization for AEM 6
User Interface customization for AEM 6User Interface customization for AEM 6
User Interface customization for AEM 6Damien Antipa
 
UI Customization in AEM 6.0
UI Customization in AEM 6.0UI Customization in AEM 6.0
UI Customization in AEM 6.0Gilles Knobloch
 
AEM 6.0 Touch-optimized UI
AEM 6.0 Touch-optimized UIAEM 6.0 Touch-optimized UI
AEM 6.0 Touch-optimized UIGilles Knobloch
 
CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1ICF CIRCUIT
 
CIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM SitesCIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM SitesICF CIRCUIT
 
User interface customization for aem6 circuit
User interface customization for aem6 circuitUser interface customization for aem6 circuit
User interface customization for aem6 circuitDamien Antipa
 
When dispatcher caching is not enough...
When dispatcher caching is not enough...When dispatcher caching is not enough...
When dispatcher caching is not enough...Jakub Wadolowski
 
Introducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAKIntroducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAKYash Mody
 
Aem authentication vs idp
Aem authentication vs idpAem authentication vs idp
Aem authentication vs idpSaroj Mishra
 
Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014Damien Antipa
 
CIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM AppsCIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM AppsICF CIRCUIT
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAshokkumar T A
 
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksCIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksICF CIRCUIT
 
Adobe AEM Commerce with hybris
Adobe AEM Commerce with hybrisAdobe AEM Commerce with hybris
Adobe AEM Commerce with hybrisPaolo Mottadelli
 

Viewers also liked (20)

AEM 6.1 User Interface Customization
AEM 6.1 User Interface CustomizationAEM 6.1 User Interface Customization
AEM 6.1 User Interface Customization
 
User Interface customization for AEM 6
User Interface customization for AEM 6User Interface customization for AEM 6
User Interface customization for AEM 6
 
UI Customization in AEM 6.0
UI Customization in AEM 6.0UI Customization in AEM 6.0
UI Customization in AEM 6.0
 
AEM 6.0 Touch-optimized UI
AEM 6.0 Touch-optimized UIAEM 6.0 Touch-optimized UI
AEM 6.0 Touch-optimized UI
 
CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1CIRCUIT 2015 - UI Customization in AEM 6.1
CIRCUIT 2015 - UI Customization in AEM 6.1
 
EVOLVE'13 | Enhance | DAM | Paul Legan & Miguel Ruival
EVOLVE'13 | Enhance | DAM | Paul Legan & Miguel RuivalEVOLVE'13 | Enhance | DAM | Paul Legan & Miguel Ruival
EVOLVE'13 | Enhance | DAM | Paul Legan & Miguel Ruival
 
CIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM SitesCIRCUIT 2015 - Content API's For AEM Sites
CIRCUIT 2015 - Content API's For AEM Sites
 
User interface customization for aem6 circuit
User interface customization for aem6 circuitUser interface customization for aem6 circuit
User interface customization for aem6 circuit
 
When dispatcher caching is not enough...
When dispatcher caching is not enough...When dispatcher caching is not enough...
When dispatcher caching is not enough...
 
Cqcon
CqconCqcon
Cqcon
 
Introducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAKIntroducing Apache Jackrabbit OAK
Introducing Apache Jackrabbit OAK
 
(Re)discover your AEM
(Re)discover your AEM(Re)discover your AEM
(Re)discover your AEM
 
Aem authentication vs idp
Aem authentication vs idpAem authentication vs idp
Aem authentication vs idp
 
Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014Introduction to Marketing Cloud UI, Adobe Summit 2014
Introduction to Marketing Cloud UI, Adobe Summit 2014
 
AEM - Client Libraries
AEM - Client LibrariesAEM - Client Libraries
AEM - Client Libraries
 
REST in AEM
REST in AEMREST in AEM
REST in AEM
 
CIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM AppsCIRCUIT 2015 - Hybrid App Development with AEM Apps
CIRCUIT 2015 - Hybrid App Development with AEM Apps
 
Aem dispatcher – tips & tricks
Aem dispatcher – tips & tricksAem dispatcher – tips & tricks
Aem dispatcher – tips & tricks
 
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef CookbooksCIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
CIRCUIT 2015 - AEM Infrastructure Automation with Chef Cookbooks
 
Adobe AEM Commerce with hybris
Adobe AEM Commerce with hybrisAdobe AEM Commerce with hybris
Adobe AEM Commerce with hybris
 

Similar to AEM 6.0 UI Customization Guide: Sling Overlays, Metadata, Search

Introduction to sails.js
Introduction to sails.jsIntroduction to sails.js
Introduction to sails.jsAmit Bidwai
 
ASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites AppearanceASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites AppearanceRandy Connolly
 
Architecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolArchitecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolAdriaan Venter
 
Metamorphosis from Forms to Java: A technical lead's perspective, part II
Metamorphosis from Forms to Java:  A technical lead's perspective, part IIMetamorphosis from Forms to Java:  A technical lead's perspective, part II
Metamorphosis from Forms to Java: A technical lead's perspective, part IIMichael Fons
 
15 asp.net session22
15 asp.net session2215 asp.net session22
15 asp.net session22Vivek chan
 
Web applications configurator_administrator_guide(e)
Web applications configurator_administrator_guide(e)Web applications configurator_administrator_guide(e)
Web applications configurator_administrator_guide(e)idominguez03
 
Angular 8
Angular 8 Angular 8
Angular 8 Sunil OS
 
Writing a massive javascript app
Writing a massive javascript appWriting a massive javascript app
Writing a massive javascript appJustin Park
 
AngularJS Fundamentals + WebAPI
AngularJS Fundamentals + WebAPIAngularJS Fundamentals + WebAPI
AngularJS Fundamentals + WebAPIEric Wise
 
Understanding angular js
Understanding angular jsUnderstanding angular js
Understanding angular jsAayush Shrestha
 
Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Oro Inc.
 
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012Andy Maleh
 
SharePoint Site templates, site definitions, feature stapling
SharePoint Site templates, site definitions, feature staplingSharePoint Site templates, site definitions, feature stapling
SharePoint Site templates, site definitions, feature staplingSalaudeen Rajack
 
Preserving Customizations with Overlays & Custom Objects in AR System 7.6.04
Preserving Customizations with Overlays & Custom Objects in AR System 7.6.04Preserving Customizations with Overlays & Custom Objects in AR System 7.6.04
Preserving Customizations with Overlays & Custom Objects in AR System 7.6.04Vyom Labs
 
Building and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and ContextBuilding and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and ContextSvilen Sabev
 
Why use .net by naveen kumar veligeti
Why use .net by naveen kumar veligetiWhy use .net by naveen kumar veligeti
Why use .net by naveen kumar veligetiNaveen Kumar Veligeti
 

Similar to AEM 6.0 UI Customization Guide: Sling Overlays, Metadata, Search (20)

Introduction to sails.js
Introduction to sails.jsIntroduction to sails.js
Introduction to sails.js
 
ASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites AppearanceASP.NET 06 - Customizing Your Sites Appearance
ASP.NET 06 - Customizing Your Sites Appearance
 
Architecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling ToolArchitecture Specification - Visual Modeling Tool
Architecture Specification - Visual Modeling Tool
 
Metamorphosis from Forms to Java: A technical lead's perspective, part II
Metamorphosis from Forms to Java:  A technical lead's perspective, part IIMetamorphosis from Forms to Java:  A technical lead's perspective, part II
Metamorphosis from Forms to Java: A technical lead's perspective, part II
 
15 asp.net session22
15 asp.net session2215 asp.net session22
15 asp.net session22
 
Web applications configurator_administrator_guide(e)
Web applications configurator_administrator_guide(e)Web applications configurator_administrator_guide(e)
Web applications configurator_administrator_guide(e)
 
Angular 8
Angular 8 Angular 8
Angular 8
 
Writing a massive javascript app
Writing a massive javascript appWriting a massive javascript app
Writing a massive javascript app
 
Rails review
Rails reviewRails review
Rails review
 
AngularJS Fundamentals + WebAPI
AngularJS Fundamentals + WebAPIAngularJS Fundamentals + WebAPI
AngularJS Fundamentals + WebAPI
 
Fame
FameFame
Fame
 
Understanding angular js
Understanding angular jsUnderstanding angular js
Understanding angular js
 
Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)Adding custom ui controls to your application (1)
Adding custom ui controls to your application (1)
 
ASP.NET Identity
ASP.NET IdentityASP.NET Identity
ASP.NET Identity
 
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012
Revised Rails Engine Patterns for Montreal.rb meetup Oct 16, 2012
 
SharePoint Site templates, site definitions, feature stapling
SharePoint Site templates, site definitions, feature staplingSharePoint Site templates, site definitions, feature stapling
SharePoint Site templates, site definitions, feature stapling
 
Preserving Customizations with Overlays & Custom Objects in AR System 7.6.04
Preserving Customizations with Overlays & Custom Objects in AR System 7.6.04Preserving Customizations with Overlays & Custom Objects in AR System 7.6.04
Preserving Customizations with Overlays & Custom Objects in AR System 7.6.04
 
Building and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and ContextBuilding and Deployment of Drupal sites with Features and Context
Building and Deployment of Drupal sites with Features and Context
 
MVC 4
MVC 4MVC 4
MVC 4
 
Why use .net by naveen kumar veligeti
Why use .net by naveen kumar veligetiWhy use .net by naveen kumar veligeti
Why use .net by naveen kumar veligeti
 

Recently uploaded

Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineeringssuserb3a23b
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentationvaddepallysandeep122
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Natan Silnitsky
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptrcbcrtm
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024StefanoLambiase
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...OnePlan Solutions
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Cizo Technology Services
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsSafe Software
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfAlina Yurenko
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsChristian Birchler
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtimeandrehoraa
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEEVICTOR MAESTRE RAMIREZ
 

Recently uploaded (20)

Software Coding for software engineering
Software Coding for software engineeringSoftware Coding for software engineering
Software Coding for software engineering
 
PREDICTING RIVER WATER QUALITY ppt presentation
PREDICTING  RIVER  WATER QUALITY  ppt presentationPREDICTING  RIVER  WATER QUALITY  ppt presentation
PREDICTING RIVER WATER QUALITY ppt presentation
 
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
Taming Distributed Systems: Key Insights from Wix's Large-Scale Experience - ...
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
cpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.pptcpct NetworkING BASICS AND NETWORK TOOL.ppt
cpct NetworkING BASICS AND NETWORK TOOL.ppt
 
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
Dealing with Cultural Dispersion — Stefano Lambiase — ICSE-SEIS 2024
 
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
Tech Tuesday - Mastering Time Management Unlock the Power of OnePlan's Timesh...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
Global Identity Enrolment and Verification Pro Solution - Cizo Technology Ser...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Powering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data StreamsPowering Real-Time Decisions with Continuous Data Streams
Powering Real-Time Decisions with Continuous Data Streams
 
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdfGOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
GOING AOT WITH GRAALVM – DEVOXX GREECE.pdf
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving CarsSensoDat: Simulation-based Sensor Dataset of Self-driving Cars
SensoDat: Simulation-based Sensor Dataset of Self-driving Cars
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
SpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at RuntimeSpotFlow: Tracking Method Calls and States at Runtime
SpotFlow: Tracking Method Calls and States at Runtime
 
Cloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEECloud Data Center Network Construction - IEEE
Cloud Data Center Network Construction - IEEE
 

AEM 6.0 UI Customization Guide: Sling Overlays, Metadata, Search

  • 1. AEM 6.0 – UI Customization & Features Abhinit Bhatnagar Senior Developer, 3|SHARE Corporation
  • 2. Agenda  Sling Resource Merger  Add / Hide links from left rail  Add a new button in the console  Modify Search filters  Metadata properties as tags  Asset editor – Metadata Templates AEM 6.0 UI Customization
  • 3. Sling Resource Merger  Provides services to access and merge resources  Allows to manage overrides of nodes and their properties  AEM configured to search the /apps first and then the /libs to find a resource.  What is an overlay ?  Taking the predefined functionality and imposing your own definitions over that. AEM 6.0 UI Customization
  • 4. How to create an overlay  Recreate the required nodes and node structure as they exist in /libs  Create the overlay node structure in /apps  Make your changes in /apps  IMPORTANT :  You must not make changes in the /libs branch  Not recommended to copy entire structure from /libs to /apps  Non-Granite UI changes needs complete structure duplication. AEM 6.0 UI Customization
  • 5. Properties  sling:hideProperties  To hide certain properties under the node  sling:hideResource  To hide the resource and its children  sling:hideChildren  To hide the children as specified but node remains visible  sling:orderBefore  Ordering the node with respect to the siblings AEM 6.0 UI Customization
  • 6. Uses of Sling Resource Merger  Add a property  Override a property (not auto-created properties)  Override an auto-created property  Override a node and its children  Hide a property  Hide a node and its children  Hide children of a node (while keeping the properties of the node)  Reorder nodes AEM 6.0 UI Customization
  • 7. Add links to the left rail To do this, you can create an overlay of : /libs/cq/core/content/nav In the apps overlay : /apps/cq/core/content/nav  Add a similar node with desired properties  All properties can be changed including the title AEM 6.0 UI Customization
  • 8. Hide links from the left rail To do this, you can create an overlay of : /libs/cq/core/content/nav In the apps overlay : /apps/cq/core/content/nav  As simple as adding a property – sling:hideResource : true to the node AEM 6.0 UI Customization
  • 9. Add a new button in the console To do this, you can create an overlay of : /libs/dam/gui/components/admin /libs/dam/gui/content/assets In the apps overlay : /apps/dam/gui/components/admin/{name} /apps/dam/gui/content/assets  Requires overriding of multiple properties and nodes.  The requirement specific changes can be done to the CSS and the JS under the clientlibs. AEM 6.0 UI Customization
  • 10. Modify Search filters To do this, you can create an overlay of : /libs/dam/gui/content/facets /libs/dam/content/search /libs/dam/options In the apps overlay : /apps/dam/gui/content/facets /apps/dam/content/search /apps/dam/options  Requires overriding of multiple properties and nodes.  The predicates, facets and search options can all be modified and overridden.  Can also be useful for the creation of smart collections as it provides better optimized search results AEM 6.0 UI Customization
  • 11. Metadata properties as tags To do this, you can create an overlay of : /libs/cq/gui/components/common/datasources /libs/dam/content/schemaeditors In the apps overlay : /apps/cq/gui/components/common/datasources /apps/dam/content/schemaeditors  Tags can be handy for multiple valued metadata & better taxonomy  Modify the datasources for the tags.  Changes in the metadata structure and can be used in multiple places. AEM 6.0 UI Customization
  • 12. Asset Editor – Metadata Templates To do this, you can create an overlay of : /libs/dam/content/asseteditors In the apps overlay : /apps/dam/content/asseteditors  Metadata Editor changes can be done in accordance to the Non – Granite UI.  Can be seen in the classic UI.  Custom fields can be added similar to the metadata schema editor but not in the new UI but only in the node structure. AEM 6.0 UI Customization
  • 13. Other useful information  Certain node structures in /libs which can be overridden in /apps for desired functionalities :  Form similar to the Image Set creation :  /libs/dam/gui/content/s7dam/sets/imageset/jcr:content/bod y/content/items  Asset Reports :  /libs/dam/content/reports  /libs/dam/gui/components/admin/reports  Page Header information comes from :  /libs/dam/gui/content/assets/jcr:content/head AEM 6.0 UI Customization
  • 14. Other useful information (contd.)  Actions related to various DAM operations :  /libs/wcm/core/content/damadmin/actions  DAM Actions (Classic UI) :  /libs/cq/ui/widgets/source/widgets/wcm/DamAdmin.Actions .js  Metadata Template related wizards :  /libs/dam/widgets/source/widgets AEM 6.0 UI Customization
  • 15. Useful Links  https://github.com/gknob/sling-resourcemerger  http://docs.adobe.com/content/docs/en/aem/6- 0/develop/platform/overlays.pdf  http://dev.day.com/content/docs/en/aem/6- 0/develop/extending/customizing-consoles-touch.html  http://dev.day.com/content/ddc/en/gems/user-interface- customization-for-aem- 6/_jcr_content/par/download/file.res/User_interface_customiz ation_for_aem6.pdf AEM 6.0 UI Customization
  • 16. Questions please ? AEM 6.0 UI Customization