Posts in Category "AEM"

Personalized Customer Experience

The Adobe@Adobe team have been working on early builds of AEM Screens to deliver a personalized customer experience in San Jose’s new Customer Experience Center. The center opened in mid-September with a variety of next generation digital experiences. Working with the Brand, CEC and AEM Screens teams we built an internet of things (IoT) enabled experience.

“A@A brings personalized information screens on a new level; a perfect, 1st reference for AEM Screens.”

– Martin Buergi, Product Manager

Continue reading…

Build Single-Page Applications Using AngularJS on AEM

Larger presentation can be found here

Code repo is here

More detailed video sessions will be posted here the second week of July

CQ Tips and Tricks #4 – Switching SiteCatalyst Reporting Suite at runtime based on host

Recently I was configuring a new CQ install and we needed to switch SiteCatalyst reporting suites based on the host the application was running on.

The way we ended up doing this was by adding some custom javascript in the General SiteCatalyst Settings section of the framework.

//check for communities.dev|qa|stage.adobe.com or prod
s.dynamicAccountSelection=true;
s.dynamicAccountList="adbecush=communities.adobe.com;adbecush=communities.adobe.com;adbecush=cush-author.corp.adobe.com";

Here is a screen shot for reference.
sitecatlyst_settings

CQ Tips and Tricks #3 – Getting a service from JSP

This is just a quick little example of my two favorite ways to grab a service in a JSP page.

adaptTo is super handy

<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0"%>
<sling:defineObjects />

<%@ page session="false" import="com.day.cq.security.UserManager"%>

<%
    UserManager userManager = resource.adaptTo(UserManager.class);
%>

see this page for more details on Adaptors make sure what your trying to adaptTo is mapped correctly. For example in this case I went from Resource to UserManager not all classes support AdaptTo.

Another simple way it to get a service is using the slingScriptHelper

<%@taglib prefix="sling" uri="http://sling.apache.org/taglibs/sling/1.0"%>
<sling:defineObjects />
<%@ page session="false" import="com.day.cq.contentsync.handler.util.RequestResponseFactory"%>

<%
    RequestResponseFactory requestResponseFactory = sling.getService(RequestResponseFactory.class);
%>

CQ Tips and Tricks #2 – Handy Urls

This is by no means an exhaustive list of all the handy URL’s found in the CQ 5.5 – 5.6 platform.  This is my short list of clipboard handy URLS.

URLS

/crx/explorer/index.jsp  – CRX explorer

/crx/de/index.jsp – CRXDE Lite url

/libs/cq/search/content/querydebug.html – Query debug tool

/libs/granite/security/content/admin.html – New user manager standalone ui  [5.6 only?]

/libs/cq/contentsync/content/console.html – Content sync console

/system/console/bundles – Felix web admin console

/system/console/jmx/com.adobe.granite.workflow%3Atype%3DMaintenance – Felix web admin console JMX / Workflow maintenance tasks

/system/console/jmx/com.adobe.granite%3Atype%3DRepository – Felix web admin console JMX / Repository maintenance tasks

/system/console/depfinder – This new 5.6 tool will help you figure out what package exports a class and also prints a Maven Dependency for the class.

/libs/granite/ui/content/dumplibs.rebuild.html?rebuild=true – Helpful link for debugging caching problems. Wipes the clientlibs and designs and forces it to rebuild it. Thanks to Mark Ellis for this link.

/system/console/adapters – This link shows you the Adapters are registered in the system. This helps you figure out what you can adaptTo() from resource to resource.

/libs/cq/compat/components/ntupgrade.html – This link allows you to update Node Types in the system. Thanks Tamer.

https://www.adobeaemcloud.com/content/packageshare.html – Link to the external interface for the CQ Package Share.

http://localhost:4502/crx/explorer/diagnostic/prof.jsp – Shows you the built in profiler

http://localhost:4502/system/console/profiler – Shows you the built in profiler

Params

wcmmode=DISABLED – This handy publisher parameter turns off CQ authoring features so you can preview a page cleanly
debugClientLibs=true – This will help to debug clientLibs includes

If you have more handy URL’s and or parameters that you think others should know about please comment on this blog entry and I will add them to the list.

How to delete a Folder/Node in CQ repository from a JSP component

Problem:

In one of my projects I needed to show some content nodes in Tree structure in my JSP and then need to delete few of them with inline editing without leaving the page i.e. asynchronously. So I started looking for possible solutions.

Solution:

This blog is about all those findings.

There are two most common ways to manipulate a Node in CQ repository and so for deletion of a node.
Continue reading…