Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
Hi all,When running a maven build for a local installation of AEM, the very first thing it does is to reach out to the maven central repo and download an old version of log4j that has known vulnerabilitiesI want latest version needs to be download for log4j[DEBUG] Importing foreign packages into class realm extension>com.day.jcr.vault:content-package-maven-plugin:1.0.2 [DEBUG] Imported: < maven.api [DEBUG] Populating class realm extension>com.day.jcr.vault:content-package-maven-plugin:1.0.2 [DEBUG] Included: com.day.jcr.vault:content-package-maven-plugin:jar:1.0.2 [DEBUG] Included: javax.enterprise:cdi-api:jar:1.0 [DEBUG] Included: javax.annotation:jsr250-api:jar:1.0 [DEBUG] Included: org.eclipse.sisu:org.eclipse.sisu.inject:jar:0.3.0.M1 [DEBUG] Included: org.sonatype.sisu:sisu-guice:jar:no_aop:3.2.3 [DEBUG] Included: aopalliance:aopalliance:jar:1.0 [DEBUG] Included: com.google.guava:guava:jar:16.0.1 [DEBUG] Included: org.codehaus.plexus:plexus-interpolation
Where can i find the product grid for high speed doors in AEM? I want to make some adjustments.
Hi all, We have a requirement to show the cascading dropdown in AEM metadata UI editor. The dropdown values are exceed more than 15k+ values, same values are saved into node and showing it in UI which resulted slowness of metadata UI page. We are trying to reduce the slowness and improve the performance by adding the values in Json instead of node values. Can you provide any other suggestions to improve the performance if you faced earlier.
What is the best way to retire, remove, or expire tags on AEM DAM without majorly affecting the content that's associated with the retired tags?
Hello,I extended and customized the properties of the dam mnt/overlay/dam/gui/content/assets/v2/foldersharewizard folder by inserting a new field -->Location CF .I am experiencing this problem: the data that appears in the new field is not saved.I simply extended under /apps the following path "dam/gui/content/assets/v2/foldersharewizard" and added my property in tab1 My content.xml : <?xml version="1.0" encoding="UTF-8"?><jcr:root xmlns:jcr="http://www.jcp.org/jcr/1.0" xmlns:nt="http://www.jcp.org/jcr/nt/1.0" xmlns:granite="http://www.adobe.com/jcr/granite/1.0" xmlns:cq="http://www.day.com/jcr/cq/1.0" xmlns:sling="http://sling.apache.org/jcr/sling/1.0" jcr:primaryType="cq:Page"> <jcr:content jcr:primaryType="nt:unstructured" jcr:title="AEM Assets | Folder Properties" sling:resourceType="granite/ui/components/shell/propertiespage" backHref="${granite:concat(&quot;/asset
Hi Team, We have some pages, categorised based on tags, when we create a translation project for language copy those tags are not listed in created translation job card for the language. Number of tags are always 0 but I can add tags after opening the project so can someone guide me further to add referenced while creating the project. Thanks Umesh Thakur
Why are my uploaded transparent PNG assets being published to the CDN with a white background?
public class CanonicalURL extends WCMUsePojo {public LinkCreator linkCreatorUtil;public String path; @9944223public void activate() throws Exception {linkCreatorUtil = getSlingScriptHelper().getService(LinkCreator.class);path = get("path", String.class);if (path == null) {path = getCurrentPage().getPath();}}can some one help in writing junit test case for this?because mocking getSlingScriptHelper() is not working.lenient().when(wcmUsePojo.getSlingScriptHelper()).thenReturn(slingScriptHelper);lenient().when(slingScriptHelper.getService(LinkCreator.class)).thenReturn(linkCreator);
Hi, We had a requirement to listen for every modification of an asset and send the asset details to the client API. Since each modification generates multiple events, we added a map to check if the path already exists; if it does, the API should not be triggered. However, sometimes the map fails to update due to multiple threads running concurrently. private static final ConcurrentHashMap<String, Long> processedPaths = new ConcurrentHashMap<>(); For the event path(sling:members node change) - thread id:185/content/dam/projects/product-images/mixedmediasets/img-1/jcr:content/related/s7Set/sling:membersThe processedPaths map contains:{ /content/dam/projects/product-images/temporary-imageset-folder/img-2 = 1741863896578 } - ( old data- previous executed gtin) During the if condition check, it verifies whether the event path- img-1 exists in processedPaths and time is > or < 30sec.(Checking for path: /content/dam/projects/product-images/mixedmediasets/
In my website, I have a need to change the sling:resourceType for my homepage. I am introducing a new field to the homepage properties specifically. I have: Created a new component for my homepage under apps/mysite/components/pages/home-pageUpdated the sling:resourceType to point to this component for conf/mysite/settings/wcm/templates/home-page/initial and conf/mysite/settings/wcm/templates/home-page/structureUpdated the JCR directly in my local sandbox's homepage, and verified that everything works as expected However, in AEMaaCS, I cannot access the JCR and modify content there directly. I am noticing that even though the template is updated and deployed, the existing homepage is still leveraging the prior sling:resourceType. What is the best way to get the sling:resourceType updated in AEMaaCS without losing existing content?
Hi Team, We have a custom process step, where based on logic we are starting the workflow/terminating the workflow. We are terminating the workflow by using the below line. wfsession.terminateWorkflow(item.getWorkflow()); This does terminate the workflow and safely completes whatever we need, but it throws an error in the backendjava.lang.IllegalStateException: Workflow is already finished. at com.adobe.granite.workflow.core.WorkflowSessionImpl.terminateWorkflow(WorkflowSessionImpl.java:546) [com.adobe.granite.workflow.core:2.0.240.CQ660-B0017] at com.adobe.granite.workflow.core.job.HandlerBase.executeProcess(HandlerBase.java:198) [com.adobe.granite.workflow.core:2.0.240.CQ660-B0017] at com.adobe.granite.workflow.core.job.JobHandler.process(JobHandler.java:271) [com.adobe.granite.workflow.core:2.0.240.CQ660-B0017] at org.apache.sling.event.impl.jobs.JobConsumerManager$JobConsumerWrapper.process(JobConsumerManager.java:502) [org.apache.sling.event:4.2.24] at org
I create a profile schema containing some attributes that are updated with new values using an external process. What I want to do is have the updates in a file (e.g. JSON) with the userID and the columns to update. When I tried this simple approach, the new data does load, but the rest of the profile attributes are no longer there. I was doing this using the Datasets UI to load more data. What is the best way to update profile data from the UI? API is ok as well, it is just harder to demonstrate.
Hi Guys , I jsut have two questions regarding sling dynamic include I will provide the steps i followed , please correct if anything is 1. Include the SDI as a dependency in the ui.apps pom.xml<!-- Sling dynamic include --><dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.dynamic-include</artifactId></dependency>2. Embed the SDI as a package for deployment in ui.apps pom.xml<embedded> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.dynamic-include</artifactId> <target>/apps/my-site/install</target></embedded>3. Include the SDI as a dependency in the parent pom.xml<!-- Sling dynamic include --> <dependency> <groupId>org.apache.sling</groupId> <artifactId>org.apache.sling.dynamic-include</artifactId> <version>3.1.2</version> </dependency>4. create o OSGI config ;ui.conf
Hi Team, How to instatiate a servlet if runmode is dev or stage? If it's path based we can get the runmode from backend and pass it to the fe and in fe we can check if the runmode from be is dev we can use ajax call and call servlet by path, but if it's resourcetype based servlet how to instatiate servlet by resourcetype based on dev runmode.
Hi,I have a client specification I would like to ask for the best practice advice. So the requirement is that I am only allowed to create one Experience Event Schema (This schema captures both Transaction Data and the Login Data). In terms of ingesting the data, which way is recommened amongst the two:1. Create one single schema that captures both Login and Transaction data?2. Create two separate schema, one for storing Login Data,and one for storing Transaction data?Please advice onto which solution is the best practices, and both of these have any flaws and also any other alternatives would be greatly appreciated.Best regards,Sching
Hi All, Has anyone done JUnit test execution in parallel mode in AEM Cloud? If yes, are any changes needed in Cloud Manager that we need to reach out to Adobe for? I have tried updating junit-platform.properties under /src/test/resources but could not see any improvement in deployment time. Please could someone advise. Thanks, Ram
Issue Overview I am working in AEM and need to hide the "Publish" button that appears when hovering over individual folders in a specific path. Currently, the button is displayed dynamically for each folder, and when the cursor is removed, it disappears automatically. I have tried using the granite:hide property, but it only applies to a single folder at a time. Since I have around 10 folders, I would like to know if there is a way to apply the granite:hide property globally so that it affects all folders instead of configuring it manually for each one. Please provide any other ways to solve the issue ??
Hi Team,We are using the below unpkg at customheaderlibs.html <script src="//unpkg.com/@ungap/custom-elements"></script> Problem Statement: The dependency is being delivered via UNPKG, a public CDN for npm packages. When it attempts to load and takes longer than expected, it affects the page load time for authors and publishers on the end website. However, if it fails to load, it does not impact the page load time. Any one faced this issue and how we can overcome and what is best way to deal this type of issue. Kindly suggest Thanks
I am facing below issue about property indexing.I have two property indexes (cqModel, cqTags )defined at "/content/dam/personal-site/oak:index". Interesting thing is if I move these property indexes to '/oak:index" default out of the box location, property indexes picked by query. But not when indexes defined at "/content/dam/personal-site/oak:index". content that needs indexing will be at /content/dam/personal-site/faqs folder. sample queries to try: select [jcr:path], [jcr:score], * from [dam:AssetContent] as a where [data/cq:model] = '/conf/pi/CF-Models/settings/dam/cfm/models/faq-model' and isdescendantnode(a, '/content/dam/pi/test-sreeni/faq2') select [jcr:path], [jcr:score], * from [dam:AssetContent] as a where [data/master/cq:tags] in('we-retail:gender', 'we-retail:activity') and isdescendantnode(a, '/content/dam/pi/test-sreeni/faq2') select [jcr:path], [jcr:score], * from [dam:AssetContent] as a where [data/cq:model] = '/conf/pi/CF-Mode
Hi,I have created a process design that's generate the pdf by using outputService. To invoke the process I have to pass the input payload in the form of xml. But I have the database where all my user entered data stored in the form of json. So, we have a middle layer that convert the json to xml and then will call our AEM REST API. My question is that, is there any feasibility we can invoke the process by using json payload itself. I did not see any of document related on that. Can we create custom process that take input as json file to bind those json data to our xdp dynamic elements. If so, can you please guide me how to create the custom process in aem form on JEE.
Hello,I'm using a multifield within the page create dialog. But when creating a page, the multifield isn't rendered. It's only rendered when editing the page properties after creation.This pretty simple code I added to the dialog items: <test jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/form/multifield" fieldLabel="My Multifield" composite="{Boolean}true"> <title jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/form/textfield" fieldLabel="My Multifield Item" required="{Boolean}true" name="./multifieldItem"/></test> My page has the resource supertype:core/wcm/components/page/v2/pageI also copied the node to the core page dialog to prevent, that any JS or other code of my page obstruct the rendering of the multifield. But there it isn't rendered, too. The render.jsp of the multifield h
Hi, I have a requirement to fetch all the dropdown fields along with associated values from metadata schema in below formatDropdown Name Option text Option ValueCiti New York ny Boston bostonGender Male
Hi all,We are working on custom SPA component which is supposed to take the given content fragment & use its field on page. In sites custom component we achieved this simply by using below snippet in html & it works fine. cfPath is content fragment path selected in component dialog's pathbrowser field.<sly data-sly-test.cfPath="${'{0}/jcr:content/data/master' @ format=properties.cfPath}" data-sly-use.cf="${cfPath}"> <p>${cf.fieldFromCF}</p> <sly>So, can anyone please help me to achieve the above in SPA react?Any hint on this would be helpful.Thanks,sesmic
Hi Team, We have a requirement related to content fragments. Based on a checkbox selection in the content fragment, we need to copy the content fragment from Folder A to Folder B. Additionally, we need to support bulk movement: when a folder is selected and a custom button is clicked, all content fragments in that folder should be moved.Which approach is better for this: using a workflow or an event listener? Given that the project is headless and the backend system only consumes the content fragments via API, So i just want to know that our approach does compromise the headless concept.?AEM version : Aem as a cloud service ThanksGeo
Hey, Are there any plans to support React 19 for headless adaptive forms? https://opensource.adobe.com/aem-forms-af-runtime/storybook/?path=/story/adaptive-form-introduction--page
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.