Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
Hi, I am working with AEM 6.5, and I am attempting to run the com.adobe.granite (Repository) consistency check with the root "/" and have set "fix inconsistencies" to "false". However, the response immediately displays: (null). I also tried running it from http://localhost:4502/system/console/repositorycheck, but I don't see any errors in the response, even though I can see the number of traversed nodes. How can I intentionally corrupt a node so that I can see some results via the com.adobe.granite (Repository) consistency check as a test? Additionally, could I use it as an MBean in Java to perform a weekly repository consistency check?
Hi guys ,While building code with Oracle jdk-21.0.5 , I am getting below error for test class :-This should not happen unless you are using a third-party mock maker [ERROR] <MockitoAnnotations.initMocks(this);> Mockito Failed to release mocks Dependencies used :- <dependency> <groupId>org.junit</groupId> <artifactId>junit-bom</artifactId> <version>5.11.4</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>org.junit.jupiter</groupId> <artifactId>junit-jupiter</artifactId> <scope>test</scope> </dependency> <dependency> <groupId>org.mockito</groupId> <artifactId>mockito-core</artifactId> <version&g
Hi,My requirement is to use Akamai as CDN for my AEMaaCS project.Followed this documentation from Adobe CDN in AEM as a Cloud Service | Adobe Experience Manager.Akamai we configured as per the sample vendor configurations.I created a edge key and deployed it through cdn.yaml file (attached screenshot) as a secret type environment variable. Same key we are passing as X-AEM-Edge-Key header from Akamai.1) When I try to run the curl command << curl https://publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com -v --header "X-Forwarded-Host: example.com" --header "X-AEM-Edge-Key: <PROVIDED_EDGE_KEY>" --header "x-aem-debug: edge=true" >>the response is 302, and the X-Forwarded-Host expected value in response header is the domain, but it is returning publisher url (in 'x-aem-debug' response header).2) When I try to run the curl command << curl https://publish-p<PROGRAM_ID>-e<ENV-ID>.adobeaemcloud.com/content/example-homepage.htm
This blog series is a converted learning path that is made up of 3 sections and does not necessarily need to be reviewed in sequential order. Please use the following links to navigate to other blogs in this series. We recommend completing Section 1 and then at least one of the subsequentsections - select whichever kick-start section most closely aligns with your business objective. Overview: KPI Dashboards in the New Workfront ExperienceSection 1: Introduction to KPIsSection 2: General KPI dashboard kick-startSection 3: Marketing KPI dashboard kick-start Working with the general KPI dashboard kick-start Project managers and resource managers need a quick way to assess overall demand and productivity over time. This is just what the general KPI dashboard kick-start will help them do. As the system administrator, you can import and share the KPI dashboard kick-start in Workfront. You may be responsible for customizing and monitoring the dashboard, or yo
I implemented Vue.JS to Edge Delivery Services. You can find detailed article and source code here: https://medium.com/@btaymaz/vue-js-templates-in-aem-edge-delivery-services-a816742c1b36
Good morning team.I'm trying to retrieve the value of jcr:score for a full text search, but I'm not able to see the value using the following queryis there a way to see this value in a query?Regards.
Since there is hardly any documentation available on how to accomplish this, I would like to share a classic tutorial on how to generate a customized activity in Adobe Campaign Classic. This tutorial is available in both English and French (I will provide the French version upon request), and I hope that the instructions included will provide enough details to help you develop personalized activities with your own context. The tutorial is available for download in the attached file.
A year into our use of Workfront and we're looking at how we've set up Groups. We started with our own departments at the top level, but have had to add partner companies at that same level too.We do that when we need to differentiate teams within those companies, or give them different layout templates etc. I've checked a few other Q & A's but didn't find anything addressing this specifically. Should we, as it's early days, create a top level 'Company Name' entry for our company in Groups.We'd then have to move all our existing groups under that root item. Other companies would continue to have their own 'root' groups at this top level too. Hope that makes sense. Any thoughts welcome about whether it's worth doing now before we get too far down the line, and likely grow the number of third parties we deal with. Thanks
Hi everyone,I wanted to start a discussion around a challenge we’re running into with Adobe Target and Demandbase integration — particularly the timing conflict on the first page load, and how it impacts personalization.Our current setup:Adobe Target is implemented via Adobe Launch, loading synchronously (no flicker snippet used).Demandbase is also implemented via Launch using the OOTB extension.Both Target and Demandbase are triggered on the "Page Top" rule.We are also GDPR-compliant, and use TrustArc’s OOTB extension within Launch to manage cookie consent. So any personalization or tracking solution must respect the user’s consent state.The challenge:Because Target executes immediately on load, its call typically fires before Demandbase returns any firmographic data, making it impossible to personalize on a visitor’s first page hit. This severely limits our ability to deliver relevant content based on company-level attributes (industry, size, etc.).We’ve explored a few directions:Ser
Hi, Wondering if anyone out there has experience with cleaning up custom fields in an inherited instance. With thousands of fields and not much background on why any of them were created to begin with, it can be a bit of a hill to climb. I've started with the obvious, like fields not associated with forms, fields missing descriptions, duplicative fields, fields starting with or containing special characters, names/labels that read like run-on sentences. What other "flags" have caught your attention? What methods have you used for sorting through and organizing the data? What challenges or problems did you face and how did you overcome them? Thank you in advance!
I am currently customizing the Rich Text Editor (RTE) using App Builder.I am implementing it according to the documentation, but even after inputting the ID for the h1, it is not being removed from the tool. rte: { removeButtons: () => [ { id: "h1",// not work }, { id: "bold", //work } ], } Could the ID be incorrect? I would appreciate it if you could share any information you might have.
For years, we’ve leaned heavily and happily on AWS Lambda to stretch Marketo into other realms. A simple Lambda lets you integrate with, say, event platforms, transforming their generic outbound webhooks to valid inbound Marketo API calls. Especially cool are “loopback integrations”: a Marketo webhook calls a Lambda that swoops back in to call the Marketo API, allowing juiced-up flows of all sorts. Serverless architectures pioneered by AWS are perfect when a service doesn’t need to run hot 24/7 but must still be available and scalable 24/7, i.e. when a second of spin-up time after idling or increased load isn’t a problem.[1] But the dynamic spin-down/spin-up comes with undocumented risks. One rears its head with newer (but not older!) versions of NodeJS Lambdas. To make matters worse, you won’t see the problem when developing your Lambda offline, only when it’s really running within AWS.[2] A simple example A snippet from a Lambda that receives an inbound
Building an AEM Custom Authentication Handler for Okta OpenID Connect by Lars AuffarthOverview🔐Unlock the secrets of customizing secure authentication in AEM as you're guided through building a custom authentication handler for Okta OpenID Connect. From understanding the OpenID Connect authentication flow to implementing the handler with detailed code snippets, this blog provides a comprehensive roadmap. Learn how to create a demo account on Okta, extract required information, and deploy your custom Authentication Handler for testing. Don't miss the GitHub link for the complete code and try it out yourself!Q&APlease use this thread to ask questions relating to this article
Hello All,I have a requirement to create News article page from Word document. Currently content authors manually authors the pages and we want to automate the process.If there is any better option available to automate the News article authoring process please do share.I am following the below AEM guides documentationhttps://experienceleague.adobe.com/en/docs/experience-manager-guides/using/install-guide/on-prem-ig/content-migration/migrate-content-non-ditaI have override the file "w2d_io_old.xml" and uploading the word doc. The workflow is showing in-progress for hours. And getting below error in the logs for file name "Sample_dita_file.docx".I have added two files with below content :file 1:Dita Map XMLThis is headingfile 2:Title: Dita Map XMLHeading 1: This is headingfor both I am getting below error.Anything I have missed to configure in my local which is causing the issue.22.04.2025 23:19:59.449 *INFO* [sling-threadpool-b6151423-8cb0-4f68-9ba3-0f77db9c4fc5-(apache-sling-job-
Hi I have enabled adobe forms and added necessary dependencies mentioned as AEM official documentation(added aem-forms-sdk , core-forms-components etc dependencies) Im able to see all the default provided templates and themes etc in template, themes section but when Im trying to create forms from the console its not showing any templates, folders ,themes etc . Please help me to figure out what is causing this issue . Was able to see templates and create forms in local sdk and also in dev enviornment but in stage env its not working.
Hi All,I wanted to understand why am i getting this below error in logs on hitting few pages. 10:17:23.120 *ERROR* [148.252.141.237 [1737109042752] GET /content/path/EN/Sample/products/product-category.html HTTP/1.1] com.day.cq.wcm.core.impl.designer.SearchPathLimiter No style has been found until search path threshold: 10000 was reached.I am thinking because of the huge content and nested structure authored on page something like belowEach of these paragraph systems have lot of static components and nested structure. Increasing the threshold to 10000 under Design Factory Config will resolve the issue but i dont think its a proper fix and wanted to understand the reasons leading to exceeding default threshold.
Introduction: The New Standard for Agile MarketingIn today’s hyper-personalized digital landscape, marketers are expected to deliver relevant, timely, and consistent content across multiple channels. But managing this at scale—especially with real-time updates—can be daunting.Enter the powerful integration of Adobe Experience Manager as a Cloud Service (AEM) Content Fragments with Adobe Journey Optimizer (AJO) This duo empowers marketers to:Create structured, reusable contentPersonalize it dynamically using customer dataUpdate it in real time across all campaignsLet’s explore how this works, and then dive into a detailed, real-world use case to bring it all to life. What Are AEM Content Fragments?AEM Content Fragments are channel-neutral, structured content blocks stored in JSON format. They allow marketers to manage content independently of design, making them ideal for omnichannel delivery.Why They Matter to MarketersEfficiency: Author onc
Hello Everyone,We recently started offering our forms as HTML5. We upload the templates (.xdp) into AEM and then provide the rendering links to third party apps, who click it and launch the HTML form. We use some custom fonts on these forms while designing the XDP. For example customerfonts.ttf and customerfonts-cond.ttf (condensed version of the font). We are able to view the HTML forms perfectly on Windows machines. However, on Mac, we notice the customerfonts-cond.ttf appears everywhere we used the regular customerfonts.ttf. As per Adobe documentation, we made sude, the fonts are available on the server under /opt/aem/publisher/crx-quickstart/fonts directory. Also, tried Gibson font configuration but after configuring this, the fonts stopped appearing on Windows machines as well. Not sure what is causing this behavior and hence reaching out to you all.Thanks,Abhishek
Hi All,I'm having trouble understanding a fundamental AEM concept and could use some guidance.I have a configuration folder for the config.local.author runmode.I want to exclude this folder from deployment so that any changes made via the OSGi Configuration Manager are retained and not overwritten during code deployments.This is my filter.xml:<?xml version="1.0" encoding="UTF-8"?><workspaceFilter version="1.0"> <filter root="/apps/fc2/osgiconfig"> <exclude pattern="/apps/fc2/osgiconfig/config.prod" /> <exclude pattern="/apps/fc2/osgiconfig/config.perf" /> <exclude pattern="/apps/fc2/osgiconfig/config.qa1" /> <exclude pattern="/apps/fc2/osgiconfig/config.qa2" /> <exclude pattern="/apps/fc2/osgiconfig/config.local.author" /> </filter></workspaceFilter>I expect that the changes made on the local author instance via config mgr will be retained, and the configuration provided in the code sho
Within a translation project, the status presented on the translation job's title is Ready for Review, while the items (sites or assets doesn't matter) in the job are all Approved and other workflow actions tied to the job's Approved status are triggered as well. So it seems like just a visual error, as everything works smoothly in the background, only the status is not what it is. Is this something that can be fixed by me, or maybe is it a bug in AEM?
Hi all, I’m using AEM’s out-of-the-box session extension feature configured through the OSGi service org.apache.jackrabbit.oak.security.authentication.token.TokenConfigurationImpl, with refreshToken=true. This works as expected in my local author and RDE publisher environments. When a user performs activity after half the session timeout, the session is extended. I’ve verified this by checking the rep:exp property under /home/users/<user>/.tokens/<tokenId>, which gets updated correctly. However, in the AEM as a Cloud Service (Dev Publisher) environment, this behavior is not observed:Sessions expire exactly at the timeout, regardless of user activity.I also don’t see any .tokens node under user home paths. Is this a known limitation or behavior difference in AEM Cloud publishers?Has anyone faced something similar, or found a workaround? Appreciate any insights!Thanks.
Hello,I am encountering the following error while trying to access an image that uses the AdaptiveImageServlet. If anyone has experienced this issue before, please share the resolution or suggestions to address it. The AEM version in use is 6.5 SP22.Here’s what I’ve checked so far:All renditions of the image are available in DAM.The width/size of the image is moderate and not excessively large.I have verified that the images are not corrupted.When I create a package and validate the pages/assets in a different environment, no issues are found.The version of the WCM Core Components is identical across all instances (both working and non-working environments).I restarted the instance, but no luck.Error log:23.06.2025 13:10:22.000 *ERROR* [198.203.175.233 [1750684221990] GET /content/brand/en/test/_jcr_content/root/layout_container_619122462/content/xx/content/layout_container/content/image.coreimg.85.1200.png/1750339300167/testimg.png HTTP/1.1] org.apache.sling.engine.impl.SlingRequestPr
I've read the help on page templates and can see that we can hardcode a logo, other image, of background image into the design. I know that we can define text variables and display these on the page template. But what do we do if we have images that vary by publication, and we want to display one of those dynamic images on a location on the page? For example, a cover image of the product or additional symbols or logos specific to the publication. Is it possible to define an image variable that can be placed on the page layout design?
Hi Adobe Community,We are currently transitioning from traditional AEM Sites to a headless architecture where AEM serves as the CMS, and the frontend is built using React with a Node.js backend.In this setup, we're using Content Fragments delivered via AEM’s Graph QL APIs and no longer rely on traditional jcr:content-based pages.I have the following questions regarding sitemap generation in this headless architecture:Since there are no traditional pages, is it still possible to generate a sitemap using content fragment paths?What is the recommended best practice for sitemap generation in a headless AEM setup?Should the sitemap be generated within AEM (using a custom service)?Or is it better to handle sitemap generation externally via Node.js by consuming AEM’s Graph QL APIs?How should we handle alternate language URLs (href lang tags) in this architecture?Are there any Adobe-recommended tools, frameworks, or approaches for generating XML sitemaps in a headless setup?
I have written function that is creating an accordion in content fragment in aem 6.5.21 but now we are migrating to aem as a cloud service and want the same functionality but its not working.I am sharing snippet of code below.function setAccordionView($multifield) {var template = document.createElement('template');template.innerHTML = '<coral-accordion-item><coral-accordion-item-label>Card</coral-accordion-item-label><coral-accordion-item-content>' + $multifield[0].template.innerHTML + '</coral-accordion-item-content></coral-accordion-item>';template.setAttribute('coral-multifield-template', '');$multifield[0].template = template;$multifield[0].outerHTML = "<coral-accordion>" + $multifield[0].outerHTML + "</coral-accordion>";}Please help me.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.