Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
AEM Cloud Service — Composite Multifield in Content Fragments Editor(New Editor by Albin Issac Overview In this post, we’ll explore how to enable multifield support in the new CF Editor — a common requirement in many implementations. While one approach is to use a reference Content Fragment Model, having a true multifield is often more intuitive and flexible. Read more here - https://medium.com/tech-learnings/aem-cloud-service-composite-multifield-in-content-fragments-editor-new-editor-8021bf11f8b6?sk=9c680ac41b3771481cfc6a7545a8c66a Q&A Please use this thread to ask questions relating to this article
Reuse Common Dialog Parts in AEM Components by Mahedi Sabuj Overview One of the recurring challenges in AEM development? 𝗗𝘂𝗽𝗹𝗶𝗰𝗮𝘁𝗶𝗻𝗴 𝗱𝗶𝗮𝗹𝗼𝗴 𝗳𝗶𝗲𝗹𝗱𝘀 like text color, background color, or alt text across multiple components. It’s repetitive and error-prone. 𝗧𝗵𝗲 𝘀𝗺𝗮𝗿𝘁𝗲𝗿 𝘄𝗮𝘆: Create 𝗿𝗲𝘂𝘀𝗮𝗯𝗹𝗲 𝗱𝗶𝗮𝗹𝗼𝗴 𝗳𝗿𝗮𝗴𝗺𝗲𝗻𝘁𝘀 that can be included across different components. In this article, I dive into: How to reuse a common dialog 𝘢𝘴 𝘪𝘴 using 𝚐𝚛𝚊𝚗𝚒𝚝𝚎/𝚞𝚒/𝚌𝚘𝚖𝚙𝚘𝚗𝚎𝚗𝚝𝚜/𝚌𝚘𝚛𝚊𝚕/𝚏𝚘𝚞𝚗𝚍𝚊𝚝𝚒𝚘𝚗/𝚒𝚗𝚌𝚕𝚞𝚍𝚎 How to 𝗲𝘅𝘁𝗲𝗻𝗱 𝗼𝗿 𝗼𝘃𝗲𝗿𝗿𝗶𝗱𝗲 dialog properties using 𝚜𝚕𝚒𝚗𝚐:𝚛𝚎𝚜𝚘𝚞𝚛𝚌𝚎𝚂𝚞𝚙𝚎𝚛𝚃𝚢𝚙𝚎 — adding flexibility without losing reusability. For example, a 𝗰𝗼𝗹𝗼𝗿 𝗽𝗶𝗰𝗸𝗲𝗿 𝗱𝗶𝗮𝗹𝗼𝗴 𝗳𝗿𝗮𝗴𝗺𝗲𝗻𝘁 can be reused in any component, ensuring consistency and making updates a breeze. Even better, by extending these dialogs, you can customize fields while keeping a clean, maintaina
How to Fix Image Presets Not Syncing from AEM to Dynamic Media by Aanchal Sikka Overview If you’re working with AEM and using Dynamic Media for image delivery, you might run into an issue where your Image Presets aren’t syncing or publishing correctly. This can be especially frustrating when you’re trying to maintain consistent image styling across your site. Don’t worry—this guide walks you through a few proven steps to troubleshoot and resolve the issue. Q&A Please use this thread to ask questions relating to this article
Mastering Sling Filters in AEM By Neeraj Chaudhary Imagine you’re entering a building (your AEM website), and there’s a security guard at the entrance. Before you walk in, the guard can:Check your ID (authentication)Tell you to go to a different entrance (redirect)Make a note of who entered (logging)Ask you to wear a mask (set headers)A Sling Filter works just like that security guard. It checks and sometimes modifies the request before it reaches your actual AEM page or component. It can also update the response before it’s returned to the user.In short: Sling Filters sit in the middle of every request and response, letting you add custom logic like checking, blocking, redirecting, or modifying content.In this blog, we’ll explore Sling Filters, how they work, their real-world use cases, and how to implement them efficiently. Full ArticleRead the full article at https://medium.com/@neerajchaudhary856/mastering-sling-filters-in-aem-
Hi All,We have a use case where-in we are exposing a custom form on AEM Publish - This is sitting behind an IDP (Okta) so only authenticated users can fill the form.The form is used to modify content fragments, create content fragments (if necessary) and so on - basically CRUD operations on Content Fragments. AFAIK we will not do this on Publish because the cloud containers are dynamic and syncing to Publishers doesn't make sense. Also, reverse replication in AEMaaCS is not available to that's not an option either. There is an approach to use Adobe IO runtime action to basically have a function pass the payload from the form to AEM Author and then have the servlet execute CRUD operations on CFs before replicating and publishing it to Publishers. Query 1 - Is this approach the best possible way?Query 2 - Setting up a runtime action is not exactly straight forward - I tried following Adobe's documentation on the same- Adobe I/O Runtime Action and AEM EventsCreating Ac
Hello there - we setup the self service log forwarding (https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/implementing/developing/log-forwarding#https) using https and so far its been working well but the logs are fairly large and sometimes causing issues with our API that receives them. Is there a way, on the AEM config side, to select which logs are being passed? I know we can limit the aem and/or cdn logs only but we want to get more granular.i.e. aemaccessaemerroraemrequestaemdispatcheraemhttpdaccessaemhttpderrorCan I set only the aemerror log from publisher or only the aemaccess log from author? Thanks,
HiI have the following question: Is it possible to ingest data into an Experience Event schema using Data Distiller in Adobe Experience Platform, and have those records act as triggers for a Journey in Adobe Journey Optimizer? My scenario would be:- Generate/transform data using Data Distiller (Query Service).- Write the results into a dataset based on an Experience Event schema enabled for profile.- Use those events as triggers in an AJO Journey (similar to realtime ingested events). I'd like to confirm if events generated by Data Distiller can be considered as “unitary events” for Journey Orchestration, or if the only supported method is real-time or batch ingestion from external sources. Thanks.
I have an EDS website with content edited in Google Drive. Could I edit the content of this website with Universal Editor instead of editing the Google Docx file?I looked for a tutorial or a step-by-step guide to use Universal Editor but there is none of this. Could you please help?
Hi Adobe Community,I'm encountering an issue while building my AEM project using the AEM SDK (cloud version). I followed all the steps as per the documentation, but the build keeps failing at the ui.frontend module.The error log shows: javascriptCopyEditError [ERR_REQUIRE_ESM]: require() of ES Module ...\node_modules\vargs\index.mjs not supported. Instead change the require of ...\vargs\index.mjs to a dynamic import() which is available in all CommonJS modules. It seems to be related to ES Modules not being compatible with require() in some part of the ui.frontend build, specifically during the execution of npm run prod.Here’s what I’ve tried so far:Running the build again using mvn -PautoInstallSinglePackage clean installUpdating node and npm versionsRemoving node_modules and reinstallingEnsuring compatibility with the AEM SDK versionDespite all this, the error persists. The rest of the modules build successfully; only the ui.frontend build fails.Can anyone pleas
Hi everyone,I have a issue when open content fragment as steps below,When clicking on a Content Fragment in /aem/start.html, the application open a new tab, but an error is displayed initially. However, after refreshing the page, the Content Fragment data loads correctly.Upon inspecting the browser console, a CORS (Cross-Origin Resource Sharing) error is observed. It's unclear why this issue is occurring specifically in the NON-PROD environment, as it doesn't appear in other environments.Please let me know if you’ve encountered a similar issue or have any insights on how to resolve it.cq-aem-headless-ui-admin?appId=aem-cf-admin&repo=author-pxxx-xxxx.adobeaemcloud.com&cq-aem-hea…:1 Access to fetch at 'https://author-xxxxx-xxxxx.adobeaemcloud.com/etc.clientlibs/toggles.json' from origin 'https://experience.adobe.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Hi everyone,I have a few path- and resource-based servlets.For path-based servlets, the URL starts like: http://localhost:4502/bin/test/v1/<identifier> Is exposing /bin to end users considered a problem? If yes, why so, since /bin/test/v1 is not a valid content path in AEM?In my case, I want to mask /bin/test/v1/<identifier> with a proxy. This proxy will be called from the client side, and I plan to add Apache rewrite rules to map the proxy URL back to the actual servlet. Is this the best way? For resource-based servlets, the URL starts like: http://localhost:4502/content/test/.../<page>.selector.extension I am masking these too with a proxy. Clients will call the proxy, and I’ll redirect it to the servlet API.My main question: Is writing Apache rewrite rules the best solution here, or would it be better to use something like Sling resource mapping? Thanks in advance!
Hi everyone, I'm working on a project using the aem-boilerplate-commerce in Edge Delivery Services and need to generate a sitemap-index.xml that references other sitemaps like categorias-sitemap.xml, productos-sitemap.xml, etc. Here’s an example of what I’m trying to achieve: <?xml version="1.0" encoding="UTF-8"?> <sitemapindex xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"> <sitemap> <loc>https://mydomain.com/sitemap-content.xml</loc> </sitemap> <sitemap> <loc>https://mydomain.com/categorias-sitemap.xml</loc> </sitemap> <sitemap> <loc>https://mydomain.com/productos-sitemap.xml</loc> </sitemap> <sitemap> <loc>https://mydomain.com/content-sitemap.xml</loc> </sitemap> </sitemapindex> In addition to serving this index, I’d also like to ask for suggestions on how to generate the content of each individual sitemap — especi
I'm trying to connect WORKFRONT using JWT way with PYTHON, I followed below guide but no luck, please help me out. Many thanks!!!Using JWT flow for custom OAuth 2 applications | Adobe Workfront Below is my code: I don't see anything wrong but workfront returns below error: '{"statusCode":400,"error":true,"type":"invalid_request","message":"JWT token is invalid."}'
Hi Adobe Experts, I’m trying to build an AEM project (using the latest SDK author-2024.11.18751) and the build keeps failing at the ui.frontend module.Initially, I faced the error: vbnetCopy codeError [ERR_REQUIRE_ESM]: require() of ES Module ...vargs/index.mjs is not supported. I followed previous suggestions to:Downgrade vargs to 0.1.0Delete node_modules and reinstallTry with Node.js 16.x and 18.xModify my package.json accordinglyAfter these steps, the ERR_REQUIRE_ESM error persists intermittently, and now I also get warnings like: cssCopy codenpm WARN EBADENGINE Unsupported engine { package: '@isaacs/balanced-match@4.0.1', required: { node: '20 || >=22' }, current: { node: 'v16.17.0', npm: '8.15.0' } } Additionally, Maven reports: nginxCopy codeProfile "autoInstallSinglePackage" could not be activated because it does not exist. Environment:OS: Windows 11 Home Single Language (24H2)AEM SDK: 2024.11.18751Node.js Versions Tried: 16.17.0 and 18.20.4npm
Hi All, I want to know if i can directly use environment variable for token in yaml file for splunk setup. I'm trying to setup splunk with aem as cloud: https://experienceleague.adobe.com/en/docs/experience-manager-cloud-service/content/implementing/developing/log-forwarding
Hi, Can we run AJO standalone without AEP-CDP module to send emails by uploading records via CSV file and creating custom audiences?for starting phase, we need to just start with AJO, and later phases plug in CDP. I know it's not recommended approach, just want to know any options.
How to look at the audience created in the Audience section in AJO?Is there any visibility to see the audience created by apart from the count as the detailed view of the audience created?
Description - Rich text fields have a few oddities when they are used in an External Lookup Field interaction. Rich text fields can cause External lookup fields to fail to be able to be selected OR result in an output that is not user-friendly. Why is this feature important to you - The more consistent a feature is in Workfront, the more likely it is that I can use it to design a useful and impactful UX for my team. How would you like the feature to work - Either bring in full support for user-friendly Rich Text results in External lookup fields, or give additional features in the setup of an External Lookup Field to allow for system admins to control the results of the field. Current Behaviour - 1. The 2,000 character limit on an external lookup field will run into a conflict pretty easily when returning the results of a rich text field which to my understanding has a 15,000 character limit. The results of a rich text field are
Description - Allow lookup field results to serve as the basis for display logic within a custom form. (Especially $$HOST-based fields) Why is this feature important to you - This would bring external lookup fields to parity with other selection-driven logic on other field types in Workfront. How would you like the feature to work - When a user makes a selection in an external lookup field, that field should be added to the list of possible display-logic and skip-logic choices in subsequent fields within the same custom form. Just as dropdown fields do today. This allows for greater control and intelligence within a custom form design process to ensure users are guided to selections that make sense for a particular end-goal. Current Behaviour - External lookup fields are not recognized by the system as valid choice for which a user can initiate display or skip logic.
I've been tinkering with setting up internally managed objects such as task or issue lists to serve as external lookup options for my users to select as part of a custom form workflow.I really like the ability to layer in 1-2 choices to drill down to a specific set of choices within a list. However, there is one point within the UI that makes it hard to drive adoption:Take for instance the list of 50 US States. If the Issue list I have set up lists all 50 states, those all appear in the external lookup multi-select dropdown as intended, but for a user to select all of the states, they have to click each state, click back into the lookup, click another state... It would be great if we could have a "Select All" interface to shortcut adding all of the possible values into the field. In which case just taking out 1-2 states of the 50 becomes much more user-friendly, rather than needing to add all 48 states via click.Has anyone ran into this UI limitation and found a way around it
Description - When using a $$HOST-based external lookup field and maintaining a data table, such as a list of US States, users currently have to click on each valid option that appears in the picklist for a multi-select-allowed External lookup field. Why is this feature important to you - This will bring parity to the External Lookup Field with the Multi-select Dropdown field. Much of the discussion around external lookup fields is that they can be used as a dependency-driven list of results that helps control front-end user input, especially when flowing through a custom form for an intake process. This really supports staying away from the "Garbage in, garbage out" trap of users mis-selecting options in an intake process. How would you like the feature to work - When "Multi Select Dropdown" is selected in the field setup, users should be given a UI-button that responds the same way the current Multi-select options (Dropdown, Checkboxes) works. A "Select All" opti
Hi All, I created a scenario where I plan for our users to reference specific projects with external lookup. Now, before I release it to users I need to backdate approx. 3000 objects but found that the system doesn't let me to do it. I use single select external lookup that filters projects by specific portfolio While I can access everything in the system I received the below message. Is the mass edit not possible on external lookup fields?
We are trying to create a column in text mode that shows the DateDiff between the issue entry date and the resolving project entry date. This seems like an easy feat, yet we cannot get the report to display anything once the text has been configured. This works when we implement it in a project report, but we're not able to get it to display info on the issue report. How would you write this to display the DateDiff in a rounded, whole number? We've tried at least 50 different variations of text code and nothing seems to work. Is this just not possible for our use case?
Description -I would like to see the My Projects and My Tasks widget column show the same way project and task view shows in project pages, whether or not the user access has filter edit. Why is this feature important to you - My Projects and My Tasks filter-grouping functions the same as projects and task filter-view-grouping, for users without filter edit permissions. It would make sense if users without filter edit permissions could also see My Projects and My Tasks column, since they can see projects and tasks view.How would you like the feature to work - All users can see My Projects and My Tasks columns, without having access filter edit permissionsCurrent Behavior -Only users with filter edit access permissions can see My Projects and My Tasks columns, without having access filter edit permissions
I am trying to build XF components guide in our AEM similar to AEM Core component Examples, but I need to render the HTML part from story book for the same component, and show in my core component examples page. right now OOTB has Properties, Mark up and JSON tabs, i will be added one more tab which says HTML or IFRAME. and then show the html i get from storybook. so wanted to represent how this component gets rendered in real time page.
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.