Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
HI All, I have a scenario, my client has renamed few pages in one languages which is causing Language switch failed to navigate to right page.I have pages like/content/abc/en/home.html/content/abc/fr/home.html After renaming the FR home (from /content/abc/fr/home.html to /content/abc/fr/domicile.html), language switcher failed to resolve the same page from EN -> FR.How to address this issue, to make sure Language switch works again without effecting SEO?I tried Approach:I used ‘alias’ on the renamed page (FR Home) same ‘name’ as EN Home page.Which resulted/content/abc/fr/domicile.html sling:slais = home and adjusted the Sling model code to fetch page path with alias or actual name, vice versa. Pros: This fix works for all pages globally with same scenario.Cons: This may affect SEO, since the ‘actual page name’ is hidden/masked by alias. Worst case, should I ask my client rename them back to original to align with EN pages? Can you guys suggest better ap
Hi All , I am passing some data through JS , but while pass small amount of data like around in 100 or 500 JS is working as per expectation , but while passing data in huge number like 200000 its not working correctly , on same data is exactly of same type and JS should work correctly for that data , Do we have restriction on passing number of data in JS , Can someone please help.
Hi Folks, I have configured a vanity path for one of the pages. It is working fine in the dev author and publish environments. However, it is not working in the dispatcher, throwing a 404 error in the network tab for the HTML and model.json files for that page. I have made the necessary dispatcher changes mentioned below: Farm file:/vanity_urls { /url "/libs/granite/dispatcher/content/vanityUrls.html" /file "/tmp/vanity_urls" /delay 300} Filter rule:#allow vanity urls list path/0101 { /type "allow" /extension 'html' /path "/libs/granite/dispatcher/content/vanityUrls" } However, when I hit the vanity path in the dispatcher, it redirects to the page and then again redirects to a 404 error page. Please help me on this issue to resolve, Thanks in advance!
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
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.