Optimize Workflow Triggers: Ignoring Selected Events in AEM


In Adobe Experience Manager (AEM), you can prevent a Workflow Launcher from triggering when changes are made by specific users or automated processes. This is especially useful when you want to avoid triggering workflows during metadata modifications via specific services. How Workflow Launchers Use JCR Observation Events Workflow launchers in AEM rely on JCR Observation … Continue reading Optimize Workflow Triggers: Ignoring Selected Events in AEM

Creating Asset Live Copies Programmatically in AEM


In Adobe Experience Manager (AEM), Live Copy functionality—backed by the Multi-Site Manager (MSM)—allows for synchronized content replication across regional or site-specific structures, while retaining the flexibility for localized changes. For web pages, AEM provides public APIs that enable developers to programmatically create Live Copies using standard interfaces. However, no such public API exists for creating … Continue reading Creating Asset Live Copies Programmatically in AEM

SlingInternalRequest: A Cleaner Way to Reuse OOTB AEM Servlets with Internal API Access


When building features in Adobe Experience Manager (AEM), there are times you need to leverage servlet logic that already exists—especially when it interacts with internal AEM APIs not available through public interfaces. For example, I recently needed to programmatically create Live Copies for assets. AEM doesn’t expose public Java APIs for this directly, but the … Continue reading SlingInternalRequest: A Cleaner Way to Reuse OOTB AEM Servlets with Internal API Access

How to Fix Session Errors in AEM


If you've been working with Adobe Experience Manager (AEM), chances are you've run into one of these pesky exceptions: javax.jcr.InvalidItemStateException: Unable to update a stale item org.apache.jackrabbit.core.state.StaleItemStateException: [UUID] has been modified externally OakState0001: Unresolved conflicts in... These errors usually occur during a save operation (resourceResolver.commit() or session.save()) when AEM detects that something has changed in … Continue reading How to Fix Session Errors in AEM