Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
I am working on an issue that needed me to install SDK version 2024.10.18311 locally and ensure I get a successful build with no issues. I’ve done it and the build was successful. I also got the necessary org.apache.jackrabbit.oak.commons;version="2.2.0", but upon testing my local content, no components and contents are displayed despite successfully installing it via Package Manager. Pages and assets are present, but no components. Please help. Any documentation or solutions will be appreciated.
AEM Dispatcher Caching Flush Strategies by Mahedi Sabuj Overview When implement dispatcher caching, keeping content up-to-date and fast can be a challenge, but with the right Dispatcher caching and flush strategies, you can make sure your users always see the latest updates without sacrificing performance.Learn how to publish the latest content to the Dispatcher, invalidate outdated content, and how the Dispatcher returns the content to users. Read more: https://ms-29.com/aem/dispatcher/aem-dispatcher-caching-flush-strategies Q&A Please use this thread to ask questions relating to this article
After purchasing Adobe’s Digital Asset Management solution, metadata is the most critical aspect while starting your asset management journey. Managing metadata gets completely out of the control of the administrators once the assets are distributed to the users. Effective asset metadata ensures better search, which is the ultimate destination for any DAM tool.Here are the recommended steps that you must execute before starting to migrate your assets to AEM: Step 1: How would you filter the assets that exist in the repository? Answer this question and create the list of fields that you need.Think about your users on how they will search assets that exist in the repository and then work backward to create such properties for your assets. Step 2: Revisit all existing properties and eliminate redundant onesLook for properties that seem irrelevant or duplicates of the existing properties and remove them from the list of required properties for Adobe’s DAM. Step 3: Segregate the properties
Hi,I’m trying to optimize oak indexes in a Clou. We have a few custom queries that are running very slow, and after checking explain plans, it looks like they’re falling back to traversal. I know AEMaaCS doesn’t allow direct CRXDE changes, so indexes need to be managed via code deployments. What’s the best way to properly define and deploy a custom oak:index in Cloud Service, and how can I safely test changes before pushing them through Cloud Manager? Also, are there tools or recommended steps to validate whether the new index is actually being used by queries? Thanks!
Master Your AEM Interview Preparation : A Comprehensive Guide by Ritesh Mittal Overview Are you gearing up for an Adobe Experience Manager (AEM) interview and want to ensure you're thoroughly prepared? Whether you're aiming for a Developer, Technical Lead, or Architect role, our latest YouTube video is here to be your ultimate guide. With over 100+ questions and detailed solutions, this video is designed to cover every aspect of AEM, both on-premise and in its cloud offerings. Here’s a deep dive into what you can expect from this comprehensive tutorial. Why This Video is a Game-Changer for Your AEM Interview Prep Extensive Question Bank: The video features a curated selection of over 100 questions that are critical for AEM interviews. These questions span a wide range of topics and complexity levels, ensuring that you’re well-prepared for anything that might come your way. Each question is not just answered but explained in detail, offering insights into best practice
Hi All, I have a scheduler, which scans assets and looks for expiring and send email notifications.Here problem is instead of 1 email i am receiving 4 email for same content. I had deployed code with with different cron expression in config file, seems all of them storing as a different PID. How do we make sure only one PID runs. here is my schedule job Class is made Runnable with immediate truehave OCD properties and below schedule options @Activateprotected void activate(Config cfg) { this.config = cfg; removeJob(); scheduleJob(cfg);}@Modifiedprotected void modified(Config cfg) { removeJob(); this.config = cfg; scheduleJob(cfg);}@Deactivateprotected void deactivate() { removeJob();}private void scheduleJob(Config cfg) { if (!cfg.enabled()) { LOG.info("AssetExpiryScheduler disabled by config."); return; } this.jobId = cfg.schedulerName(); ScheduleOptions opts = scheduler.EXPR(cfg.scheduler_expression()); opts.name(j
I’m running into an issue with the multifield container in AEM Universal Editor. When I try to reorder items, instead of simply moving them, a duplicate entry is created. To reproduce:I have three tabs defined (tab1, tab2, tab3).When I drag tab3 to the second position, the result is: tab1, tab3, tab2, tab3.So the tab I moved is duplicated: the original one moves to the target position, and a second one is created at the end. This is my container model configuration: const model: ComponentModel = { id: componentId, fields: [ { component: "select", name: "tabVariant", label: "Tab variant", valueType: "string", options: [ ... ], }, { component: "container", name: "tabSettings", label: "Tab Settings", valueType: "string", collapsible: false, multi: true, fields: [ { component: "text", name: "tabLabel"
Hi all, I have noticed in one of our applications that an eVar does not always show up in our hits during one of our events even though that eVar was persisting properly beforehand, however if I break that event down by that eVar in Adobe I do still see the proper data for it. Does the eVar continue to persist if nothing is written in to replace it even if the space for it is blank in the debugger? For reference, this eVar's expiration is set to Visit otherwise. Thanks!
We are migrating a customer project to the Cloud and for customer's needs we are using the LDAPIdentityProvider in publish to synchronize certain data from users.We are currently facing an intermittent exception during TLS Handshake. This error sometimes happens and stays for a while, then suddenly disappears and the calls work without issues.This issue only happens in AEMaaCS, when accessing from local or on-premise systems it works fine.Exception during authentication: Error while connecting to the ldap server. Stacktrace: org.apache.jackrabbit.oak.spi.security.authentication.external.ExternalIdentityException: Error while connecting to the ldap server. at org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider.error(LdapIdentityProvider.java:879) at org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider.connect(LdapIdentityProvider.java:832) at org.apache.jackrabbit.oak.security.authentication.ldap.impl.LdapIdentityProvider.getUs
I am currently transitioning button rules from an adaptive form to client libs. In my rules I have the following. var operationInfo = { "formDataModelId": "/content/test/formsanddocuments-fdm/myproject/samplepostgres", "operationTitle": "Fetch From Attachment Form", "operationName": "fetch" }; var inputs = { "id": id.value }; var outputs = { "id": id, "name": name, "description": description }; guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs, null, null,); This works as expected. It fetches the data using
Is it expected behavior that if we insert an image from outside the UUID Guides repository (from the AEM/Marketing side of the repository) and apply a condition to that image, that the PDF generation fails? If we do not apply the condition, PDF generation (Native PDF Publishing) works fine. The PDF generation only fails if we apply a condition to the image. (We're trying to consolidate duplicate images between AEM and AEM Guides.) Thanks. AEM 6.5.21 (on-prem installation (21 Dec 2024)AEM Guides v4.6 (UUID, on-prem installation (21 Dec 2024)
Hi all,I’m trying to convert a PDF stored in AEM DAM to a JSON tree structure (pages → paragraphs → lines) using Apache Tika’s PDFParser. Below is the servlet code I’m using: However, when I try to parse certain PDFs, I’m getting the following exception:org.apache.pdfbox.pdmodel.encryption.InvalidPasswordExceptionIt seems like the PDF might be password-protected, but I don’t have the password and some PDFs are not encrypted.package com.core.servlets; import com.day.cq.dam.api.Asset; import com.day.cq.dam.api.Rendition; import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.SlingHttpServletResponse; import org.apache.sling.api.servlets.HttpConstants; import org.apache.sling.api.servlets.SlingAllMethodsServlet; import org.json.JSONArray; import org.json.JSONObject; import org.osgi.service.component.annotations.Component; import org.apache.tika.parser.pdf.PDFParser; import org.apache.tika.parser.ParseContext; import org.apache.tika.metadata.Metadata;
Hi All, I need to check readiness of my AEM applications/code to upgrade to AEM 6.5 LTS by running AEM 6.5 LTS Analyzer.I have gone through this page https://experienceleague.adobe.com/en/docs/experience-manager-65-lts/content/implementing/deploying/upgrading/aem-analyzer and understand that analyzer tool would generate a report which prepares issues from different categoriesApplication functionality that must be refactoredRepository items that must be moved to a supported locationConfiguration issuesAEM 6.5 features that have been removed by new functionality or that are currently not supported on AEM 6.5 LTSRemove Java and Guava API usagelater, there is another section talking about 'Content Transformer', what i understood from this is, it removes/delete typically JCR nodes by packaging under '/etc/packages/modernizer-content-transformation' as a backup, but the goal (checking readiness) is not fulfilled yet, I wonder what will be the next steps?Need to go through
Hi Everyone,I have a requirement to move our customized Adobe components into a proxy folder and update all content that currently references these components so they point to the new proxy versions.Example:Current component: buttonNew proxy component: buttonglThis means I need to update all pages to use the proxy component by modifying the sling:resourceType for every instance of the old button.Adobe Support recommended importing the content into code, applying the updates there, and then deploying through Cloud Manager (since we’re on AEM Cloud).I tried this approach in a demo project, but so far I don’t see my changes reflected in the AEM instance — currently testing on localhost. Steps I followed:Created a demo project, authored a new content page, and synced back to source code for making changes 2: Filter.xml 3: build using command: mvn clean install -PautoInstallSinglePackage4: Verify the changes are reflected in crxdeContent.xml<?xml version="1.0"
Facing below error while trying to upgrader to JDK21 with AEM SDK API 2025.8v, fallowed the steps updated the POM dependencies version to as per the guide, but while building the core with test case i am facing below error for Any help would be appreciated. java.lang.NoClassDefFoundError: Could not initialize class org.apache.poi.xssf.usermodel.XSSFWorkbookat com.aem.bd.core.workflows.BDTagsReferenceWorkflow.execute(BDTagsReferenceWorkflow.java:28)at com.aem.bd.core.workflows.BDTagsReferenceWorkflowTest.testBDTagsReferenceWorkflowTest(BDTagsReferenceWorkflowTest.java:87)at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103)at java.base/java.lang.reflect.Method.invoke(Method.java:580)Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.NoClassDefFoundError: Could not initialize class org.apache.logging.log4j.status.StatusLogger$InstanceHolder [in thread "main"]at org.apache.logging.log4j.status.StatusLogger.get
I'm working with AEM 6.5 and looking to optimize performance by configuring the minRecordLength property under org.apache.jackrabbit.oak.plugins.blob.datastore.FileDataStore.The documentation recommends setting this to 100 to ensure binaries (like DITA files) are saved in the Data Store instead of the Segment Store for better performance.However, I have a few questions:How can I verify where the binaries are currently being stored — Segment Store or Data Store — especially for different file types and sizes?If I don’t see the minRecordLength in the Felix Console (/system/console/configMgr), how do I confirm what value is being used by default?After setting minRecordLength=100, is there a reliable way (via logs or tools) to confirm that new uploads are being saved in Data Store?What metrics or logs should I track to evaluate performance improvements (e.g., segment size growth, compaction, GC)?I’ve uploaded files like small.txt and used scripts: def assetPath = "/content/dam/test-up
How to prevent the CSRF token call on non-SSO pages?
I want to use GraphQL Query to get list of pages where XYZ Component is enabled based on set of input parameters. I have read multiple pieces of documentation on GraphQL Queries, and I learned that GraphQL is built to work with Content Fragments. Can anyone suggest way to achieve this requirement?
Hi Team, Initially, the code worked as expected without using the embed property, while running on AMS AEM 6.5 (exact service pack version unknown). We are using the org.apache.sling.servlet-helpers dependency, which is correctly declared in the pom.xml. However, we suddenly encountered an issue with the target sync functionality. Upon debugging, we discovered that the servlet-helpers JAR was missing. The JAR is not visible in the AEM console or listed among the active bundles. To resolve this, we applied the embed property to include the JAR under the /apps folder. Unfortunately, this workaround has led to Sonar issues related to the dependency. We are currently using AEM version 6.5.21. The servlet-helpers JAR is available in AEM as a Cloud Service, but it appears to be missing in AEM 6.5. We're unsure whether it was replaced or bundled within another JAR. Is it acceptable to manually install the JAR via the AEM console under bundles, or is there a recommended way to restore it? Addi
Dear Community, I would like to ask for the best recommendations using AJO for my client requirement. So in AEP, I created two schema, Individual Profile Class, and ExperienceEvent Class. What I want to achieve is creating an Audience in AEP, then using AJO to send ExperienceEvents field to Kafka. The limitation here is that the client only has Prime License. I understand that to send data to Kafka from AJO is through using Custom Action with the appropriate Payload. Currently, I have created and Audience, which is then ready to be used, then creating a Unitary Event. I create a Unitary Event because this allows me to select ExperienceEvent fields to map with the Custom Action. In test mode (Only has Unitary Event and Custom Action in the Canvas) I was able to get the notification that the test data is successfully sent and was able to see the data in the notification (it was sent to my phone). However, after publishing it, I could not get the Journey to work, sometimes
September '25 release notes Check out what's new and improved in the latest Adobe Journey Optimizer product release update: Release Notes New capabilities Journey Optimizer Experimentation Accelerator: Journey Optimizer Experimentation Accelerator is an AI-first product designed to take your experimentation to the next level. Built for Adobe Journey Optimizer and Adobe Target users, it unifies experiment management, delivers AI-powered insights and opportunities, and introduces a new experimentation agent. Journey Agent is here!: Powered by Adobe Experience Platform Agent Orchestrator, Journey Agent is available in Journey Optimizer. It enables you to analyze journeys through a natural language interface. The agent will detect audience or schedule conflicts and profile drop-offs in a journey to help you take steps to resolve them. Soon, you will be able to create journeys with agentic support. Dark mode in the Email Designer:The Journey Optimizer Email Designer now
Hi, I was using the save draft feature in one of my adaptive form, but facing an issue while saving the supporting documents. I tried saving the form without supp docs, and it saved. But whenever I try saving by adding the supp docs, its throwing an error.It says "error occurred while draft saving".AEM version used: 6.5.21.0 So, please provide some insights regarding this.
Join us for the next Experience League LIVE session where our experts will showcase how Adobe Journey Optimizer (AJO) is expanding mobile engagement with powerful new channels: Experience League Live: Expand your mobile reach with RCS and WhatsApp in Journey Optimizer 📅 Date: Tuesday, September 30🕘 Time: 9:00 AM PT In this session, you’ll learn how to: Engage customers on WhatsApp, RCS, and with Custom SMS Providers Deliver rich experiences beyond plain text with interactive buttons, carousels, quick replies, and more Understand the key differences and advantages of RCS vs. WhatsApp Set up new channels with API credentials and webhooks Incorporate these channels seamlessly into your omnichannel engagement strategy 💡 Don’t miss this chance to see the latest in personalized mobile experiences and get your questions answered live by our experts! Presenters: Sandra Hausmann – Sr. Technical Marketing Engineer, Digital Experience Travis Jordan – Princip
When working with Adobe Target, understanding profile scripts is essential for tracking user behavior, storing preferences, and customizing experiences. However, many users get confused between profile and user when writing profile scripts.In this blog post, we’ll break down the differences between profile and user, their use cases, and how you can leverage both for effective personalization.What’s the Difference Between profile and user?Feature profile userScopeStores persistent user data (across sessions & visits).Retrieves real-time session-specific data.PersistenceData is stored permanently unless reset or expired.Data is only available during the session.UsageUsed for tracking user history, preferences, and behavior over time.Used for fetching live details like IP, referrer, and user-agent.Example Methodsprofile.set(), profile.get(), profile.increment(), profile.expireIn()user.header(), user.device(), user.ipAddress(), user.referrer()Common Use CasesCounting visits, storing us
Welcome to all the new members who joined this month! We’re excited to have you in the Adobe AEM Community🎉. Whether you’re brand new or have been here a while, this space is all about learning, sharing, and connecting with peers who get what you do every day. In a world where so much is automated and AI-driven, this space is different — it’s built on humans helping humans. Every question asked, every tip shared, every reply left here makes a real difference. If you’re new, this is your first touchpoint — and we’re truly glad you’re here. Think of this thread as a friendly café table where you can pull up a chair, say hi, and get to know others who “get” what you do. To get started, share: What company and role are you in Which feature you’re using most One area you want to get better at How long you been working with AEM How long you been using AEM And give us your answer to this month's Ice Breaker question for all to kick things off: 👉
Already have an account? Login
No account yet? Create an account
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.