Managing Millions of Mutations per second & Tons of Tools
📖 'No-Code' Core Components Course Update
If you want to learn about Rapid Prototyping in AEM with Core Components then you'll be excited for the upcoming releases this week. I've been hard at work on 'Starting with Content', 'Why was Rapid Prototyping difficult in AEM before Core Components?', and 'Getting Setup to Prototype with the AEM Maven Archetype'. Stay tuned for the latest, or check out the already published Introduction to Rapid Prototyping →
📅 Events this Week
There's a bunch of great events and webinars to attend this week with something for everyone: Digital Foundation Blueprint Best Practices, Magento Technical Workshop, Custom Apps with Project Firefly & more
Monday 16
- ⭐ Showcasing Best Practices with AEM Digital Foundation Blueprint – Meet the Winners of the Lean Code Contest - with Karthik Muralidharan | 8:00-9:00
Tuesday 17
- Adobe Analytics Business Practitioner ACE Preparation Event | 8:00-11:00
- SWAT Live Demo & Follow-Up - with Barnet Hellman | 3:30-4:30
- Adobe Experience Cloud for Financial Services - Hoon Yoo | 11:00-12:00
Wednesday 18
- Commerce Cloud Technical Sales Workshop (Day One) | 9:00-2:00
- Project Firefly – Explore Use Cases and Features to Build Custom Adobe Apps - with Manik Jindal & Sarah Xu | 8:00-9:00
- Adobe Corp. Enterprise Deal Registration Training | 10:30-11:30
- Webinar - Achieving Personalized Asset Navigation with DAM Views For Adobe Experience Manager Assets | 11:00-12:00
Thursday 19
- Experience Driven Commerce Technical Sales Workshop (Day Two) | 9:00-2:00
- Futureproofed Data Management with Audience Manager and Real-time CDP - with Matt Skinner | 8:00-9:00
🔧 Tools
Aspect-Oriented Programming with Adobe Experience Manager
Aspect-oriented programming (AOP) is a programming paradigm that aims to increase modularity by allowing the separation of cross-cutting concerns. This allows behaviors that are not central to the business logic (such as logging) to be added to a program without cluttering the core functionality.
Apache Sling Pipes: Real World Examples
Do you want to move your AEM tags from /etc/tags
to /content/cq:tags
? Do you want to update the cq:designPath
property across 1,000s of pages is AEM because the design was moved from /etc/design
to /apps/settings
? Have you heard about Sling Pipes but can’t find any real world examples on how to make it happen in AEM? Read on for three real world scenarios that will hopefully help you unlock the power Sling Pipes for most of your use cases.
AEM Stubs
Tool for providing sample data for AEM applications in a simple and flexible way. Stubbing server on AEM, no separate needed.
APMT - AEM Permission Matrix Tester
APMT (AEM Permission Matrix Tester) is a new library built on top of JUnit5 that powers permission test cases with little effort. Check out the article →
AEM Gradle Plugin
Swiss army knife for Adobe Experience Manager related automation. Environment setup & incremental AEM application build which takes seconds, not minutes.
Journey XD Plugin
When this was posted, the Journey Plugin for Adobe XD video demo was available, but it has since been removed. I've reached out to Adobe for another link
🔗 Links
How Adobe Does Millions of Records per Second Using Apache Spark Optimizations
Yeshwanth Vijayakumar, Vineet Sharma, Sandeep Nawathe
With Adobe Experience Platform Real-time Customer Profile, you can see a holistic view of each individual customer that combines data from multiple channels. However, that data processing can be intense and require optimization to make it cost effective and data rich. This post - adapted from this Spark Summit 2020 Talk - describes optimization techniques done to scale throughput using Apache Spark.
Developing the Journey Plugin for Adobe XD
Creating mockups of customer journeys can provided a powerful communication tool to share and sell ideas. Customer Journeys made with Adobe XD have never been easier with the new Journey Plugin. Check out this interesting article on how the Journey Plugin for Adobe XD was created by using the XD APIs and React JS.
Blueprint for Audience Activation in Adobe Experience Platform
Jaemi Bremner, Kevin Cobourn, Nick Hecht, Kyle Morehouse, Jody Arthur
How many times have you bought something online, only to continue seeing ads for that product after you've made your purchase? By using Audience Activation in the Experience Platform, you can deliver the right content to the right customer. Instead of trying to sell them something they purchased, the Audience Activation Blueprint can adjust targeting for complementary products to better meet your customer's needs.
Extend and Customize AEM Component Action Toolbar
Extending and Customizing the Component Action Toolbar is a frequent requirement in custom AEM implementations. This post provides a step-by-step guide for how to do so cleanly and efficiently.
What Is CI/CD² (CI/CD Square)? Continuous Integration and Continuous Delivery & Destruction
Without proper monitoring and care, Continuous Integration and Deployment can be costly. When we create CI/CD, we need to pay attention to the cost factor and help with clean up/destruction. Shikha calls it Continuation Integration and Deployment and Continuous Destruction. This article discusses the benefits of this approach and why you should add it to your development cycle today.
Make integrations simple
Damian Mierzwiński | Cognifide
Integrations are the most costly and complex part of doing custom AEM development. Is there a silver bullet that can address issues like flaky tests, unstable environments and non-trivial bugs that slow down the development? This article explains how you can save time and money with a variety of tactics for automated integration testing.
Audience Segmentation with Predictive Audiences
Audience segmentation is universal challenge for all marketers. But soon with Predictive Audiences for Marketo Engage you will be able to maximize registrations and attendance for events, minimize opt-outs, replicate success from one program to the next, and optimize in-flight with intelligent recommendations.
Five Best Practices for AEM Overlays
AEM offers two ways to customize out-of-the-box resources: Overlays & Overrides. Overlays allow you to re-define existing resources (i.e.: replace current behaviour), whereas Overrides which allow you to extend existing resources (i.e.: add new behaviour). Want to overlay like a boss? Learn best practices for Overlays including: surgical overlays, avoiding overlaying files, making a no-change first commit, setting your code apart, & separating customizations from projects.
Fast and easy AEM deployment in the cloud
Łukasz Ogrodowczyk & Bartłomiej Gątarski | Cognified
Deployment of AEM in the cloud does not have to be complex and time-consuming. This article describes a novel approach to AEM setup in the cloud using Gradle AEM plugin (GAP) supported by Terraform for the infrastructure and Ansible for configuration management.
⚡ Quick Links
- Case Insensitive Queries with the AEM Query Builder
- Follow up last week's article on Dynamic Imports with a tutorial on how to do so with Webpack
- Learn how to invoke an AEM workflow from a Servlet
💼 Jobs
Jobs Report Summary:
Iksula - AEM Developer - Grand Rapids
Infosys - Senior Adobe Analytics Developer(Remote)
ClearBridge Technology Group - Remote AEM Developer or Architect
Intone Networks - AEM Frontend Developer
FinTech LLC - AEM Front end Developer
Hero Digital - Senior Front-End Developer
See full descriptions of the available positions →
📢 Credits, Contributors & Speakers
The AEM News Letter would not be possible without all of the amazing contributors. A special shout out to those included this week:
Albin Issac, Yeshwanth Vijayakumar, Vineet Sharma, Sandeep Nawathe, Ashish Kumar Gupta, Jaemi Bremner, Kevin Cobourn, Nick Hecht, Kyle Morehouse, Jody Arthur, Dan Klco, Uday Patel, Shikha Chawla, Tushar Mane, Nikhil Kumar, Damian Mierzwiński, Karthik Muralidharan, Hoon Yoo, Manik Jindal, Sarah Xu, Matt Skinner, Kaushal Mall, Theo Pendle, Alexandra Quick, Marcin Jędraszczyk, Łukasz Ogrodowczyk, Bartłomiej Gątarski