Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
Inside ThreadPoolManager calling a service in background with Servlets request.getResourceResolver(). And its getting closedprivate void setUpTreadPool() { ModifiableThreadPoolConfig config = new ModifiableThreadPoolConfig(); config.setMinPoolSize(0); // if no work needs to be done, we don't need a thread hanging around config.setKeepAliveTime(10000); config.setPriority(ThreadPoolConfig.ThreadPriority.MIN); myThreadPool = threadPoolManager.create(config, threadPoolName); } myThreadPool.execute(() -> {service(request.getResourceResolver();});and executing with this call .
Hi @maans , Please check if there is overlay for the /libs/cq/xssprotection/config.xml for the same in /apps and there is change in the configuration for the a tag as shown below (default config)If html tags are getting lost in RTE are mainly due to AntiSamy rules in AEM. Please check the error logs for the same(org.apache.sling.xss.impl.HtmlToHtmlContentContext AntiSamy warning). If not, then please add your error logs.
What is Sling Servlet? by Heena Shirke Abstract Sling Servlet enables us to expose OSGI Service based on request - response model. Every Sling Servlet must implement the Servlet interface which defines its lifecycle methods. It must either extend SlingSafeMethodsServlet or SlingAllMethodsServlet Servlet can either be path based(tagged to a specific paths) or resource based(tagged to specific resource types). Lets create our first servlet: Register Servlet as an OSGI component. @Component( service={Servlet.class}, property={"sling.servlet.methods=post", "sling.servlet.paths=/bin/sampleservlet"}) Read Full Blog What is Sling Servlet? Q&A Please use this thread to ask the related questions.
Access AEP as a Database by Pedromonjo Abstract AEP stores a huge amount of structured data. Therefore, it makes sense that you can access that data in a way that resembles a database. In this post, I will show you a couple of ways to achieve it. Disclaimer Before I get into the details, I have to clarify one important concept. Adobe Experience Platform (AEP) is not a database engine. Do not forget that the main purpose of a CDP is to create advanced audiences and send them to activation channels. If you ask about the internals, sure, it uses databases to store data. However, they are not accessible and remain part of the implementation. If you are familiar with Hadoop, a similar concept applies. While it has nothing to do with an RDBMS, you can use tools like Hive to access the data using SQL. With that in mind, I can now proceed. Architecture To set the scene, let’s use the Adobe Experience Platform data flow architecture. In the next sections, I will refer back to it: AEP Data
Adding Support for a New Locale in Adaptive Forms in Adobe Experience Manager by Suvadeep Dey Abstract The aim of this article is to provide the steps necessary to add support for a new locale in Adaptive Forms in AEM. This is based on a recently implemented real-world use case using AEM 6.5.12. Use case There is often a need for an Adaptive Form to support new locales that are not available out of the box in AEM Forms. We are going to see 2 examples of adding support for Malay and Singaporean Tamil languages. Steps to add the support for the two languages We are going to add support for Malay which has an ISO code of “ms” and Tamil from Singapore which together with the country code is “ta_SG”. Read Full Blog Adding Support for a New Locale in Adaptive Forms in Adobe Experience Manager Q&A Please use this thread to ask the related questions.
Hi, In my project: mvn clean install -PautoInstallPackage working fine and unit test classes are passing.When I go to individual unit test class in IntelliJ IDE and run test class it is failing with below error. Here is my test class: package com.comp.app.rxwa.pharmacy.filters; import com.comp.app.rxwa.pharmacy.utils.CharArrayResponseWrapper; import io.wcm.testing.mock.aem.junit.AemContext; import org.apache.commons.io.IOUtils; import org.apache.commons.lang3.StringUtils; import org.apache.sling.api.SlingHttpServletResponse; import org.apache.sling.testing.mock.sling.ResourceResolverType; import org.apache.sling.testing.mock.sling.loader.ContentLoader; import org.junit.Assert; import org.junit.Before; import org.junit.Rule; import org.junit.Test; import org.junit.runner.RunWith; import org.mockito.Mock; import org.mockito.Mockito; import org.mockito.junit.MockitoJUnitRunner; import javax.servlet.FilterChain; import javax.servlet.ServletException; import javax.servlet.h
Hi,We have upgraded from AEM 6.4 to AEM 6.5.After upgrade dependencies in our application the integration tests fail.Unable to initialize JCR_OAK resource resolver factory: Unable to invoke method 'activate' for class org.apache.sling.testing.mock.sling.oak.OakMockSlingRepositoryjava.lang.RuntimeException: Unable to initialize JCR_OAK resource resolver factory: Unable to invoke method 'activate' for class org.apache.sling.testing.mock.sling.oak.OakMockSlingRepositoryat io.wcm.testing.mock.aem.context.ContextResourceResolverFactory.get(ContextResourceResolverFactory.java:70)at io.wcm.testing.mock.aem.context.AemContextImpl.newResourceResolverFactory(AemContextImpl.java:76)at org.apache.sling.testing.mock.sling.context.SlingContextImpl.resourceResolverFactory(SlingContextImpl.java:142)at org.apache.sling.testing.mock.sling.context.SlingContextImpl.setUp(SlingContextImpl.java:126)at io.wcm.testing.mock.aem.context.AemContextImpl.setUp(AemContextImpl.java:81)at io.wcm.testing.mock.aem.juni
With a server side approach, you have a couple of options using the Marketo REST API: Submit Form API With this approach you’ll still need to create and approve a form in Marketo with the same fields as your custom form but you don’t need to embed it on your page. When a lead fills out and submits your custom form, you’ll need to queue up the submitted data so it can be processed one at a time, with implications on the concurrency limit of the Marketo REST API (Maxiumum 10 concurrent calls). The body of the API call will just be a single array item containing the fields from the form you created in Marketo and the form’s ID. The upside to this approach is that it will generate Marketo Form activities, which you can leverage through Smart List filters and triggers. You’ll also be able to use reporting features without embedding a hidden form on your page. This process will also allow you to capture and associate the cookie to the lead who fills out the form. Create/Updat
I am facing an issue where I am using AEM messageGateway service to send the email. In case where emails are not triggered successfully, I am not getting any error message and it always ends with success message. Is there a way to check if the email was sent successfully or not ? Any help would be highly appreciated.Below is the example of code:try { final MessageGateway<Email> messageGateway = messageGatewayService.getGateway(Email.class); //all details of the mail in between to be added to email object messageGateway.send(email); } catch (Exception e) { LOGGER.error("Error occurred in sendEmail {}", e); }
Hi All, I am writing a utility wherein the page/asset would be replicated if it's modified and pending activation. The last replication date should be less than or earlier than the modification date. How can we do it from backend/java code? I tried "ReplicationStatus", but it does not fit the use case. Thx.
The purpose of this thread is to continue the conversation from the System Admin Best Practices User Group on September 29, 2020. Many thanks to everyone who came to our virtual meetup! Special thanks to @Anthony Imgrund‚ from FCB for sharing his favorite Sys Admin life hacks! A PDF of the presentation is attached to this discussion, and you can watch the recording here. Share and tell time! What was the best thing you learned from the session? What is something you wish you’d known when you were a new System Admin? Thanks again. If you have any feedback (good or bad), please don’t hesitate to reach out. You can find the schedule for all upcoming User Groups on the Events page on Workfront One (one.workfront.com/events).
Android push notifications have been improved to support FCM HTTP v1 API for Android push channel authentication. With the new supported API version, you can now send FCM Notification Messages which provides enhanced rich push messaging capabilities. Learn more Learn how to configure FCM HTTP v1 API for Android in Adobe Campaign in this section: Configuration steps for Android In case you have any questions, please feel free to post them below or reach out through the community Q and A section. In case you have any ideas and/or suggestions regarding the Campaign Classic product, then kindly submit them here.
Adding Support for a New Locale in Adaptive Forms in Adobe Experience Manager by Suvadeep Dey Abstract The aim of this article is to provide the steps necessary to add support for a new locale in Adaptive Forms in AEM. This is based on a recently implemented real-world use case using AEM 6.5.12. Use case There is often a need for an Adaptive Form to support new locales that are not available out of the box in AEM Forms. We are going to see 2 examples of adding support for Malay and Singaporean Tamil languages. Steps to add the support for the two languages We are going to add support for Malay which has an ISO code of “ms” and Tamil from Singapore which together with the country code is “ta_SG”. The steps to add the support are as follows: Create a node called languages of nt:unstructured type under /etc if it does not already exist and add the default and the new languages to be supported in a multi-string property called languages as per the below screenshot Read Full Blog Addin
AEM replication exception by Rashid Jorvee blog Abstract Issue When we see the below error in AEM replication queue while publishing content in AEM, that means the user doesn't have enough permission to replicate the content or the publishing user that is configured in the AEM replication queue is not the correct user for replication. error: com.day.cq.replication.ReplicationException: Repository error during node import: OakConstraint0027: The admin user cannot be removed. Resolution Check the ACL for that user on the publisher instance and ensure that the user has the permission to create, delete, and modify nodes. Read Full Blog AEM replication exception Q&A Please use this thread to ask the related questions.
Debugging OSGI Bundles in IntelliJ | AEMaaCs by Nikhil Abstract In this article we will see how we can debug any OOTB bundle using IntelliJ IDE, but before that below is the introduction/brief of what an OSGI Bundle actually is. OSGi is a Java framework for developing and deploying modular software programs and libraries. Each bundle is a tightly coupled, dynamically loadable collection of classes, jars, and configuration files that explicitly declare their external dependencies (if any). – https://en.wikipedia.org/wiki/OSGi While working on AEM projects, we know what some OOTB bundles are doing and we have the documentations of those bundles as well but in some cases we might want to take a look inside the bundle to find out what is actually happening. So we will make of our IntelliJ IDE to have a look into the Java code of some OOTB Bundles. For this article I will be using Day Communique 5 WCM Multi Site Management Corecom.day.cq.wcm.cq-msm-core bundle as an example. To debug
I do have a question on query builder query and if it is the apt way to proceed on 6.5.8I have a structure as below/var/test/user /A /0222223ead /B /234534rrr43 and 58 more direct children for /var/test/userI want to query for a property with a value "x", and link contains "/content/dam/y" and within a date range for "created" ordered by "created" and sort it. The Querybuilder query i can think of is below. I would like to know if there is 1. a limit to the number of "group" keyword used, while i am sure passing too many will perhaps lead to bad request with too many header fields.2. way to optimize the query for a system with huge number of nodes under that structure (nested 8 levels deep)3.Should i split it into multiple queries and merge?4. Using below query should i be seeing "Filtering predicates" displaying something? It appears to be blank in Query builder Takes 50 seconds Querytype=
As per documentation MSM works in AEM assets. Limitations and known issues of MSM for AssetsFollowing is a limitation of MSM for Assets.Content Fragments (CFs) are not supported for the use case. When attempting to create their live copies, CFs are copied over as is without any relationship. The copied CFs are a snapshot in time and do not update when the original CFs are updated.MSM does not work with metadata writeback enabled. Upon writeback, the inheritance breaks.Source reference - https://experienceleague.adobe.com/docs/experience-manager-65/assets/using/reuse-assets-using-msm.html?lang=en I want to know how to enable maintain master and live copy relationship if this is not provided OOTB. I think there should be a strong reason why it is not enabled for CF. Is there any reason ?
Hi,We've been dealing with this issue a lot recently. According to Adobe, the code could be corrupting the instance. However, we have had no problems with the same code being deployed in multiple instances for nearly 5 months. I cleared all cookies and opened an incognito window.The login-token appears as follows:login-token:- be6456b0-144b-42fc-a21a-b44a7fd0bf63%3a%3acrx.defaultAny assistance on this high is greatly appreciated!! I have attached the error message below for your reference. URI: /crx/deSTATUS: 500MESSAGE: Server ErrorSERVLET: org.apache.felix.http.base.internal.dispatch.DispatcherServlet-3a3f0585CAUSED BY: java.lang.IllegalArgumentException: Invalid token ''Caused by:java.lang.IllegalArgumentException: Invalid token ''at org.apache.jackrabbit.api.security.authentication.token.TokenCredentials.<init>(TokenCredentials.java:45)at com.day.crx.security.token.impl.TokenAuthenticationHandler.createCredentials(TokenAuthenticationHandler.java:797)at com.day.
Tenho um formulário editável e gostaria de bloquear para ter não acesso aos forms?
Most of the time we encourage clients to keep duplicates out of Marketo as it can impact reporting and become difficult to work with. However, there are instances when clients will require intentional/purposeful duplicates as part of their sales process. If you have intentional duplicates with partitions and workspaces – it is required having the secondary dedupe field as leadPartitionID. Note: Marketo consulting services or support must get involved and edit the dedupe fields in the instance to add Lead Partition ID as a secondary dedupe field Below is an example setup of 3 Partitions: Default, Partition A, Partition B, Broker With the Get Lead Partitions Endpoint, you will retrieve the lead ids: Let’s first create a new record in Partition A with a simple request with the Sync Lead endpoint: Now let’s trying creating a duplicate record in Partition B: Oh No! What happened? The previous record was updated even though we spec
HI, I have made a import package of a transactional email, and when I did the test to see the result in outlook, Adobe is not sending and processing the transactional email, but the event is generated. best regards
I have a scenario where I have to read each of the manually added renditions height and width. Rendition rendition = resource.adaptTo(Rendition.class);// rendition obj would only give size of the rendition (rendition.getSize()) not height and width.For generated renditions, we would at least read it from the node name (String Operations) (cq5dam.thumbnail.140.100.png).But how to get the height and width of the renditions which are other than ootb renditions and doesnt have height and width values in the filename.for ex: cq5dam.fpo.jpeg@debal_das @p_v_nair
We have a website with different regions (USA and India). All the content will be in English only so, no translation is needed. Also, the pages for both regions are different and they don't share the content either. Only, the look and feel are the same. In this case, what would be the best folder structure in "sites.html/content" for our website?
I have dropdown with (With Image, Without Image) -> I have created two multifield for which is adhering the showhide w.r.t dropdown value. It is working fineFor each multifield I have added JS which enables max-item and min item, for both the multifield I have min-item= 2, If I choose with Image and add 4datasets in multifield 1,it shows error saying minimum item should be 2, it is coming because it is asking me to add minimum two values for the other multifield as well..How to fix this?JS is attached below(function ($, $document) { "use strict"; $.validator.register("foundation.validation.validator", { selector: "coral-multifield", validate: function(el) { var totalPanels = el["0"].items.getAll().length; var min; var max; if ($(el).data("min-items")){ min = $(el).data("min-items"); if(totalPanels < min) { return "Minimum numbers of items requ
Hi,I created a project with this cmnd mvn -B archetype:generate-D archetypeGroupId=com.adobe.aem-D archetypeArtifactId=aem-project-archetype-D archetypeVersion=26-D appTitle="WKND SPA React"-D appId="wknd-spa-react"-D artifactId="aem-guides-wknd-spa.react"-D groupId="com.adobe.aem.guides.wkndspa.react"-D frontendModule="react"-D aemVersion="6.5.11.0" then after I deployed it to aem instance then i am getting the below error *ERROR* [FelixStartLevel] org.apache.sling.commons.metrics-rrd4j bundle org.apache.sling.commons.metrics-rrd4j:1.0.4 (529)[org.apache.sling.commons.metrics.rrd4j.impl.CodahaleMetricsReporter(3379)] : The activate method has thrown an exception (java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/aem-integ-react/author/crx-quickstart/metrics/metrics.rrd)java.nio.file.InvalidPathException: Illegal char <:> at index 2: /C:/aem-integ-react/author/crx-quickstart/metrics/metrics.rrd at java.base/sun.nio.fs.Wi
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.