SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
The New Developer
Adobe Experience Manager 6
<div itemscope itemtype="http://schema.org/Person">
<span itemprop="name">Emily Stange</span>
<span itemprop="jobTitle">
Senior Solution Consultant
</span> for
<span itemprop="affiliation">Adobe</span>
</div>
<div itemscope itemtype="http://schema.org/Person">
<span itemprop="name">Cedric Huesler</span>
<span itemprop="jobTitle">
Group Product Manager Web Experience Management
</span> for
<span itemprop="affiliation">Adobe</span>
</div>
6._
TL:DR
1 2 3
Code save
components
quicker with Sightly
New JCR repository
that can handle
more content faster
Lots of new
features/APIs and a
fresh Touch-
optimized UI
New code
workflow
1
Adobe Experience Manager
FilesystemGIT et al Filesystem
Runtime &
Repository
IDE
Preview
in Browser
commit
hot-deploysave
save
Less code… and
keep it neat!
2
Adobe Experience Manager
Component Model
cq:Component
Dialog
Code
ClientLibs
Analytics
Design Dialog
Edit Config
cq:Dialog (ExtJS)
JSP ECMA
Dialog: cq/gui/components/authoring/dialog
HTML (Sightly)+JS HTML (Sightly)+Java
cq:Dialog (ExtJS)
cq:EditConfig
cq:ClientLibraryFolder
‘analytics’ node
Adobe Experience Manager
Code
<%@include file="/apps/geometrixx-media/global.jsp"%><%
%><%@ page session="false"
import="java.util.Iterator,
com.day.cq.wcm.api.PageFilter" %><%
long absParent = currentStyle.get("absParent", 2L);
Page rootPage = currentPage.getAbsoluteParent((int) absParent);
Iterator<Page> childPages = null;
if (rootPage != null) {
childPages = rootPage.listChildren(new PageFilter(request));
}
%>
<div class="visible-phone btn-container">
<a class="btn btn-inverse authenticate"><i class="icon-cog icon-white"></i></a>
<a class="btn btn-inverse menu-dropdown">Menu <i class="icon-chevron-down icon-white"></i></a>
</div>
<nav>
<ul>
<%
if (childPages != null) {
while (childPages.hasNext()) {
String cssStyle = "";
Page childPage = childPages.next();
if (isCurrentPage(currentPage, childPage)) {
cssStyle = "class='current-page'";
}
String title = getTitle(xssAPI, childPage);
%><li <%=cssStyle%>><a href="<%= childPage.getPath() %>.html"><%= title %></a></li>
<%
}
}
%>
</ul>
<cq:include path="search" resourceType="geometrixx-media/components/page/search"/>
</nav>
<%!
boolean isCurrentPage(Page currentPage, Page page) {
return currentPage.equals(page);
}
String getTitle(XSSAPI xssAPI, Page page) {
String navTitle = page.getNavigationTitle();
if(navTitle == null) {
navTitle = page.getTitle();
}
if(navTitle == null) {
navTitle = page.getName();
}
return xssAPI.encodeForHTML(navTitle);
}
%>
<div class="visible-phone btn-container">
<a class="btn btn-inverse authenticate"><i class="icon-cog icon-white"></i></a>
<a class="btn btn-inverse menu-dropdown">${'Menu' @ i18n} <i class="icon-chevron-down icon-white"></i></a>
</div>
<nav data-sly-use-topNav="TopNav">
<ul data-sly-list-navItem="${topNav.items}">
<li class="current-${navItem.isCurrent}"><a href="${navItem.page.path}.html">${navItem.title}</a></li>
</ul>
<div data-sly-resource="${options: path='search', resourceType='geometrixx-media/components/page/search'}"/>
</nav>
package apps.geometrixx_media.components.topnav;
import com.adobe.cq.sightly.WcmUse;
import com.day.cq.wcm.api.Page;
import com.day.cq.wcm.api.PageFilter;
import java.util.*;
public class TopNav extends WcmUse {
private List<Map<String, Object>> items = new ArrayList<Map<String, Object>>();
private String getTitle(Page page) {
String navTitle = page.getNavigationTitle();
if (navTitle == null) {
navTitle = page.getTitle();
if (navTitle == null) {
navTitle = page.getName();
}
}
return navTitle;
}
public void activate() throws Exception {
Page currentPage = getCurrentPage();
int absParent = getCurrentStyle().get("absParent", 2);
Page rootPage = currentPage.getAbsoluteParent(absParent);
if (rootPage != null) {
Iterator<Page> childPages = rootPage.listChildren(new PageFilter(getRequest()));
while (childPages.hasNext()) {
Map<String, Object> navItem = new HashMap<String, Object>();
Page childPage = childPages.next();
navItem.put("page", childPage);
navItem.put("title", getTitle(childPage));
navItem.put("isCurrent", new Boolean(currentPage.equals(childPage)));
items.add(navItem);
}
}
}
public List<Map<String, Object>> getItems() {
return items;
}
}
Component Code (HTML+JSP) Component Code (HTML+Sightly)
Reusable Java or JavaScript Code
vs
Automated Site
Testing
3
New repo -
same API
4
Adobe Experience Manager
Microkernel Repository (aka Oak)
Tar Set DataStore Indexes Tar Set
JCR
HTTP
5.x 6.x
Microkernel
ISMs for Session
ISMs for Workspace
Multiversion concurrency control
Our & Your Code Our & Your Code
SearchBinaries
Nodes

Properties Nodes, Properties, Binaries, Search
CQSE Jetty
Update
process
5
Adobe Experience Manager
2-step Upgrade
Replace JAR

file
Startup runs

in-place

upgrade
run

crx2oak
Choice:
- TAR files
- MongoDB
Stop Start Stop Start
Mobile apps with
PhoneGap
6
New APIs7
Adobe Experience Manager
New & extended APIs
• Sling Models
• Sling Health-check
• Sling Resource Merge
• Translation API
• Vault RPC
• ContextHub
• ContentInsight
• eCommerce
• Social Components
• DAM Collection & Sets
Dependencies for Maven/Gradle:
http://repo.adobe.com/nexus/content/repositories/releases/com/adobe/aem/aem-api/6.0.0.1/
TL:DR
1 2 3
Code save
components
quicker with Sightly
New JCR repository
that can handle
more content faster
Lots of new
features/APIs and a
fresh Touch-
optimized UI
What I always wanted to know?

Mais conteúdo relacionado

Mais procurados

WordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalWordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalChandra Prakash Thapa
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax ApplicationsJulien Lecomte
 
Web performance essentials - Goodies
Web performance essentials - GoodiesWeb performance essentials - Goodies
Web performance essentials - GoodiesJerry Emmanuel
 
WordPress Theme Development: Part 2
WordPress Theme Development: Part 2WordPress Theme Development: Part 2
WordPress Theme Development: Part 2Josh Lee
 
Cache Money Talk: Practical Application
Cache Money Talk: Practical ApplicationCache Money Talk: Practical Application
Cache Money Talk: Practical ApplicationWolfram Arnold
 
Mobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScriptMobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScriptfranksvalli
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2fishwarter
 
Top 10 HTML5 features every developer should know!
Top 10 HTML5 features every developer should know!Top 10 HTML5 features every developer should know!
Top 10 HTML5 features every developer should know!Gill Cleeren
 
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LABHTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LABpriya Nithya
 
Learn html and css from scratch
Learn html and css from scratchLearn html and css from scratch
Learn html and css from scratchMohd Manzoor Ahmed
 
jQuery Proven Performance Tips & Tricks
jQuery Proven Performance Tips & TricksjQuery Proven Performance Tips & Tricks
jQuery Proven Performance Tips & TricksAddy Osmani
 
Introduction Django
Introduction DjangoIntroduction Django
Introduction DjangoWade Austin
 
Up & Running with Polymer
Up & Running with PolymerUp & Running with Polymer
Up & Running with PolymerFiyaz Hasan
 
Create responsive websites with Django, REST and AngularJS
Create responsive websites with Django, REST and AngularJSCreate responsive websites with Django, REST and AngularJS
Create responsive websites with Django, REST and AngularJSHannes Hapke
 
Wordless, stop writing WordPress themes like it's 1998
Wordless, stop writing WordPress themes like it's 1998Wordless, stop writing WordPress themes like it's 1998
Wordless, stop writing WordPress themes like it's 1998Filippo Dino
 

Mais procurados (20)

WordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 NepalWordPress theme development from scratch : ICT MeetUp 2013 Nepal
WordPress theme development from scratch : ICT MeetUp 2013 Nepal
 
Rebrand WordPress Admin
Rebrand WordPress AdminRebrand WordPress Admin
Rebrand WordPress Admin
 
Sightly - Part 2
Sightly - Part 2Sightly - Part 2
Sightly - Part 2
 
High Performance Ajax Applications
High Performance Ajax ApplicationsHigh Performance Ajax Applications
High Performance Ajax Applications
 
Web performance essentials - Goodies
Web performance essentials - GoodiesWeb performance essentials - Goodies
Web performance essentials - Goodies
 
WordPress Theme Development: Part 2
WordPress Theme Development: Part 2WordPress Theme Development: Part 2
WordPress Theme Development: Part 2
 
Challenges going mobile
Challenges going mobileChallenges going mobile
Challenges going mobile
 
Cache Money Talk: Practical Application
Cache Money Talk: Practical ApplicationCache Money Talk: Practical Application
Cache Money Talk: Practical Application
 
Mobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScriptMobile HTML, CSS, and JavaScript
Mobile HTML, CSS, and JavaScript
 
The Django Web Application Framework 2
The Django Web Application Framework 2The Django Web Application Framework 2
The Django Web Application Framework 2
 
Top 10 HTML5 features every developer should know!
Top 10 HTML5 features every developer should know!Top 10 HTML5 features every developer should know!
Top 10 HTML5 features every developer should know!
 
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LABHTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
HTTP REQUEST RESPONSE OBJECT - WEB APPLICATION USING C# LAB
 
Learn html and css from scratch
Learn html and css from scratchLearn html and css from scratch
Learn html and css from scratch
 
jQuery Proven Performance Tips & Tricks
jQuery Proven Performance Tips & TricksjQuery Proven Performance Tips & Tricks
jQuery Proven Performance Tips & Tricks
 
Intro to html 5
Intro to html 5Intro to html 5
Intro to html 5
 
Introduction Django
Introduction DjangoIntroduction Django
Introduction Django
 
Up & Running with Polymer
Up & Running with PolymerUp & Running with Polymer
Up & Running with Polymer
 
Create responsive websites with Django, REST and AngularJS
Create responsive websites with Django, REST and AngularJSCreate responsive websites with Django, REST and AngularJS
Create responsive websites with Django, REST and AngularJS
 
HTML 5 & CSS 3
HTML 5 & CSS 3HTML 5 & CSS 3
HTML 5 & CSS 3
 
Wordless, stop writing WordPress themes like it's 1998
Wordless, stop writing WordPress themes like it's 1998Wordless, stop writing WordPress themes like it's 1998
Wordless, stop writing WordPress themes like it's 1998
 

Destaque

Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP Slides
Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP SlidesXamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP Slides
Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP SlidesXamarin
 
SAP mobile platform & mobile apps
SAP mobile platform & mobile appsSAP mobile platform & mobile apps
SAP mobile platform & mobile appsCapgemini
 
Bangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - ManiBangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - ManiMani Chandrasekaran
 
REACT New Technology Integration - R. Goswami 9Z4RG - HAM/Amateur Radio
REACT New Technology Integration - R. Goswami 9Z4RG - HAM/Amateur RadioREACT New Technology Integration - R. Goswami 9Z4RG - HAM/Amateur Radio
REACT New Technology Integration - R. Goswami 9Z4RG - HAM/Amateur RadioREACT International, Inc.
 
Hazelcast For Beginners (Paris JUG-1)
Hazelcast For Beginners (Paris JUG-1)Hazelcast For Beginners (Paris JUG-1)
Hazelcast For Beginners (Paris JUG-1)Emrah Kocaman
 
Mule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesMule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesAnirudh Pandit
 
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneJavascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneDeepu S Nath
 
ReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparisonReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparison500Tech
 
Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Stuart Charlton
 
A Brief Introduction to React.js
A Brief Introduction to React.jsA Brief Introduction to React.js
A Brief Introduction to React.jsDoug Neiner
 
Viktor Bezhenar, Lviv PM Day - On the way of building your own Engineering Cu...
Viktor Bezhenar, Lviv PM Day - On the way of building your own Engineering Cu...Viktor Bezhenar, Lviv PM Day - On the way of building your own Engineering Cu...
Viktor Bezhenar, Lviv PM Day - On the way of building your own Engineering Cu...viktor_bezhenar
 
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB MongoDB
 
Hazelcast Essentials
Hazelcast EssentialsHazelcast Essentials
Hazelcast EssentialsRahul Gupta
 
Rethinking Best Practices
Rethinking Best PracticesRethinking Best Practices
Rethinking Best Practicesfloydophone
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.jsRyan Anklam
 
Resilience reloaded - more resilience patterns
Resilience reloaded - more resilience patternsResilience reloaded - more resilience patterns
Resilience reloaded - more resilience patternsUwe Friedrichsen
 

Destaque (20)

Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP Slides
Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP SlidesXamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP Slides
Xamarin and SAP Mobile Platform for Mobile Enterprise Success - SAP Slides
 
SAP mobile platform & mobile apps
SAP mobile platform & mobile appsSAP mobile platform & mobile apps
SAP mobile platform & mobile apps
 
React nativebeginner1
React nativebeginner1React nativebeginner1
React nativebeginner1
 
Bangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - ManiBangalore Cloud Foundry meetup - Mani
Bangalore Cloud Foundry meetup - Mani
 
REACT New Technology Integration - R. Goswami 9Z4RG - HAM/Amateur Radio
REACT New Technology Integration - R. Goswami 9Z4RG - HAM/Amateur RadioREACT New Technology Integration - R. Goswami 9Z4RG - HAM/Amateur Radio
REACT New Technology Integration - R. Goswami 9Z4RG - HAM/Amateur Radio
 
Hazelcast For Beginners (Paris JUG-1)
Hazelcast For Beginners (Paris JUG-1)Hazelcast For Beginners (Paris JUG-1)
Hazelcast For Beginners (Paris JUG-1)
 
Mule : Building Blocks for Microservices
Mule : Building Blocks for MicroservicesMule : Building Blocks for Microservices
Mule : Building Blocks for Microservices
 
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and BackboneJavascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
Javascript Frameworks Comparison - Angular, Knockout, Ember and Backbone
 
ReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparisonReactJS vs AngularJS - Head to Head comparison
ReactJS vs AngularJS - Head to Head comparison
 
Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016Cloud Foundry Vancouver Meetup July 2016
Cloud Foundry Vancouver Meetup July 2016
 
Fault tolerance made easy
Fault tolerance made easyFault tolerance made easy
Fault tolerance made easy
 
A Brief Introduction to React.js
A Brief Introduction to React.jsA Brief Introduction to React.js
A Brief Introduction to React.js
 
Viktor Bezhenar, Lviv PM Day - On the way of building your own Engineering Cu...
Viktor Bezhenar, Lviv PM Day - On the way of building your own Engineering Cu...Viktor Bezhenar, Lviv PM Day - On the way of building your own Engineering Cu...
Viktor Bezhenar, Lviv PM Day - On the way of building your own Engineering Cu...
 
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
Webinar: Adobe Experience Manager Clustering Made Easy on MongoDB
 
Best node js course
Best node js courseBest node js course
Best node js course
 
Hazelcast Essentials
Hazelcast EssentialsHazelcast Essentials
Hazelcast Essentials
 
Resilience with Hystrix
Resilience with HystrixResilience with Hystrix
Resilience with Hystrix
 
Rethinking Best Practices
Rethinking Best PracticesRethinking Best Practices
Rethinking Best Practices
 
Modern UI Development With Node.js
Modern UI Development With Node.jsModern UI Development With Node.js
Modern UI Development With Node.js
 
Resilience reloaded - more resilience patterns
Resilience reloaded - more resilience patternsResilience reloaded - more resilience patterns
Resilience reloaded - more resilience patterns
 

Semelhante a Experience Manager 6 Developer Features - Highlights

Aplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneAplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneRafael Felix da Silva
 
AnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFacesAnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFacesAnkara JUG
 
Secrets of JavaScript Libraries
Secrets of JavaScript LibrariesSecrets of JavaScript Libraries
Secrets of JavaScript Librariesjeresig
 
Crossing platforms with JavaScript & React
Crossing platforms with JavaScript & React Crossing platforms with JavaScript & React
Crossing platforms with JavaScript & React Robert DeLuca
 
Backbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVCBackbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVCpootsbook
 
Building Universal Web Apps with React ForwardJS 2017
Building Universal Web Apps with React ForwardJS 2017Building Universal Web Apps with React ForwardJS 2017
Building Universal Web Apps with React ForwardJS 2017Elyse Kolker Gordon
 
Demo how to create visualforce and apex controller to update, delete custom o...
Demo how to create visualforce and apex controller to update, delete custom o...Demo how to create visualforce and apex controller to update, delete custom o...
Demo how to create visualforce and apex controller to update, delete custom o...tuan vo
 
Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4DEVCON
 
Modern frontend development with VueJs
Modern frontend development with VueJsModern frontend development with VueJs
Modern frontend development with VueJsTudor Barbu
 
Building iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoBuilding iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoRob Bontekoe
 
Client-side Rendering with AngularJS
Client-side Rendering with AngularJSClient-side Rendering with AngularJS
Client-side Rendering with AngularJSDavid Lapsley
 
Understanding backbonejs
Understanding backbonejsUnderstanding backbonejs
Understanding backbonejsNick Lee
 

Semelhante a Experience Manager 6 Developer Features - Highlights (20)

Aplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com BackboneAplicacoes dinamicas Rails com Backbone
Aplicacoes dinamicas Rails com Backbone
 
AnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFacesAnkaraJUG Kasım 2012 - PrimeFaces
AnkaraJUG Kasım 2012 - PrimeFaces
 
Secrets of JavaScript Libraries
Secrets of JavaScript LibrariesSecrets of JavaScript Libraries
Secrets of JavaScript Libraries
 
Practica n° 7
Practica n° 7Practica n° 7
Practica n° 7
 
Crossing platforms with JavaScript & React
Crossing platforms with JavaScript & React Crossing platforms with JavaScript & React
Crossing platforms with JavaScript & React
 
Backbone.js
Backbone.jsBackbone.js
Backbone.js
 
Backbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVCBackbone.js — Introduction to client-side JavaScript MVC
Backbone.js — Introduction to client-side JavaScript MVC
 
Backbone - TDC 2011 Floripa
Backbone - TDC 2011 FloripaBackbone - TDC 2011 Floripa
Backbone - TDC 2011 Floripa
 
Building Universal Web Apps with React ForwardJS 2017
Building Universal Web Apps with React ForwardJS 2017Building Universal Web Apps with React ForwardJS 2017
Building Universal Web Apps with React ForwardJS 2017
 
React 101
React 101React 101
React 101
 
Javascript
JavascriptJavascript
Javascript
 
JSP
JSPJSP
JSP
 
Demo how to create visualforce and apex controller to update, delete custom o...
Demo how to create visualforce and apex controller to update, delete custom o...Demo how to create visualforce and apex controller to update, delete custom o...
Demo how to create visualforce and apex controller to update, delete custom o...
 
Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4Python Code Camp for Professionals 1/4
Python Code Camp for Professionals 1/4
 
Modern frontend development with VueJs
Modern frontend development with VueJsModern frontend development with VueJs
Modern frontend development with VueJs
 
React outbox
React outboxReact outbox
React outbox
 
Building iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" DominoBuilding iPhone Web Apps using "classic" Domino
Building iPhone Web Apps using "classic" Domino
 
Client-side Rendering with AngularJS
Client-side Rendering with AngularJSClient-side Rendering with AngularJS
Client-side Rendering with AngularJS
 
Html5 For Jjugccc2009fall
Html5 For Jjugccc2009fallHtml5 For Jjugccc2009fall
Html5 For Jjugccc2009fall
 
Understanding backbonejs
Understanding backbonejsUnderstanding backbonejs
Understanding backbonejs
 

Mais de Cédric Hüsler

Building Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGiBuilding Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGiCédric Hüsler
 
CRX 2 Content Application Platform
CRX 2 Content Application PlatformCRX 2 Content Application Platform
CRX 2 Content Application PlatformCédric Hüsler
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuCédric Hüsler
 
Blogs, Wikis and Enterprise Social Networking Software
Blogs, Wikis and Enterprise Social Networking SoftwareBlogs, Wikis and Enterprise Social Networking Software
Blogs, Wikis and Enterprise Social Networking SoftwareCédric Hüsler
 
New recipes for the ever growing content cloud
New recipes for the ever growing content cloudNew recipes for the ever growing content cloud
New recipes for the ever growing content cloudCédric Hüsler
 
Cloud Based Content Services
Cloud Based Content ServicesCloud Based Content Services
Cloud Based Content ServicesCédric Hüsler
 
Data First in Cloud Persistence
Data First in Cloud PersistenceData First in Cloud Persistence
Data First in Cloud PersistenceCédric Hüsler
 
CMIS PlugFest (April 2009) Screenshots
CMIS PlugFest (April 2009) ScreenshotsCMIS PlugFest (April 2009) Screenshots
CMIS PlugFest (April 2009) ScreenshotsCédric Hüsler
 
Imagine you blog & everybody is reading!
Imagine you blog & everybody is reading!Imagine you blog & everybody is reading!
Imagine you blog & everybody is reading!Cédric Hüsler
 
OpenID and SocialGraph/Apps
OpenID and SocialGraph/AppsOpenID and SocialGraph/Apps
OpenID and SocialGraph/AppsCédric Hüsler
 
Dataportability & Digital Identity
Dataportability & Digital IdentityDataportability & Digital Identity
Dataportability & Digital IdentityCédric Hüsler
 
Autos in Zeitung publizieren
Autos in Zeitung publizierenAutos in Zeitung publizieren
Autos in Zeitung publizierenCédric Hüsler
 
Geoweb - because location matters
Geoweb - because location mattersGeoweb - because location matters
Geoweb - because location mattersCédric Hüsler
 

Mais de Cédric Hüsler (16)

Building Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGiBuilding Content Applications with JCR and OSGi
Building Content Applications with JCR and OSGi
 
CRX 2 Content Application Platform
CRX 2 Content Application PlatformCRX 2 Content Application Platform
CRX 2 Content Application Platform
 
Day CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neuDay CQ 5.3 WCM - Was ist neu
Day CQ 5.3 WCM - Was ist neu
 
Blogs, Wikis and Enterprise Social Networking Software
Blogs, Wikis and Enterprise Social Networking SoftwareBlogs, Wikis and Enterprise Social Networking Software
Blogs, Wikis and Enterprise Social Networking Software
 
New recipes for the ever growing content cloud
New recipes for the ever growing content cloudNew recipes for the ever growing content cloud
New recipes for the ever growing content cloud
 
The 8 Don'ts of WCM
The 8 Don'ts of WCMThe 8 Don'ts of WCM
The 8 Don'ts of WCM
 
Cloud Based Content Services
Cloud Based Content ServicesCloud Based Content Services
Cloud Based Content Services
 
Data First in Cloud Persistence
Data First in Cloud PersistenceData First in Cloud Persistence
Data First in Cloud Persistence
 
CMIS PlugFest (April 2009) Screenshots
CMIS PlugFest (April 2009) ScreenshotsCMIS PlugFest (April 2009) Screenshots
CMIS PlugFest (April 2009) Screenshots
 
Day CRX Introduction
Day CRX IntroductionDay CRX Introduction
Day CRX Introduction
 
Imagine you blog & everybody is reading!
Imagine you blog & everybody is reading!Imagine you blog & everybody is reading!
Imagine you blog & everybody is reading!
 
OpenID and SocialGraph/Apps
OpenID and SocialGraph/AppsOpenID and SocialGraph/Apps
OpenID and SocialGraph/Apps
 
Dataportability & Digital Identity
Dataportability & Digital IdentityDataportability & Digital Identity
Dataportability & Digital Identity
 
Autos in Zeitung publizieren
Autos in Zeitung publizierenAutos in Zeitung publizieren
Autos in Zeitung publizieren
 
Geoweb - because location matters
Geoweb - because location mattersGeoweb - because location matters
Geoweb - because location matters
 
OpenID Authentication
OpenID AuthenticationOpenID Authentication
OpenID Authentication
 

Último

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesBoston Institute of Analytics
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 

Último (20)

From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 

Experience Manager 6 Developer Features - Highlights

  • 1. The New Developer Adobe Experience Manager 6
  • 2. <div itemscope itemtype="http://schema.org/Person"> <span itemprop="name">Emily Stange</span> <span itemprop="jobTitle"> Senior Solution Consultant </span> for <span itemprop="affiliation">Adobe</span> </div> <div itemscope itemtype="http://schema.org/Person"> <span itemprop="name">Cedric Huesler</span> <span itemprop="jobTitle"> Group Product Manager Web Experience Management </span> for <span itemprop="affiliation">Adobe</span> </div>
  • 3. 6._
  • 4. TL:DR 1 2 3 Code save components quicker with Sightly New JCR repository that can handle more content faster Lots of new features/APIs and a fresh Touch- optimized UI
  • 6. Adobe Experience Manager FilesystemGIT et al Filesystem Runtime & Repository IDE Preview in Browser commit hot-deploysave save
  • 8. Adobe Experience Manager Component Model cq:Component Dialog Code ClientLibs Analytics Design Dialog Edit Config cq:Dialog (ExtJS) JSP ECMA Dialog: cq/gui/components/authoring/dialog HTML (Sightly)+JS HTML (Sightly)+Java cq:Dialog (ExtJS) cq:EditConfig cq:ClientLibraryFolder ‘analytics’ node
  • 9. Adobe Experience Manager Code <%@include file="/apps/geometrixx-media/global.jsp"%><% %><%@ page session="false" import="java.util.Iterator, com.day.cq.wcm.api.PageFilter" %><% long absParent = currentStyle.get("absParent", 2L); Page rootPage = currentPage.getAbsoluteParent((int) absParent); Iterator<Page> childPages = null; if (rootPage != null) { childPages = rootPage.listChildren(new PageFilter(request)); } %> <div class="visible-phone btn-container"> <a class="btn btn-inverse authenticate"><i class="icon-cog icon-white"></i></a> <a class="btn btn-inverse menu-dropdown">Menu <i class="icon-chevron-down icon-white"></i></a> </div> <nav> <ul> <% if (childPages != null) { while (childPages.hasNext()) { String cssStyle = ""; Page childPage = childPages.next(); if (isCurrentPage(currentPage, childPage)) { cssStyle = "class='current-page'"; } String title = getTitle(xssAPI, childPage); %><li <%=cssStyle%>><a href="<%= childPage.getPath() %>.html"><%= title %></a></li> <% } } %> </ul> <cq:include path="search" resourceType="geometrixx-media/components/page/search"/> </nav> <%! boolean isCurrentPage(Page currentPage, Page page) { return currentPage.equals(page); } String getTitle(XSSAPI xssAPI, Page page) { String navTitle = page.getNavigationTitle(); if(navTitle == null) { navTitle = page.getTitle(); } if(navTitle == null) { navTitle = page.getName(); } return xssAPI.encodeForHTML(navTitle); } %> <div class="visible-phone btn-container"> <a class="btn btn-inverse authenticate"><i class="icon-cog icon-white"></i></a> <a class="btn btn-inverse menu-dropdown">${'Menu' @ i18n} <i class="icon-chevron-down icon-white"></i></a> </div> <nav data-sly-use-topNav="TopNav"> <ul data-sly-list-navItem="${topNav.items}"> <li class="current-${navItem.isCurrent}"><a href="${navItem.page.path}.html">${navItem.title}</a></li> </ul> <div data-sly-resource="${options: path='search', resourceType='geometrixx-media/components/page/search'}"/> </nav> package apps.geometrixx_media.components.topnav; import com.adobe.cq.sightly.WcmUse; import com.day.cq.wcm.api.Page; import com.day.cq.wcm.api.PageFilter; import java.util.*; public class TopNav extends WcmUse { private List<Map<String, Object>> items = new ArrayList<Map<String, Object>>(); private String getTitle(Page page) { String navTitle = page.getNavigationTitle(); if (navTitle == null) { navTitle = page.getTitle(); if (navTitle == null) { navTitle = page.getName(); } } return navTitle; } public void activate() throws Exception { Page currentPage = getCurrentPage(); int absParent = getCurrentStyle().get("absParent", 2); Page rootPage = currentPage.getAbsoluteParent(absParent); if (rootPage != null) { Iterator<Page> childPages = rootPage.listChildren(new PageFilter(getRequest())); while (childPages.hasNext()) { Map<String, Object> navItem = new HashMap<String, Object>(); Page childPage = childPages.next(); navItem.put("page", childPage); navItem.put("title", getTitle(childPage)); navItem.put("isCurrent", new Boolean(currentPage.equals(childPage))); items.add(navItem); } } } public List<Map<String, Object>> getItems() { return items; } } Component Code (HTML+JSP) Component Code (HTML+Sightly) Reusable Java or JavaScript Code vs
  • 12. Adobe Experience Manager Microkernel Repository (aka Oak) Tar Set DataStore Indexes Tar Set JCR HTTP 5.x 6.x Microkernel ISMs for Session ISMs for Workspace Multiversion concurrency control Our & Your Code Our & Your Code SearchBinaries Nodes
 Properties Nodes, Properties, Binaries, Search CQSE Jetty
  • 14. Adobe Experience Manager 2-step Upgrade Replace JAR
 file Startup runs
 in-place
 upgrade run
 crx2oak Choice: - TAR files - MongoDB Stop Start Stop Start
  • 17. Adobe Experience Manager New & extended APIs • Sling Models • Sling Health-check • Sling Resource Merge • Translation API • Vault RPC • ContextHub • ContentInsight • eCommerce • Social Components • DAM Collection & Sets Dependencies for Maven/Gradle: http://repo.adobe.com/nexus/content/repositories/releases/com/adobe/aem/aem-api/6.0.0.1/
  • 18. TL:DR 1 2 3 Code save components quicker with Sightly New JCR repository that can handle more content faster Lots of new features/APIs and a fresh Touch- optimized UI
  • 19. What I always wanted to know?