Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
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!
How do I rebrand and configure the default WKND search page?
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: 👉
might be best explain with an example: I have a servlet that returns true or false if HTTP post is successful.I also have a javax filter that checks if a user still has a session. if no session, redirect the user to the login page.User has 2 browser tabs open and both of them are displaying a form (could be the same or different forms).in tab1, user logs out.in tab2, user decides to submit the form (which is calling an servlet).In my filter and when processing the request for tab2, I w ant to redirect the user to the login page since they already logged out in tab1.How can I do this? I have tried response.sendRedirect and request.getRequestDispatcher. Both of them does not redirect the user to another page. Thanks
You see a series of Unsubscribe Email activities, roughly 5 minutes apart, covering more or less all the emails someone received: Each one’s Details show they used the List-Unsubscribe header: Turns out that’s standard behavior of the newish Manage Subscriptions feature in consumer Gmail. When you go to Manage Subscriptions, Gmail shows you addresses that’ve sent enough marketing email to be trusted, which it then considers a “Subscription”: Clicking on a Subscription shows emails from that sender that are still in your mailbox: If you click Unsubscribe on the Subscriptions tab, Gmail visits all the List-Unsubscribe URLs in sequence, waiting 5 minutes between URLs to ensure it doesn’t exceed rate limits. This is mentioned, in a dumbed-down way, in the docs: Since every Marketo email has a unique List-Unsubscribe header — if it didn’t, we couldn’t track Unsubscribe Email at the asset level! — all emails are individually unsubscribed. This
I am trying to create a task report that ONLY pulls in the next milestone to be completed on a project. I have this report very close to where I need it but, it is currently pulling in every task with a milestone associated with it that's not complete - I only need the next milestone associate task that is incomplete. The milestone view does not work for the desired finished report, a milestone report doesn't work due to filtering constraints, and our milestones are not all associated with the same task names across our projects. Ultimately, what we're trying to achieve is a report that shows how many projects we have in each program that are currently in each milestone stage (ie, 3 projects currently in milestone 2, 6 projects currently in milestone 3, etc).
I'm a novice when it comes to Project Finances inside of Workfront and the native reporting options available inside of Workfront. I'm hoping someone can help explain what date is being used in Workfront to pull an allocation date on a Project (Financial Data) report in regards to expenses. The allocation date is the only date option available for filters, views and groupings but it doesn't explicitly call this out anywhere on what it means in regards to expenses. The documentation around this is rough and mainly speaks to budgeted hours - aka labor. This is from the glossary of terms - which doesn't seem to lay it out specifically but I'm feeling like it's the planned date of expenses since the budgeted hours would also be "planned" hours. Allocation Date You can find this field in the following types of reports: Project (Financial Data) Budgeted Hour Financial information populates in Project (Financial Data) reports only when the data associated wi
I'm attempting to create a value for one of our brands to align with the others, but currently that value isn't coded on this site. The image below is a processing rule with a single if else which seems to be all that you are allowed. Is there a way to make a second if else option, so that I can further clarify information about the app or web visits... or would I need to make multiple processing rules in order to create 3+ values in this evar? It seems to be the case, but wanted to make sure before I created a large amount of unnecessary rules. Thanks!
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.