Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recente
I have to get the json export for a sling model in another sling model. The code that works is: String exportedJson = modelFactory.exportModelForResource(resource, "jackson",String.class, new HashMap<String, String>()); This works when the code actually executes, but when I am trying to write a junit for this, I get the error, No exporter named jackson supports java.lang.StringI decompiled the jar, and saw that String class is supported, but I am guessing the JacksonExporter is not getting binded at the time of running the test.AemContext provides a mock implementation of the ModelFactory serviceSo, am I missing something ? Regards,Ankush Dhingra
I am building a platform using the OOTB core components on AEMaaCS. some of our components are being modified to be dynamic. i.e. we have a custom component that will query pages on the site and we want to render them as a list of teasers. We have implemented this using the delegate pattern to the teaser component, however the images won't work and we have had to modify the teasers use of the image delegate. What i would want to be able to do for this and other custom components that use multiple images is to still utilise the dynamic media functions for getting the correct sized image. I can't find any documentation on how to utilise dynamic media that isn't pointing to a specific resource that has a "fileReference" field that points to the required image.
The purpose of this thread is to continue the conversation from the Virtual User Group on the topic of Leveraging Workfront Proof on November 9, 2021. Many thanks to everyone who joined us and participated in the lively discussion. Special thanks to @Allison Lippert‚ for sharing such great introduction to Proof and examples of how we use it at Workfront to create the amazing learning content produced by her team. And thanks also to @Etienne Bosch‚ for giving us a taste of what’s soon to be released for Proof and what’s still to come. You can see more in the attached slides, and here is a link to the recording. Do you have any questions that weren’t answered in the meetup? Was there a tip that was especially helpful that you picked up in the session? Leave a comment below and we’ll keep the conversation going! 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 Workfr
Session Details Learn the fastest way to provision, demo, and explore features of AEM as a Cloud Service The AEM Reference Demos Add-On allows for the easy creation of sandbox environments pre-loaded with sample content and pre-configured using the latest Adobe best practices guidelines. With the add-on, you can easily evaluate AEM features in context and with hardly any configuration. Demos include Sites, SPA Editor, Commerce and advanced features of Assets. Join us for a live presentation and demo with Adobe Product Manager Hyman Chung and headwire CTO Ruben Reusser. Watch This Session Live Session Schedule 03 Feb 2022 | 09:00:00 PDT Speaker(s) Hyman Chung, Sr. Product Manager - Adobe & Ruben Reusser, CTO - Headwire Moderator(s) Adobe Resource(s) Product(s) Adobe Experience Manager Q&A Please use this thread to ask the question related to this Session. Don't forget to register yourself for this session using the registration link shared above.
Content backfill required
Hi there, I'm trying to upload a relatively small file (10mb, but split into 1mb chunks to test).- Browser Import says the file is too large of course, but if I upload 20 rows, I can confirm the format is right and the upload succeeds.- I created a Classifications Import FTP Account using the instructions. - But when I use that, it times out. I get different errors in diff ftp clients, but usually a variation of `ftp.omniture.com` took too long to respond. Or I can login but the file import hangs. Any advice? It's just not practical to do it 100 rows at a time in the browser.
How to search and get list of all pages of a given template in AEM? by rashid jorvee blog Abstract How to search and get list of all pages of a given template in AEM? Adobe experience manager is a powerful content management tool that provides ample options to explore and manage the content. In this post, we are going to see how to search and get all the pages from AEM which are created using a given template. The detail required to execute this process. Project path: Path of the directory where we would want to search the pages. e.g. /content/sample/en/en_us Template path: Path of template. e.g. /apps/sample/templates/press Now we have prerequisite handy with us, let's move to the execution. Step 1: Go to the below mention URL. Adjust the domain according to your domain name. http://localhost:4502/libs/cq/search/content/querydebug.html Step 2: Put the following query in the "Query Builder Debugger" section type=cq:Page path=/content/sample/en/en_us 1_property=jcr:content/cq:
Join us for our next Adobe Target Community Q&A Coffee Break taking place Wednesday, January 19th, 2022 @ 8am PT ~ Be sure to REGISTER HERE to receive email reminders and a calendar hold ~ We'll be joined by Jon Tehero, aka @Jon_Tehero, Group Product Manager for Adobe Target, who will be signed in here to the Adobe Target Community to chat directly with you on this thread about your Adobe Target questions pertaining to his areas of expertise: Adobe Target Integration with Adobe Journey Optimizar Adobe Target UI General Adobe Target topics REQUIREMENTS TO PARTICIPATE Must be signed in to the Community during the 1-hour period Must post a Question about Adobe Target THAT'S IT! *(think of this as the Adobe Target Community equivalent of an AMA, (“Ask Me Anything”), and bring your best speed-typing game) INSTRUCTIONS Click the blue “Reply” button at the bottom right corner of this post Be
I followed this article - https://medium.com/adobetech/customizing-the-aem-grid-3ff9c2121a36 for customizing my AEM Grid to different break point (small, medium, large, xlarge etc)When I add a container and make this container as responsive - all components including container used to show 12 columns.but with SP10 upgrade - the inner containers are not showing the 12 grid. This issue I observed after upgrade to Service Pack 10.
When adding attachments via a user interface:Add button Click event below: var myDoc = event.target; var sFile = "myFile" + NumericField1.rawValue; myDoc.importDataObject({cName: sFile}); var myDataObject = myDoc.getDataObject(sFile); var sFileName = myDataObject.path; ListBox1.addItem(sFileName,sFile); the files are added and you can see them in the side bar. if I remove files from the UI it goes away from the sidebar. QUESTION: what is the event that triggers the removal of a file from a sidebar? I can see the form brings a pop up alert but after i say "yes" it goes away from the sidebar and that is correct. I need to be able to capture that event so that i can deleted from the list on the UI I assume that this event should exist so that i can catch it in the javascript code of the form and manipulate the UI accordingly. right? thank you 🙂
Hello all,I have created a dynamic LiveCycle Designer form and would like the functionality of importing Excel data into this form. Although I'm confident that it is not possible to accomplish this task with a dynamic form only static, I wanted to run it through this community to make sure there is nothing new out there that I've missed. The issue with this form is that it can get lengthy and our customers usually keep their data in Excel but need to submit it to our agency via this PDF form so they want an efficient way to import the data. This particular form is dynamic because some customers may have 1000 entries and some may have 5 so there is no way to know how to make this the proper size via static format. I've seen a couple of questions regarding this but no real answers for forms created in LiveCycle Designer. If its a big fat "no" then at least I know for sure. Thank you, guys!
Hi Everyone, Following their deprecation, Microsoft CRM, Salesforce, Oracle CRM On Demand action activities have been removed from the interface. To configure the data synchronization between Adobe Campaign and a CRM system, you can use the CRM connector activity. Read here for more details: CRM Connector Please feel free to reach out for your queries and feedback in the below comment section.
AEM Cloud Service - Case Insensitive URLS for accessing Site pages by Sreekanth Choudry Nalabotu Abstract Goal Cloud Service Version 2022.1.6198.20220113T173638Z-211100 (Jan 13, 2022) Apache mod_speling module can be used to configure Case Insensitivity for URLs on an onPrem AEM instance. This post is for trying the same thing on a Cloud Services AEM... Add a filter apps.experienceaem.sites.core.filters.CaseInsensitiveURLMatchFilter with the following code. It attempts to look up the page resource by converting the URL to lower case... package apps.experienceaem.sites.core.filters; import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.SlingHttpServletResponse; import org.apache.sling.api.resource.NonExistingResource; import org.apache.sling.api.resource.Resource; import org.apache.sling.api.resource.ResourceResolver; import org.osgi.framework.Constants; import org.osgi.service.component.annotations.Component; import org.slf4j.Logger; import org.slf4j.Log
How to handle errors in Sling Servlet requests by Jörg Hoh Abstract Error handling is a topic which developers rarely pay too much attention to. It is done when the API forces them to handle an exception. And the most common pattern I see is the “log and throw” pattern, which means that the exception is logged and then re-thrown. When you develop in the context of HTTP requests, error handling can get tricky. Because you need to signal the consumer of the response, that an error happened and the request was not successful. Frameworks are designed in a way that they handle any exception internally and set the correct error code if necessary. And Sling is not different from that, if your code throws an exception (for example the postConstruct of a Sling Model), the Sling framework catches it and sets the correct status code 500 (Internal Server Error). I’ve seen code, which catches exception itself and sets the status code for the response itself. But this is not the right approach, b
How to Write AEM Reusable Touch UI, Granite UI Configuration by Briankasingli Abstract Why are we repeating ourselves, writing the same Touch UI (Granite UI Component) configuration again and again as developers? It’s been like the 10th time that we have created a Granite UI Component configuration, an identical block of code. The RTE Granite UI Component should only contain basic format options. Is there a way for developers to write this configuration once, so it can be reused? The answer is yes. Introducing the DRY way of using RichText Granite UI Component in AEM for Static Templates, which is an article for how developers can write better and reusable code for Touch UI (Granite UI) configuration. The blog article specifically focuses on the Rich Text Granite UI Component, configuration once, and then reuse it over and over again. The same methodology can be applied to all other Granite UI Component configurations; checkbox, select, color picker, text, etc… This is great because
Custom Rich Text Editor (RTE) Plugins for Adobe Experience Manager by Bounteous Abstract Out-of-the-box (OOTB) plugins and their features cover many text editing use cases, but there will always be a need for customization. Recently, I came across a requirement where authors wanted the flexibility to add data attributes to the HTML elements for analytics tracking using the Text component RTE capabilities in Adobe Experience Manager (AEM). Learn how to add a custom tool to RTE that will add data attributes to a specific element within HTML by following the steps outlined in this article. This same process can be used for any other custom RTE Tools you have to add as well. By following these steps, you will enable the author to add attributes or remove attributes using the in-place editing toolbar in AEM, as can be seen below. How to Add a Custom Plugin to RTE? Adding a new plugin to RTE is a five-step process and involves JavaScript coding. Create a new Clientlib and provide Categ
Customizing the AEM Grid by Tiffany Olejnik Abstract I’ve already reviewed common misconceptions of responsive design in AEM. Based on that, we can look at two approaches that address these fallacies while adhering to AEM grid best practices: 1. AEM grid can be strictly used for the layout container, while any responsive component styling can be done with an outside framework. This is the recommended approach when front-end developers use heavy responsive customization, but want to maintain responsive authoring capabilities. Using a front-end framework outside of AEM tends to be preferred by many front-end development workflows. 2. AEM grid can be used for both responsive authoring and styling components. This is the recommended approach when complex responsive requirements exist, the front-end code base is AEM-dependent, if you are leveraging a single set of responsive grid HTML classes, and/or the requirements of maintaining the AEM grid authoring functionality is well known. Despit
AEMaaCS - Touch UI Dialog Dynamic Dropdown by Arun Patidar Abstract Populate Touch UI Dropdown Dynamically based on Other Field In AEM touch UI, the dropdown options can be populated using static fields or using datasource but the dropdown options are static. Let's say I need to create a dropdown for state and the state values should populate based on country, In this case above two methods will not work. but this can be achieved using dialog listeners. This blog is about an example to populate second dropdown options based on the first dropdown. Steps 1. Create the first dropdown and populate the options either with fixed values or from datasource. add a granite class to listen to the changes. 2. Create a second dropdown without any options and add a granite class 3. Create a hidden field for the second dropdown to repopulate pre-saved value on a dialog load. The name property must be the same as the secondary dropdown and this field must be disabled and hidden. 4.
Hi there,Environment: aem 6.5.1, aem 6.3.3when I load one of my site pages, it is having below fullscreen mask , stopping clicking on any links or buttons.If I remove above div , it is working fine. please help.Thanks,Sri
Hello, I am using aem 6.5My requirement is to add multifield in content fragment.Eg. { Title: kiran, desc: test desc, Products: [{ name: abcd Url: google.com Location: USA}]}So for this product I need multifield which I can drag drop from content fragment.I tried link which was provided in other qu i.e. http://experience-aem.blogspot.com/2018/10/aem-6420-assets-content-fragments-coral-3-composite-multifield.html?m=1But this is more of static where fields are already provided in code. I m looking for fields ie. Name, url, location can also be shared by me. Anything like this is possible or any suitable solution which can hp me to bring this json in content fragment. Pls help.
Author: Oliver Lindberg Adobe has a long history of building products, services, and tools that serve a range of users. We moved from shrinkwrap software that was delivered every 12–18 months to having a connected relationship to our users 24/7. As we continue our journey in the cloud, we are growing a comprehensive and open platform for developers who can manage integrations, extensions, and build on our platform for their own custom solutions. The Adobe Experience Platform (formerly the Adobe Cloud Platform) provides a suite of Infrastructure-, Platform-, and Software-as-a-Service capabilities that support Experience Cloud, Document Cloud, and Creative Cloud. The clouds ingest, manage, and derive value from the information that users entrust to Adobe. By joining content and data in an open cloud platform, developers are able to create apps and experiences quickly, effectively, and at scale. Platform businesses have a "network effect," which means the more that people are using somet
“Imagine you win the lottery today and quit your job tomorrow. Would someone be able to step right in and take over your Marketo instance?” This is the mindset @Tori Forte, Marketo consultant extraordinaire, recommends as you’re thinking about documenting your Marketo instance. In fact, good documentation can be nearly as important as the actual implementation itself. Keeping track of changes and decisions you’ve made during your instance setup can help you: More easily train additional users in a scalable way Build more efficiently in Marketo long-term Maintain the health and hygiene of your instance moving forward Make the transition process much smoother for a new Marketo admin if your team experiences any turnover There are a couple different types of documentation you can produce. A governance guide outlines your instance setup in detail with topics such as program/folder structures, communication limits, and more. This would be a living document that users would turn to in orde
Managing User Permissions in AEM by Michael Leroy Abstract Adobe Experience Manager is designed to cater for content authoring of multiple sites by multiple content authors. Naturally, this process needs to be governed by strict Access Control Lists (ACLs) to manage who is allowed to do what at any given time. In this post, I’ll cover various approaches that can be used to manage authorizables and ACLs in AEM that should help you make a more informed decision when picking a permissions management strategy for your next project. Basics of Roles and Permissions Before we get started, we need to cover some basic terminology of permissions management in AEM. Throughout this post, I will refer to Users, Groups, Authorizables and Permissions quite a lot so let’s make sure we’re all on the same page. A user is a unique account that is used to log in to the system and holds basic details such as name, password, email, etc. They may be part of multiple groups and can also hold their own pri
When configuring your FDA external account, you can now login to your Snowflake account using Key pair authentication for enhanced authentication security. Check here in the documentation, how you can configure access to Snowflake: FDA external account Please feel free to reach out for your queries and feedback in the below comment section.
AEM Client Library Debugger & Client Library Test Tool by Sourcedcode Abstract A quick way to validate your AEM client libraries via registered clientlib categories is by using the AEM, out-of-the-box, “AEM Client Library Debugger Test Tool”. The tool is very bareboned. When you are on the tool page, you’ll find a Categories input field. Simply insert your to-be-tested clientlib category value here and press “submit”. Your results will show up at the bottom panel. This tool only allows you to test one clientlib category at once. This tool is great because it will display the and
Já tem conta? Login
Ainda não tem uma conta? Crie uma conta
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.