Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
Hi there! My name is Will Harmon and I sit on the Adobe Customer Adoption team. I've spent the last couple months learning about AEM Sites in an attempt to better understand how our customers are learning to use the solution, what's working well for them, and what hurdles they're facing. My goal is to spend 2022 working with our customers and creating in-depth, insightful content to help your peers use AEM Sites to the fullest. There's a lot to cover within AEM, so I'm starting my focus in a very specific area: AEM Sites Managed Services. Here are some qualities/responsibilities I'm looking to explore in an interview:AEM Sites MS end usersAEM Sites MS power userscontent creation/templatizationinstance permissioning and admin toolsinstance governance/documentationIf one or more of these qualities or responsibilities apply to your role, I would love to have a quick 30 minute chat with you about your work! Please use the link below to pick a time that will
A build number is a number that indicates the package installed on your application server or on your console.This information is always needed when making a request on the Support portal.Note that application server and console build numbers can be different as it is not always mandatory to upgrade the client console for each server upgrade.Yet, it is highly recommended to maintain same versions. In some cases, an outdated version of the console can lead to errors. To get it, open the console and go to Help > About. Florent.
Hi All,Need help with a requirement. I have to hide certain select actions in assets.html for some particular user group (hide Manage tags, To Collection, Copy etc). Currently we get all the below options on selection.I overlayed the action selection node and tried hideChildren but it hides these options for all the users including admin (which is obvious so I can't use this way) and I also tried applying rep:policy but somehow these policies don't work and the options load from some render condition JSPs. I cannot modify these OOTB JSPs so please suggest me something which will work here. I am not sure how to do it via JS. Can anyone help me on this?
Hi All I am working on a project where we are migrating the 6.2 code to AEM Cloud. In the RTE of the text component , they have used Sreekanth Choudry Nalabotu's https://experience-aem.blogspot.com/2018/01/aem-63-sp1-touch-ui-extend-rich-text-link-dialog-remove-parent-frame-option-from-target-select.htmlfor customizing the link plugin field. When components were migrated to Coral 3 UI, this stopped working and started throwing error. I somehow fixed the JS to show the additional dropdown , but now the pathfield is breaking and it is showing as text field. Has anyone upgraded this functionality to support Coral UI 3 ? Any help is appreciated .
Hi All, We found the oak running into a problem consuming a lot of resources so we are trying to improve the XPath queries. Our AEM is 6.0 on OAK 1.0.22. According to https://jackrabbit.apache.org/oak/docs/query/query-troubleshooting.html, queries should not traverse more than 1000 nodes. We start our AEM as:java -server -Xms4096m -Xmx8192m -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=2048m -Doak.queryLimitReads=20000 -Doak.queryLimitInMemory=50000...Test query:/jcr:root/content/a/b//element(*,cq:PageContent)[@sling:resourceType='pages/my-resource' and (@cq:tags = 'custom-tag') ] order by @date descendingWe index the field `date`, and there is only one article under /content/a/b, with resourceType 'pages/my-resource', cq:tags 'curstom-tag'. But we get the warning:org.apache.jackrabbit.oak.query.FilterIterators The query read or traversed more than 20000 nodes.java.lang.UnsupportedOperationException: The query read or traversed more than 20000 nodes.And it
This is for performance testing of asset upload to AEM as a cloud service using JMeter scripts running outside of AEMaaCS. Used aem-upload module provided by Adobe for cloud service. Able to upload assets size not exceeding 100MB but fails with 413 error for101Mb file. Need to mimic Adobe' way of chunking the asset into multiple URIs and then combining during last step at the time of uploading to AEMaaCS. Able to upload >100MB from AEM assets interface but not through code. Please share insights on the chunking mechanism to code for uploading large assets into AEMaaCS.
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.
In AEMaaCS, I have a form container that sends emails with set up with "Thank You Page" parameter, which gives me this component configuration:{ "redirect": "/content/mywebsite/form", "subject": "Hello", "sling:resourceType": "core/wcm/components/form/container/v2/container", "actionType": "foundation/components/form/actions/mail", "action": "/content/usergenerated/mywebsite/formcq-gen1642504415838/", "jcr:primaryType": "nt:unstructured", "from": "test@test.com", "mailto": "test123@test.com", "id": "form" }Now, when I submit the form, the form sents :redirect parameter as /content/mywebsite/form.html, so this is unmapped link (my JcrResourceResolverFactory settings will transform it to /form/). Finally, what is happening is the redirection returned to the browser leads to /content/mywebsite/form.html?status=200, which gives me 404 because I have different rewriting rules on dispatcher.Is there a way to set up redirection properly? I see that the model does not map t
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.
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.