One of the hardest things for me when starting with AEM was learning how to break problems down to figure out the root cause. There are so many moving parts in AEM, and most of them were either unfamiliar territory (Sling, Felix, the JCR), or are unique to AEM itself (things like Granite, Coral, the workflow engine, etc.) So, when I recently was forced to debug a problem which occurs in AEM out-of-the-box, I decided to write a detailed article laying some of the techniques I use to debug AEM when it isn’t doing what I think it should.
Adobe Experience Manager 6.5 General Availability was announced April 9th, 2 weeks after Summit, continuing its momentum from last year of an early release. Aside from the expected Adobe.com domain already being live on the latest version, they touted a couple of other companies already being on AEM 6.5, though they were not named for privacy purposes. It would seem that the product is much more stable than in years past, which is exciting for users of the product and Adobe themselves, as they are encouraging people to upgrade as soon as possible rather than - as both Joey and I have encouraged in the past - waiting for the first service pack to drop.
I came across a problem that I have commonly seen in Adobe Experience Manager. This issue sometimes arises when you upgrade an implementation from one version of AEM to another version of AEM. Sometimes this issue arises when you try to embed a component inside of another AEM component. It is a very irritating problem that has a simple solution if you remember the nature of the HTL block statement: data-sly-unwrap.
Joey and I had the opportunity to sit down with Tyler Briggs, Technology Partner Marketing Manager, and David Humphries, Senior Manager of Adobe Exchange, to talk about the Adobe Exchange. We started off asking, what the Adobe Exchange is, because both Joey and I had not ever dealt with it and we assumed most people hadn’t. The Adobe Exchange is an application marketplace with tools that enhance Adobe product users experience for all three of Adobe’s clouds (Document, Creative, and Experience).
A while back, a common AEM question came up on a slack channel I am part of: “When looking into editable templates, what is the purpose of using a template type? I’ve read it’s the ‘template of a template’, but still it is not quite clear to me. Does editing a template type impose the same effects as editing a template?” It is true that a template type is basically the ‘template’ of a template.
This year at Summit I didn’t have booth duty, which allowed me more freedom to browse the Community Pavilion and attend sessions and labs. One of the labs I was excited to attend was David Gonzalez’s (https://www.linkedin.com/in/davidjgonzalez/). David is a Technical Marketing Engineer at Adobe and co-project lead of ACS AEM Commons/Tools/Samples, and his lab was called “Accelerate Your Development with Experience Manager Core Components” (https://adobesummit.lanyonevents.com/2018/connect/sessionDetail.ww?SESSION_ID=6149). After his lab, David took some time to talk with me about what’s new with ACS AEM Commons.
The Adobe Experience Manager ACS Commons Generic List facilitates authorable Title / Value pairs that can be used to populate drop downs from a centrally authored location. The functionality of the Generic List is limited to the Title and Value pairs, but there could be other use cases for centrally managed metadata that can be easily chosen from a dropdown. This example will extend the Generic List to manage metadata for organizational units / departments.
If you are not subscribed to Adobe’s Security Bulletins, you might not have heard about the recent security update issued by Adobe for all supported versions of AEM (6.0 - 6.4). Quoting their press release: Adobe has released security updates for Adobe Experience Manager. These updates resolve two reflected cross-site scripting vulnerabilities rated Moderate, and three stored cross-site scripting vulnerabilities rated Important that could result in sensitive information disclosure.
I recently had a request from a client who wanted to use a third party service that didn’t provide an authentication key. Instead I need to use a simple username and password combo that the client didn’t want exposed in our code repository where we generally keep our configuration values. Having heard about encrypted configuration values, I set out to learn how to use them. I found a variety of resources out there, but none of them really walked me through from Point A to Point B.
In the rush of everyone talking about the newest features of AEM 6.4, something was overlooked. Those of us that were familiar with the Classic UI in Adobe Experience Manager, and how everything worked in it, were thrown for a bit of a loop when the Touch UI was first introduced in AEM 5.6. Not only was everything in a new spot or organized in a different way, but the method to get to those places also changed.