Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
We have a sub-map that is used within several maps, and conditions are applied to topics in the sub-map. We haven't had an issue doing this with SDL's LCA, but is this allowed in AEM Guides (v4.2)? The topics in the sub-map are not properly excluding as expected for ORed conditions (e.g. a topic with props="analog ioLink" showing up in the "discrete" output when it should be excluded). (Detailed explanation included in the PDF uploaded here.) Or should I submit this as a support ticket in the Adobe Admin Console? AEM Guides (UUID) v4.2 On-Prem Installation (late April/early May 2023)AEM 6.5.15 On-Prem Installation
Our assets are being hosted through scene7. A new ask is for a way for text content to wrap an image. I know that it's no longer recommended to use the RTE component for images but I still added the button back in an attempt to see what would happen. I noticed it's only adding assets from our DAM and not scene7.I also attempted to set up a 50/50 container and added in a Text component and a Dynamic Media component, but quickly realized that since each component were in their own container, there wasn't a way to float it so the text could wrap. Has anyone had any luck finding a way to wrap the text around the scene7/Dynamic Media asset or add a component that will allow that while keeping the benefits? Appreciate any help, thanks!
Hi i have an issue when using a custom transformer extending from DefaultTransformer .basically the requirements that i need are :being able to append text to all anchor links from a page this meaning is the anchor link its #clickme i should append to it baseUrl#clickme . I am using the AttributesImpl to handle the data and i am able to process all the links that contain an anchor. Links containing anchor will be indicate by starting with # .The problem is when updating the value , if i update the attribute using for example #clickme+baseurl and then call the supper.startElement it will generate the href tag correct but the issue is that this is wrong. The correct order needs to be baseurl+#clickme the issue is that if i append anything before the #. I try to append the full url , externalized url , vanity url , shorter url , random text before the #. It will not matter everything will break the html of the page to be specific the one that its containing t
Hi All, I have created a static site using standard AEM Site Template 2.2.0. It is working fine in desktop view but when change it to other views it's UI not responsive.I tried with this methods: Understanding Responsive Layout with AEM Sites | Adobe Experience ManagerResponsive layout for your content pages | Adobe Experience ManagerHow can we make a site responsive in all device views?.
Hello, In the Guides view, how can I generate a report or a listing of all topics in my map with columns for Version Number and Version Label? I don't have access to generating baselines as a quick way to review these attributes. In the Manage tab for a map, I see several reports. The Topic List report doesn't include these attributes, and the Metadata report has a Tags dropdown but Version Labels isn't an option. I've tried selecting the Standard Tags option but the versions don't display. Q:- Are the Version Labels used for dynamic baseline generation a different type of tag than those available within the topics? - Is there another type of report or view that non-admins have access to with this information? Thanks!
By default it looks like for AEM Site generation the meta description in the header is getting added byfmdita/components/dita/headAnd is looking for jcr:description.I expected that somewhere in the publish that shortdesc would have been set in the AEM site files as the jcr:description but that does not appear to be the case. Should that be expected behavior? The shortdesc ends up in the published node structure so we could look to pull that property instead of the default.Any pitfalls or concerns with taking that approach?
While using R=301 redirect the paramaters on the urls are not getting removed!E.g www.xyz.com/content/we-retail/us/en/technology#web => www.xyz.com/content/we-retail/us/en/science#web Rule used ^/content/we-retail/us/en/technology/#india$ /content/we-retail/us/en/science.html [NC,R=301,L] Cannot use the flag QSD as i am on version 2.2 The redirection is sucess but #web persists!Anyone knows how to fix this?
Hi,I want to have a image that i uploaded in the page properties of the child pages in parent pageBelow is my code snippet: List<ExistingPagesModel> pagesList = new ArrayList<>(); Resource parentResource = resourceResolver.getResource("/content/x/us/en/home/test"); if (parentResource != null) { Iterator<Resource> childResources = parentResource.listChildren(); log.info("childResources: {}"); while (childResources.hasNext()) { Resource childResource = childResources.next(); log.info("Processing child resource: {}", childResource.getPath()); // Get property values from child resource  
AEM Touch UI page property field validation by Debal DasI have used Coral 3 — Granite UI NumberField as resourceType to achieve this functionality and JCR property structure associated with that Touch UI field has been shown below - It has helped to stop entering values like -1, 0 , 1.9 , 5.6 and 7.999 but still authors were able to input 1.0 , 2.0 , 7.0 , 12.0.Then I came to know about content structure : validation, that I can use to restrict authors to input values like 1.0 , 2.0 , 7.0 , 12.0To understand the implementation of validation , I have referred two great documents and I will share those links at end of this blog.Let me share the implementation steps associated with validation -Created a client-library folder with categories: demo.integer.validator and written a JS to set the validation so that author can’t make input like 1.0 , 2.0 , 7.0 , 12.0 via NumberField - (function ($, w
OverviewHello AEM Enthusiasts,Today, I want to shine a light on a subtle yet significant oversight that we, as AEM developers, often commit - an unwavering trust in the resolver.getResource() API.It's common practice to retrieve resources using this API and proceed on the assumption that if it's not null, it's valid. But here's the catch: resolver.getResource() can return a NonExistingResource object even when the actual resource doesn't exist in the repository!Consider this scenario: You're developing a component that fetches an image resource. Here's a snippet we've all written at some point:Resource imageResource = resolver.getResource(imagePath); if (imageResource != null) { // Proceed with using imageResource }Looks familiar, right? But what if imagePath is incorrect or the resource has been moved? The API doesn't return null; instead, it gives us a NonExistingResource that passes our null check and leads to unexpected behaviour or down the line.So what should we do? Simple -
Benefits of SlingSafeMethodsServlet with Code Examples by Brian Ka Sing Li Overview A robust security strategy is pivotal to safeguarding applications. As an AEM developer, we must really understand the SlingSafeMethodsServlet, an invaluable feature within the Apache Sling framework. This article explores the core concepts, practical benefits, and the heightened security it brings to servlet development. The org.apache.sling.api.servlets.SlingSafeMethodsServlet is an extension of the trusted HttpServlet in Apache Sling, introduces a focused approach to reinforcing security by limiting HTTP methods to read-only operations. This deep dive into its functionality unveils the foundation upon which secure servlets can be built
AEM 6.5.5 Not Indexing Problem *Fixed* by Brian Ka Sing @sourcedcode.com Overview In the course of establishing a new multitenant website, we opted to re-use the search mechanism for both site1 and site2. However, following the deployment of our code to the cloud QA environment, a significant hurdle surfaced: site2’s search consistently failed to produce results. This revelation made us to invest considerable effort in a detailed debugging journey. Follow this step-by-step guide below as we transparently outline each phase of our process to resolve this issue.Click here to review the entire blog -> https://sourcedcode.com/blog/aem/aem-6-5-5-not-indexing-problem-fixed
Hi, generatePDFOutputBatch function producing output documents double the amount of input map. Please find the scenario below sample code snippet. I am sending two templates with xml data and expecting two PDF documents as output, but it's produce 4 documents. I am bit confused, Any help please. Thanks. input Maps:Map templates = new LinkedHashMap();Map data = new LinkedHashMap(); templates.put("xyz", "xyz.xdp");templates.put("abc", "abc.xdp"); data.put("xyz", new Document(xml1))data.put("abc", new Document(xml2)) BatchOptions bo = new BatchOptions();bo.setGenerateManyFiles(true); ret = outputService.generatePDFOutputBatch(templates, data, option, bo); Output:I am getting double the amount of documents in output like below metadata enties. <?xml version="1.0" encoding="UTF-8"?><!-- Created with Liquid Technologies Online Tools 1.0 (https://www.liquid-technologies.com) --><printBatchMetaData><batchId /><recordMetaDa
Hello All! One of our awesome Tier 3 Support Engineers, Chance Bjarnson, will host a customer Office Hours Webinar on December 6th @ 9am MST. The topic will be Proof Approval Reports. We’d love to have you & your teams join! Here’s the registration link & outline for the session.https://event.on24.com/wcc/r/4408319/4D0FBE892A1FB414B4FAA59C5EC26F29Proof Approval ReportsProof Approval Historical RecordTextmode for Proof Approval ReportsCommon PitfallsTroubleshooting StepsLive demo
Adobe Campaign now supports OAuth for authentication in the External API workflow activity. This new capability opens up the ability for this activity to communicate with systems requiring OAuth support. For more information refer to the detailed documentation: External API 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 Standard product, then kindly submit them here.
I would love to chat with others that have used Workfront specifically for Construction projects. The timelines for these projects always seem to be a moving target and are dependent on permits and outside factors, so I would like to learn from others that have used the software to help improve their process.
Hi, We need to shorten some DAM PDF url in our website. E.g. if PDF Path is: /content/dam/cms/myproject/resources/documents/mydoc.pdf, on page, whether is a href or img src, It should display like /Documents/mydoc.pdf Added rule as below in Sling Resource Resolver Factory: ^/content/dam/cms/myproject/resources/documents/</Documents/ When I try to check if it maps to right url, it looks all good. However, It does not shorten PDF urls on the Pages, whereas all rewrite rules for Pages work fine. 1) Do we need to write custom sling rewriter to handle this scenario? OR 2) Something is missing out here? FYI:@arunpatidar @ AvinashGupta01 @kautuk_sahni ,
Welcome New Workfront Admins! I imagine you have at least one question about Workfront and aren’t sure who to reach out to or where to go. Lucky for you, the Adobe Workfront Customer Success team is here to help! We can point you in the right direction, provide resources and recommendations, and ensure that your Workfront journey starts off on the right foot. Designed for beginner system administrators, this 3-part event series is not only a learning opportunity, but also a platform for you to ask questions, engage with other brand-new admins, and start expanding your Workfront network. We encourage you to register and attend all 3 sessions, if possible. If the dates and times don’t work for your schedule, no worries, we’ll be repeating these quarterly along with offering additional opportunities to learn and network. Be sure to check the Events page on Experience League for all upcoming events. September 19 at 8am PT / 11am ET - Admin 101: Getting Star
Enhancing Efficiency and Reliability by Sling jobs by Aanchal Sikka Overview Sling Jobs in AEM serve as a valuable mechanism for handling asynchronous and background tasks. These jobs are particularly beneficial for managing long-running or resource-intensive operations without disrupting the web application’s request-response cycle. They enhance the standard OSGi EventAdmin eventing mechanism by guaranteeing at least once processing, which is essential for use cases like sending notifications, post-processing content, and managing workflow steps. For details, refer to: https://techrevel.blog/2023/11/06/enhancing-efficiency-and-reliability-by-sling-jobs/ Q&A Please use this thread to ask questions relating to this article
@kdatta @arunpatidar @anchal @aanchalsikka
Seamless Integration of Vue.js in AEM Project by Sady_Rifat Overview In the rapidly evolving landscape of web development, technologies like AngularJS and jQuery have become outdated, urging the industry to transition towards more modern stacks. Enter VueJS, a cutting-edge framework that offers the best of both worlds. By seamlessly integrating VueJS into AEM projects, developers can harness the power of a modern, robust framework while continuing to benefit from the efficiency of HTL. This article serves as a comprehensive guide, demonstrating how VueJS can be integrated effectively by a non-SPA approach within AEM projects. Read Full Blog There are four parts in this series: Part 1: Overview Part 2: VUE 3 Setup Part 3: Create a Component Part 4: State Management Q&A Please use this thread to ask questions relating to this article and feel free to give any suggestions or corrections.
Our Adobe Digital Experience Communities are the heartbeat that connect, engage and empower our users to create game-changing digital experiences leveraging Adobe solutions. The Community Advisor program is a prestigious year-long initiative that recognizes outstanding users of Adobe Experience Cloud products. Community Advisors are distinguished as thought leaders and experts in their field, consistently demonstrating their expertise through active engagement, providing valuable insights, and setting an example for others. By fostering a thriving and supportive community, the program encourages peer-to-peer learning and offers a platform where users can freely exchange knowledge, receive assistance and contribute to the collective growth of the community. What are the program benefits? Quarterly calls with the Adobe product teams Vouchers for Adobe Experience Cloud certifications Opportunity to participate in beta testing and early adopter programs Opportunity to inf
I have an experiencefragment component that has a checkbox. I want to show this checkbox by default in the editor dialog box and hide it only when this experiencefragment component is used in a structure for a specific template. The problem is that I cannot disable this checkbox using the config provided here. This is the template structure:<root jcr:primaryType="nt:unstructured" sling:resourceType="xxx/components/structure/container"> <header jcr:primaryType="nt:unstructured" sling:resourceType="xxx/components/structure/header/feader" editable="{Boolean}true"/> <staging jcr:primaryType="nt:unstructured" sling:resourceType="xxx/components/content/experiencefragment" editable="{Boolean}true" cq:showOnCreate="{Boolean}false"/> <main This is the experiencefragment component _cq_dialog<logout jcr:primaryType="nt:unstructured" sling:resourc
Each month, the Adobe Workfront Customer Success team hosts FREE, interactive workshops on various topics for System Administrators. This month includes a NEW event type - Industry Circle - which will rotate industries on a regular basis. If you want to LEARN best practices, ASK questions and collectively brainstorm solutions, or CONNECT with other system administrators to build your network, sign up for one or all of the following events: January 5 at 9:00 a.m. PT – Connect: Admin Chat for Marketing & Creative January 8 at 6:00 a.m. PT - Connect: Workfront Collective [formerly Strategic Admin Chat] January 11 at 7:00 a.m. PT - [Product Release Webinar] What's new in Workfront 24.1? January 17 at 8:00 a.m. PT - Admin 101: Getting Started with Workfront January 24 at 8:00 a.m. PT – Learn: Adobe Workfront 24.1 Release Round Up February 8 at 9:00 a.m. PT – NEW! Industry Circle: Higher Educ
Step 1: Create a global map for storing your keys. Create a map and add the keyref element to it. <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE map PUBLIC "-//OASIS//DTD DITA Map//EN" "technicalContent/dtd/map.dtd"> <map id="map.ditamap_ffbdbf06-8658-4311-ad84-1c631bba904f"> <title>global-keys-map</title> <keydef keys="adobe"> <topicmeta> <linktext>Adobe Systems</linktext> </topicmeta> </keydef> <keydef keys="AEM"> <topicmeta> <linktext>Adobe Experience Manager</linktext> </topicmeta> </keydef> </map> Here we have defined two definitions, as shown above, provided a keyref as “AEM” for the “Adobe Experience Manager” text. Step 2: Add this global key map to your publication map. Now add this map to your publication map <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE map PUBLIC "-//O
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.