Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
Hello, I wanted to check if anyone in the community has done an integration between Adobe Assets/DAM and Adobe Commerce/Magento, such that, DAM is accessible from Magento.If not, in case of a headless commerce integration between AEM and Magento, where are the images stored and rendered on AEM pages? Any input will be highly appreciated. ThanksRuchi
Are you a new Marketo Measure (formerly known as Bizible) customer using Dynamics? Or maybe you’re just new to reporting with Marketo Measure data in Dynamics? This post is for you! If you’ve already installed the Marketo Measure solution into your Dynamics environment, you’ll notice that it comes with some starting reports (shown in the 1st picture below). This is great, but they’re not quite ready to go – they need some tweaking to be useful. These instructions are meant to outline the steps to take to get useful reports. We will be building 2 reports together: Buyer Touchpoints by Lead ID Buyer Attribution Touchpoints by Opportunity ID First, navigate to “Reports.” For me, that’s accessed under the Tools section as you’ll see in the screenshot below. *Note, although Marketo Measure is the new name – we haven’t updated the CRM solution yet so you may still see “Bizible” naming conventions in your CRM org. Let’s build the Buyer Touchp
I have an AEM 6.3 to 6.5.13.0 upgraded instance that's showing a broken link for the profile button under the user's avatar (at top right of TouchUI screen). The link shown in the hover text is invalid - it's missing v2 and the case of userEditor.html also causes the link to break and no Profile button to appear - i.e. - /libs/granite/security/content/userEditor.html/home/users/x/yybut this link works:/libs/granite/security/content/v2/usereditor.html/home/users/x/yy- note v2 and case change of usereditor.html. I noticed the correct URL format when viewing users in /security/users.html. This happens for all users. In this case admin logged in via: /libs/granite/core/content/login.htmlbut also happens when users login via SAML 2.0. I also see a broken Adobe link on the login screen.I know it's possible to turn off the link checker, but I'd like to resolve potential issues first. Thanks for any help!
Hi, We are working on a POC to call a google cloud storage API from AEM to retrieve an image file following the documentation - https://www.baeldung.com/java-google-cloud-storage . My class is as below ,currently in the early stages to establish the connectivity. import java.io.IOException;import com.google.api.gax.paging.Page;import com.google.cloud.storage.Bucket;import com.google.cloud.storage.Storage;import com.google.cloud.storage.StorageOptions;public class GoogleCloudConnector {public static void main(String[] args) throws IOException {System.out.println("This is main");StorageOptions.Builder b = StorageOptions.newBuilder().setProjectId("lt-test-lwr");Storage storage = b.build().getService();Page<Bucket> buckets = storage.list();for (Bucket bucket : buckets.iterateAll()) {System.out.println(bucket.toString());}}} The maven dependency I have added for using this API is as below.<dependency><groupId>com.google.cloud</groupId><artifactId>
Hi All, I am working on a migration project, i need to convert <components jcr:primaryType="cq:Widget" fieldLabel="Allowed Components" name="./components" xtype="componentselector"/>componentselector xtype into touch ui field, Any lead will be appreciated
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
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.