Adobe Experience Manager (AEM) 6.3 ships out with new Closed User Group (CUG) implementation. The new implementation is based on Apache Jackrabbit OAK module named oak-authorization-cug. The new implementation provides authorization to view content for specific principals with read access to the target node and its subtree, without interfering with other access control lists’ (ACL) […]
Experience Management
Static or Editable Template? An In-Depth Comparison and Guide
In CMS world, Template, or Page Template is the base of the page user creates, it defines high level structure, basic functionality and sets the tone of look and feel. In Adobe AEM, the template concept is widely used across different products. There are templates for pages, forms, content fragments, experience fragments and assets. I […]
How to Use The Google Closure Compiler with AEM 6.2+
The Google Closure Compiler was added to AEM in version 6.2 as a new script compiler bundle. This means that AEM can now use the Closure Compiler to code-check and minify JavaScript instead of using the YUI Compressor, which is buggy and was last released on 07/03/2013 (at the time of this post). To check […]
Four Tips for AEM Beginners: Overcoming Common Issues
This blog primarily targets Adobe Experience Manager (AEM) beginners in an attempt to solve/ familiarize them with typical problems encountered when they start using AEM, and how to resolve those problems. Don’t feel like you are alone in this… I have run into many of the problems myself and gotten stuck. Not knowing how to […]
How To Switch From WCMUsePojo to Sling Models in AEM Part Three – Custom Injectors
When you are writing Sling Models code, you are constantly invoking injectors for the objects you use in your Sling Models class. There are eight standard injectors Sling provides out of the box currently (based on version 1.3.9.r1784960 of org.apache.sling.models.impl installed in AEM 6.3). But sometimes you may find the eight injectors don’t meet a […]
How To Switch From WCMUsePojo To Sling Models in AEM Part Two – JUnit Test
As you may know, unit testing and test-driven development (TDD) are important for making sure your code complies with the design, is scalable among your team, and provides automated regression. Often times, the JUnit test and component back-end Java code come hand in hand. An AEM developer who writes the component logic is also responsible […]
AEM with Front-end Technologies Like Grunt
This post will demonstrate how to use Grunt and Grunt plugins with AEM archetype projects. The purpose of front-end technologies integrated with AEM projects is to automate various tasks like Sass lint, compile Sass into CSS, minify CSS, merge JS files, JS error checking, and minify JS. With the use of front-end technologies like Node, […]
Digital Asset Management: No Longer a ‘Nice to Have’
Why Digital Asset Management As companies undergo digital transformation, and look to become an ‘experience business’ that delivers second to none experiences to their customers and drives brand loyalty, there’s more pressure on marketing teams to create compelling, interactive and visually appealing content. With content in such high demand, marketing leaders seek to streamline the use of […]
How To Switch From WCMUsePojo To Sling Models in AEM Part One – Component
Looking back at Adobe Experience Manager’s (AEM) component development path (especially if you started from 6.0 or earlier), you likely have used a variety of ways to provide back-end logic to components. Beginning with JSP (or even scriptlets), to abstract component Java class with page context or binding objects, to Adobe’s WCMUse or your custom implementation of […]
5 Design Tips for Modern Digital Marketing
When implementing a new digital marketing platform, many organizations struggle with how to design their vision so it can be easily and sustainably implemented using modern digital marketing technologies. Here are five key tips that I believe will help organizations looking to implement their digital marketing vision, ensure that their creative and design process yields […]
Apache Sling’s Hidden Gem: Request Processing Analyzer
Recently I was investigating a response timeout issue in an Adobe Experience Manager (AEM) implementation. The AEM application serves content both to the browser and portal application. The portal system makes a request to AEM, and AEM processes that request and returns the request in JSON format. As per the architecture, the response from AEM should reach the portal within five seconds. […]
Long Running Jobs Hate Him! One Simple Trick for Quicker AEM Content Jobs
That Job Many projects have that job. You know the one. It’s every Sys Admin’s nightmare, but it performs some critical task for the website. It also takes several hours to run and has the occasional tendency to do bad things like… take down a server. What if I told you there’s a way to make that […]