Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
Hi guys, has anyone come across this error message during AEP data ingestion? "com.adobe.platform.data.siphon.data.tracker.action.StallPromotionException" with ArrayIndexOutOfBoundsException I have a dataset which is solely containing the consent and preferences field group. In that dataset I now wanted to ingest dummy data. Now, I have a json file with 5 records which causes the import to stall, but not fail. It will just never leave the in progress state. The curious thins is that I can ingest all records separately without problems. Any idea what could be going on here?
How to Send Emails Only on Weekdays in Adobe Journey Optimizer Sending marketing emails at the right time is crucial for engagement and deliverability. Many organizations want to ensure that emails are sent only on weekdays (Monday to Friday), even if profiles enter a journey on weekends. In this post, we'll show you how to achieve this in Adobe Journey Optimizer (AJO) using Wait activities and custom formulas, based on a community-accepted solution. The Challenge You want profiles to enter your AJO journey every day, but emails should only be sent Monday through Friday. If a profile enters on Saturday or Sunday, the email should be queued and sent on Monday at a specific time (e.g., 9 AM). The Solution: Using Wait Activities and Custom Formulas The recommended approach is to use a Condition to check the day of the week, and then use Wait activities with a custom formula to delay sending for weekend entries. Step-by-Step Guide Add a Condition ActivityRight after
Adobe has just introduced a powerful new capability for marketers: the Adobe Data Insights Agent. This innovation is designed to democratize access to journey performance trends, enabling every marketer, not just analysts, to make data-driven decisions with ease. What’s New? Data Insights Agent not only simplifies insight generation for marketers by enabling them to query data and generate visualizations from scratch using natural language, but it also enables them to make changes to previously built visualizations and to build analyses iteratively. With Data Insights Agent, organizations can: Empower marketers to self-serve data for informed decision-making — ensuring marketing efforts are tested, optimized, and accessible to all. Uncover intricate patterns and insights human analysts might overlook, maximizing customer experience and business profitability. Eliminate bottlenecks by reducing dependencies across teams and allowing data analysts to focus on deeper and more strateg
Hi Community, I am seeing an issue where AEM custom sling servlet is not accessible on one of the Dispatcher servers (IIS 10). On trying to access the servlet, I get this error: I have added filter to allow the servlet path in dispatcher.any file./0116 { /type "allow" /method "GET" /url "/bin/nameofthepath*" } The pages are loading fine, just the servlets are not working. Kindly let me know if I am missing out anything. Appreciate your support. Please note: The custom sling servlet is working fine on publish instance.
I currently have Adobe Analytics and Adobe Customer Journey Analytics implemented through a dual tagging approach. Analytics through the adobe analytics extension and CJA through the Web SDK. Data collection has been running for a few days, and I'm surprised to see that there are nearly twice as many people in CJA as there are unique visitors in Analytics. There is only one dataset in the CJA connection, which is coming from the WebSDK. It has the the connection has the identity map default settings as the person ID. I didn't mess with this at all. I am also capturing ECID separately in schema using:if(typeof Visitor=="function"){var visitor = Visitor.getInstance('ADOBE ORG ID@AdobeOrg');return visitor.getMarketingCloudVisitorID();}else return '';to do so I have roughly twice the people in CJA as I do Unique Visitors in Adobe Analytics. and I am trying to troubleshoot whyAA: CJA: If i break down by Person ID in CJA - person I
Starting August 2025, Adobe will begin phasing out support for Marketo Engage Identity. To ensure uninterrupted access to your Marketo Engage applications, all customers must transition to Adobe Identity by September 30, 2025. What You Need to Know Automatic Migration: Adobe will start taking actions to automatically migrate all remaining eligible users if your organization has not completed the migration by September 30, 2025. Access Changes: Migrated users will no longer be able to sign in using their current Marketo Engage credentials. Instead, they will receive an invitation to join via Adobe Identity, which must be accepted to regain access. Users who are not eligible for migration will not be transitioned and will lose access to Marketo Engage. Manual Intervention: Ineligible users who cannot be automatically migrated will be skipped. These users can be manually re-added to Marketo Engage through the Adobe Admin Console afte
When building a custom dashboard in AEP RTCDP, is it possible to populate the following fields? I went through the CDPInsights data model but couldn't find anything relevant to thisWho activated the audience to a destinationLast modifiedWho modified
Hi! I need to take over the administration of an AEM instance and I'm trying to understand how the permissions and groups have been configured.There are a lot of groups on AEM and I would like to know which group belongs to. It's easy to find the members of a group, but how can I find the upper level (the "parent" of a group)? Thanks!
Hi All, I want to override the Asset Share Commons SearchConfig https://github.com/adobe/asset-share-commons/blob/develop/core/src/main/java/com/adobe/aem/commons/assetshare/components/search/SearchConfig.java. It already has an implementation class in AssetShareCommons (https://github.com/adobe/asset-share-commons/blob/develop/core/src/main/java/com/adobe/aem/commons/assetshare/components/search/impl/SearchConfigImpl.java) and is being referred in other sling models using @Self@Required private SearchConfig searchConfig; I have a custom requirement to override one of the methods of the SearchConfig and make sure this gets used. I have already implemented the delegate pattern but that is not working out.Can anyone help me on this ? What would be the right approach of doing overriding the Sling Model ?
Hello Community, I have two AEM sites (AEM as cloud service Author + Edge Delivery Service with Franklin/EDS template) set up almost identically, but I’m seeing two puzzling differences: 1. hostRoot / codeBasePath detection: function setup() { window.hlx = window.hlx || {}; window.hlx.RUM_MASK_URL = 'full'; window.hlx.RUM_MANUAL_ENHANCE = true; window.hlx.codeBasePath = ''; window.hlx.lighthouse = new URLSearchParams(window.location.search).get('lighthouse') === 'on'; const scriptEl = document.querySelector('script[src$="/scripts/scripts.js"]'); if (scriptEl) { try { console.log('👉 hlx.codeBasePath scriptEl.src:', scriptEl); const scriptURL = new URL(scriptEl.src, window.location); if (scriptURL.host === window.location.host) { [window.hlx.codeBasePath] = scriptURL.pathname.split('/scripts/scripts.js'); } else { [window.hlx.codeBasePath] = scriptURL.href.split('/scripts/scripts.js'); } } catch (error)
Hi TeamI am working with scheduled jobs in AEM and have encountered a scenario where a job is initially configured with a 10-minute cron expression. Later, the requirement changes, and the cron expression needs to be updated to trigger the job every hour. The cron expression is sourced from the OSGi configuration.However, when the cron expression is updated, the existing job under /var/eventing/scheduled-jobs is not modified. Instead, a new job node is created with the updated cron expression, resulting in both the old (10-minute) and new (1-hour) jobs running simultaneously. This is not the intended behavior.I attempted to delete the old job programmatically, but it appears that the APIs do not provide a straightforward way to remove or update these job nodes directly.Although it is possible to manually delete the old job or modify the job directly in CRXDE, this approach is not a sustainable solution and is not considered a best practice.I would appreciate guidance on how to aut
Hello community!We are in the process of implementing Workfront and migrating from Percolate. As part of our migration effort, we had been using Percolate IDs as a lookup element to match metadata from Percolate with content like web pages, emails, and other marketing materials in a PowerBI report. Workfront has their own ID system that will support us in maintaining that similar set of reporting which is great.Enhancement and clarifications we are trying to work through from our legacy process include:Can Workfront IDs be sent as custom metadata into an AEM Sites page?Should we consider a web page as a "Project" or "Document" in Workfront? Document is appealing as webpages are updated from time to time and having a durable ID is critical for analysis. Project feels more like a what would be used to create or update a webpage.Thank you for a point of view on what other teams might be using or if this investigation is helpful for you.
Hii Team I am trying to setup "universal editor" on AEM as a cloud . Here the page is redirecting to Universal editor but there is not content to edit ,attached the file. I have taken the reference from the below article.Getting Started with Edge Delivery Services for AEM Forms in Universal Editor - Developer Tutorial | Adobe Experience Manager And : Universal Editor Overview for AEM Developers | Adobe Experience Manager Thank you,Pratyusha Talari.
Hi, I need to update tag name without changing it's title. There are only four tags which need to be changed but It has over 140 references.I need a tool in aem which updates tag names and and it's refernces without doing any deployment. I got to know that renovator won't work for tags. Is there any way to update tag names and its refernces and activating those affected resources. Thank you.Ali syed
So my questions like I have created two filed in authoring dialog,A - for countryB - for statehere in Country dropdown A is populating from json file through servlet and state dropdown B is populating based on the country selected in the dialog, through ajax it's fetch, have written servlet for that(state has another json file). But while selecting the state like "xyz" and authoring the dialog,it's fine.when I open the dialog again the state value is not showing in the dialog but i can able to see it's storing in the page path. Could any one suggest to proceed further to retain state dropdown value.
Hello, I'm facing an issue where images have red tint on the renditions, while the original image is totally fine. We're using AEM 6.5 with SP 6.5.21.0 and renditions are generated using MediaHandler from package https://wcm.io/media-handler.What I've manage to figure out is that when the images size is bigger, for example over 2-3 MBs, the renditions have red tint, but after compressing the image, then it's fine.The main issue here is that this is happening only on one environment, while the others are totally fine, even with the bigger images. Any ideas what could be the issue here? I've added a new logger for that package with DEBUG level, but no indicators, as well nothing in the error.log. Could there be some heap space issue, or is there any OSGi config doing some limitation on asset storage size / renditions? Currently our storage contains about ~40GB of assets. Thanks in advance. Example of an invalid picture:
Hi, I created a sample letter in correspondence management (aem 6.5.22), always post process field is coming empty, I tried to create a new workflow model under tools, added a custom workflow code as well but the not getting displayed the post process. I updated the "Adobe LiveCycle Client SDK Configuration" for username and password.Please let me know if any of you have any idea to resolve this issue. Thanks in advance.
Hi, Good Day!I have a question, in our AEM as a Managed Service instance we have 2 Create Asset Servlet. which are interfering with each other. Basically if both of the servlets are in running condition, we are not able to upload any asset. AEM default Asset upload servlet ----> com.day.cq.dam.core.impl.servlet.CreateAssetServletCustom built servlet -----> com.custombuilt.aem.servlets.CreateAssetServlet The mentioned custom built servlet for asset upload is interfering with the default servlet. We have to disable it whenever our author server is getting restarted. For some reason we cannot remove the mentioned servlet in a new AEM build, is there a way to permanently disable the custom built servlet without removing it.Thank You in advance.
Hi Team,Quick and urgent query:In my project, all POST APIs are working fine and returning a success response without passing a CSRF token.Is this the expected behavior in the publish instance, or should it return a 403 error if the CSRF token is missing? Which one is correct?I do not want any POST call to succeed without a valid CSRF token.How can I enforce this properly in the publish environment?PUBLISH ConfigCan you please provide me a fix asap?Thank you
Hi all, I want to allow logged-in users to save pages to their user account, so they can access them from their user profile page. This would function similarly to the "Reading List" on nytimes.com or "Saved Stories" on washingtonpost.com. Are there existing AEM add-ons or plugins that facilitate this, or are there other recommended solutions? Thanks!
Hi Team, I have followed the documentation and set up SDI (Sling Dynamic Include) for one of the components on a page in my environment. TTL-based caching is enabled, and the page — which includes the dynamic component — is being successfully cached at the dispatcher. I have set the TTL value to 15 minutes.When I accessed the page through the dispatcher, it was cached as expected. However, after 20 minutes, I logged into the dispatcher and navigated to the cached folder path — the cached page was still present. Is this the expected behavior? That is, will the cached page remain on the dispatcher and only be refreshed with new data when a new request comes in? Also, should the timestamp of the cached file change after TTL expiry? In my case, the timestamp does not update. Could this indicate an issue with my environment?I'm also unable to verify if the latest content is being served because the data is coming from a third-party API. Reference: Sling Dynamic Inc
Hi, Event handlers are failing to activate properly in higher environments. They work immediately after deployment, but after a day or two, they stop functioning again. I need to restart them manually to get them working.I investigated the issue and found that starting the event handler before its referenced service is fully initialized could be a potential cause. To address this, I added @3214626(policyOption = ReferencePolicyOption.GREEDY), but it didn’t resolve the issue.Any help or suggestions would be greatly appreciated. import org.osgi.service.component.ComponentContext;import org.osgi.service.component.annotations.Activate;import org.osgi.service.component.annotations.Component;import org.osgi.service.component.annotations.Deactivate;import org.osgi.service.component.annotations.Reference;import org.osgi.service.component.annotations.ReferencePolicyOption;import org.osgi.service.event.Event;import org.osgi.service.event.EventHandler;import org.slf4j.Logger;import org.
Step-by-Step Guide to Implementing a ChatGPT RTE Plugin in AEM1. Understand the Plugin's PurposeThe custom RTE plugin enhances the AEM authoring experience by integrating ChatGPT. It allows authors to select text within the RTE and use ChatGPT to generate content completions, facilitating quicker and more efficient content creation.2. Set Up OpenAI API AccessObtain an API Key: Sign up on the OpenAI platform and acquire an API key.Test API Endpoints: Use tools like Postman to test the following OpenAI endpoints:Completions Endpoint: Suitable for traditional text models like text-davinci-003.Chat Completions Endpoint: Designed for conversational models like gpt-3.5-turbo and gpt-4.3. Create a Client Library for the PluginDefine the Client Library: In AEM, create a client library folder (e.g., /apps/your-project/clientlibs/rte-chatgpt) with the following cq:ClientLibraryFolder properties:categories: Include categories like rte.coralui3 to ensure the plugin loads in the RTE.dependenc
HiWe have the following step in our DAM update asset workflow.I cannot find any support for DMImageProcess and understand what are the individual metaData. What I know is that it creates a rendition cq5dam.web.1280.1280.jpeg. Can you please explain. Thanks.<dmimageprocess jcr:created="{Date}2015-09-28T17:50:46.962-07:00" jcr:createdBy="admin" jcr:description="Processes assets for use with Dynamic Media Image Services" jcr:lastModified="{Date}2015-09-28T17:50:46.962-07:00" jcr:lastModifiedBy="admin" jcr:primaryType="nt:unstructured" jcr:title="Dynamic Media Process Image Assets" sling:resourceType="dam/components/s7imaging/dmimageprocess"> <metaData jcr:primaryType="nt:unstructured" CONFIGS="[140:100:false,48:48:false,319:319:false]" HEIGHT="1280" MIME_TYPE="image/jpeg" PROCESS="com.adobe.cq.dam.dm.process.workflow.DMImageProcess" PROCESS_AUTO_ADVANCE="true" QUALITY="90" WIDTH="128
There may be no code smell ranker than this: That screenshot was sent by a 3rd-party form vendor who was getting frequent errors from their Marketo API calls and couldn’t figure out what was wrong. “Does this look right?” they asked. “Nope,” I said immediately — even before they showed me any error messages. See, even taking Marketo out of the picture, this is wrong for any API. If you see something like this, it’s frankly not suitable for work. No way is that value correctly JSON-encoded It’s clear they’re not encoding since there are double quotes outside the template variable. A JSON-encoded string always includes the double quotes. (Simple JavaScript example: JSON.stringify("Hello") is "Hello" with the quotes, not Hello. You cannot add another pair of " around it.) Let’s review how their “bizarro JSON” logic works. They’re using Jinja templates, but any template language works the same way. Since there’s no filter specified, the property
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.