Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
I've been following the WKND tutorial again (https://experienceleague.adobe.com/en/docs/experience-manager-learn/getting-started-wknd-tutorial-develop/project-archetype/component-basics)Although it was going well, I've now run into an issue where 'npm run watch' does absolutely nothing similar to what happens in the instructor's video. I first followed the tutorial on my own project which I made from just the archetype, and when reaching the part where I'm supposed to run 'npm run watch', it ran a localhost:8080 instance instead of just building the frontend, and it ended up completely removing any and all CSS on the actual pages I wanted to work on when I ran it like the tutorial did. After debugging and searching for a while I simply gave up on that end due to not finding any answers. At first I believed it to be an issue with my project, so I cloned it from the github repository provided by the tutorial, switched to the tutorial/component-basics-solution and ran 'npm run watch'
Universal Editor with Classic AEM Components by @daniel-strmecki Introduction The Universal Editor is Adobe's new, modern content editing interface for AEM. It provides a seamless editing experience across sites, experience, and content fragments. While it’s tailored for headless and edge delivery, as the name suggests, it is designed to be universal. Therefore, it can be used for editing any website, regardless of the framework or technology used to deliver it. This includes classic AEM delivery that uses components built with HTL and Sling. In this post, we'll walk through the steps required to make classic AEM components work with the Universal Editor. We'll demonstrate the feasibility of this approach, while also discussing whether and when it makes sense to migrate and what alternatives we should consider first. Key points Adobe 's Universal Editor is definitely the future of AEM authoring. It is modern, headless, editor-friendly, and designe
Hi All, With the new Cloud SDK apache POI JAR gets shipped along with SDK and while running my test case i am getting this error .java.lang.NoClassDefFoundError Could not initialize class org.apache.poi.xssf.usermodel.XSSFWorkbook Earlier i had imported the JAR from the dependency.How to fix these issues. How we can fix this .Any inputs are highly appreciated. Thanks
Don’t miss your chance to apply for the 2026 Adobe Experience Maker Awards by 11:59 p.m. PT on October 31, 2025! Finalists and winners will have the opportunity to amplify and showcase their success through: Visibility on Adobe for Business channels, including social media, blogs, websites, and email newsletters. Features in Adobe-sponsored assets, such as video interviews, customer stories, and vision demos. Speaking engagements at Adobe Summit and other high-profile webinars and events. Networking and community building with elite advocacy groups such as Adobe Champions, User Group leaders, and Community Advisors. In addition, two representatives from each finalist company will receive complimentary Adobe Summit passes and invitations to the Adobe Experience Maker Awards gala in Las Vegas on April 19, 2026, where all winners will be revealed. This is your last chance — no further ex
Don’t miss your chance to apply for the 2026 Adobe Experience Maker Awards by 11:59 p.m. PT on October 31, 2025! Finalists and winners will have the opportunity to amplify and showcase their success through: Visibility on Adobe for Business channels, including social media, blogs, websites, and email newsletters. Features in Adobe-sponsored assets, such as video interviews, customer stories, and vision demos. Speaking engagements at Adobe Summit and other high-profile webinars and events. Networking and community building with elite advocacy groups such as Adobe Champions, User Group leaders, and Community Advisors. In addition, two representatives from each finalist company will receive complimentary Adobe Summit passes and invitations to the Adobe Experience Maker Awards gala in Las Vegas on April 19, 2026, where all winners will be revealed.&
Spectacular customer experiences don’t just happen— they’re imagined, built, and brought to life by Experience Makers like you. Now it’s your turn to take center stage. Submissions are open through October 17, 2025, at midnight PT. Whether you are scaling personalization, uniting content and data, or transforming engagement through AI, we want to hear how you’re reimagining customer experiences with Adobe applications. Explore the 2026 award categories Each company can apply in up to three of ten categories, with opportunities for individuals, teams, and companies: The Advocate – Demonstrates a customer-first approach to delivering personalized journeys with Adobe applications. The Ambassador – Shares Adobe product expertise and best practices to help peers and colleagues create exceptional experiences with Adobe applications. The Catalyst – Uses Adobe Real-Time CDP to unify data, enable engag
Spectacular customer experiences don’t just happen— they’re imagined, built, and brought to life by Experience Makers like you. Now it’s your turn to take center stage. Submissions are open through October 17, 2025, at midnight PT. Whether you are scaling personalization, uniting content and data, or transforming engagement through AI, we want to hear how you’re reimagining customer experiences with Adobe applications. Explore the 2026 award categories Each company can apply in up to three of ten categories, with opportunities for individuals, teams, and companies: The Advocate – Demonstrates a customer-first approach to delivering personalized journeys with Adobe applications. The Ambassador – Shares Adobe product expertise and best practices to help peers and colleagues create exceptional experiences with Adobe applications. The Catalyst – Uses Adobe Real-Time CDP to unif
Spectacular customer experiences don’t just happen— they’re imagined, built, and brought to life by Experience Makers like you. Now it’s your turn to take center stage. Submissions are open through October 17, 2025, at midnight PT. Whether you are scaling personalization, uniting content and data, or transforming engagement through AI, we want to hear how you’re reimagining customer experiences with Adobe applications. Explore the 2026 award categories Each company can apply in up to three of ten categories, with opportunities for individuals, teams, and companies: The Advocate – Demonstrates a customer-first approach to delivering personalized journeys with Adobe applications. The Ambassador – Shares Adobe product expertise and best practices to help peers and colleagues create exceptional experiences with Adobe applications. The Catalyst – Uses Adobe Real-Time CDP to unify data, enable engaging digital experiences, and ensure strong data governance with Adobe applications. T
Spectacular customer experiences don’t just happen— they’re imagined, built, and brought to life by Experience Makers like you. Now it’s your turn to take center stage. Submissions are open through October 17, 2025, at midnight PT. Whether you are scaling personalization, uniting content and data, or transforming engagement through AI, we want to hear how you’re reimagining customer experiences with Adobe applications. Explore the 2026 award categories Each company can apply in up to three of ten categories, with opportunities for individuals, teams, and companies: The Advocate – Demonstrates a customer-first approach to delivering personalized journeys with Adobe applications. The Ambassador – Shares Adobe product expertise and best practices to help peers and colleagues create exceptional experiences with Adobe applications. The Catalyst – Uses Adobe Real-Time CDP to unify data, enable engaging digital experiences, and ensure strong data governance with Adobe applicat
Hi, I have a user that is not receiving any notification emails from Workfront apart from when they are tagged in a comment. They have everything turned on in their user settings, is there another location where these notificaitions could be configured? Thanks
Each month, teams across Adobe Workfront host FREE webinars, interactive workshops, customer panels, and open Q&A sessions on various topics for System Administrators. 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: September 5 at 9:00 a.m. PT – Connect: Admin Chat for Marketing & Creative September 9 at 8:00 a.m. PT – Admin 101: Getting Workfront Data September 16 at 8:00 a.m. PT – Admin 101: Bring Your Questions September 17 at 11:00 a.m. PT – Making JSON sing with Workfront Fusion + JSONata September 22 at 6:00 a.m. PT – Workfront Collective September 23 at 9:00 a.m. PT – Fast and Functional: Blueprints in Adobe Workfront September 30 at 8:00 a.m. PT - Pitch Perfect: Defining & Communicating Workfront Value October 2 at 10:00 a.m. PT - Wak
Wow—What a Kickoff! 🎉 On 12th August 2025, the London AEM User Group held its very first session—and the energy was off the charts! Over 20 AEM pros tuned in for a lively, practical conversation on the question every team is weighing right now:👉Should we move to AEM 6.5 LTS or AEM as a Cloud Service (AEMaaCS), including Edge Delivery Services (EDS)? The chat was buzzing, the questions were sharp, and more than a few people admitted this decision feels like “choosing between two favourite children.” 😅 Honestly, you had to be there—the mix of energy and ideas was contagious.This wasn’t just another meetup; it felt like the foundation of a local AEM family, where curiosity and collaboration take center stage. A recording of the 42-minute session is available for anyone who couldn’t attend live. Speaker Highlights 🎤 @jineet_vora , VP Lead Software EngineerBroke down why the question isn’t “Which is better?” but “Which i
Dynamic Page Publishing in AEM Edge Delivery with BYOM and App Builder by Lars Auffarth Introduction Bring Your Own Markup (BYOM) is a powerful feature of Adobe Experience Manager (AEM) Edge Delivery Services that allows you to programmatically generate HTML pages from a dynamic HTTP endpoint. Rather than relying on authored content or documents, BYOM enables automated page rendering from APIs, product databases, or other backend systems - while still using the same semantic blocks and styling shared across your AEM site. In this post, we’ll explain how BYOM works, how it fits into the AEM Edge Delivery Services rendering pipeline, and how to integrate it cleanly using Adobe App Builder. Key Points BYOM is ideal for building dynamic, API-driven pages in AEM Edge Delivery Services - without sacrificing performance or consistency. In this post, we’ll walk through: What BYOM is and how to think of it as an “HTML API” How BYOM fits into the Edge Delivery Services publication fl
Hi All, I see some issues with Repoinit. I'm using the script below to apply permissions to all the child nodes under /content/experience-fragments/global-branding. The permissions are being applied only to the folder and not to the XFs (cq:Page). Specifically, only the read permission is being applied, not the modify permission. I have even deleted the service user and reinstalled the packages, but no luck.Has anyone encountered a similar issue? Please let me know. org.apache.sling.jcr.repoinit.RepositoryInitializer~project.cfg.json{"scripts": ["create path /conf/test (sling:Folder)","set ACL for everyone\nallow jcr:read on /conf/test\nend","create service user brandWriteUser","set ACL for brandWriteUser\nallow jcr:read, jcr:write, jcr:modifyProperties, jcr:addChildNodes, jcr:removeNode on /content/brand/en\nend","set ACL for brandWriteUser\nallow jcr:read, jcr:write, jcr:modifyProperties, jcr:addChildNodes, jcr:removeNode on /content/experience-fragments/global-branding\nen
You have a robust multi-subscription model using Marketo Custom Objects, where each Subscription+Person combo has robust metadata about when somebody subscribed/unsubscribed, why, and how. The boss goes, “Can we get a scheduled report of people who subscribed to any newsletter in the past month?” You know just what to do: Then they throw in “Can we compare that to the 2 prior months?” You almost say, “Sure” but decide to play around a bit. Then the uh-oh hits you. First, the between operator won’t work because it requires hard-coded dates, and this is to be a dynamic Smart List: Next, you try to combine in past before and in past (like you would with person fields): But that’s got a fatal flaw: each filter may be looking at a different CO record, i.e. a different newsletter! This Smart List fetches people who: (a) have at least one Subscriber record with Subscribed At earlier than 1 month agoAND(b) have at least one Subscriber record with
We upgraded our AEMasCS to Java21 by Sarav Prakash Overview Sharing the steps followed, problems faced and fixes workarounds made. https://medium.com/@bsaravanaprakash/we-upgraded-our-aemascs-to-java21-0c6b4a90f76d Q&A Please use this thread to ask questions relating to this article
Enable Universal Editor on any React app in 4 easy steps by Saravana Prakash OverviewBullet point instructions for activating Universal Editor on any React application. This article specifically covers using AEM as Headless Content Provider. The react application runs graphql query; fetches content and renders. By enabling universal over the react application, content authors can seamlessly edit content, in a user-friendly intuitive way. Previous authoring experience expects authors needing AEM training. Universal editor simplifies this experience. https://medium.com/@bsaravanaprakash/enable-universal-editor-on-any-react-app-in-4-easy-steps-e7c454af6008 Q&APlease use this thread to ask questions relating to this article
Streamlining Data Integration: Edge Network, AEP and Google Campaign Manager 360Kritika Pareek, Julien Piccini Integrating Adobe Experience Platform (AEP) with Google Campaign Manager 360 (CM360) to track and send conversion events from the Adobe Edge Network was a challenging but rewarding project. CM360, unlike AEP, isn't optimized for direct event streaming, necessitating creative solutions to bridge the gap. Business Use Case The objective was to establish a reliable method to forward conversion events from Adobe Edge Network to CM360. We tried reduce reliance on client-side scripts and improve data accuracy. The solution utilized the Campaign Manager 360 API to upload conversions in batch format, ensuring seamless integration while aligning with CM360’s attribution models and reporting standards. Project Context The project focused on forwarding the conversion events from AEP to Google
window.postMessage and corresponding window.onmessage listeners enable secure communication between cross-origin windows, including IFRAMEs. The postMessage API is ubiquitous, used by popular JS widgets like media players (YouTube, Spotify), meeting schedulers (Calendly), chat popups, and forms[1]. Code in the main window listens for messages from these widgets and relays data to analytics dashboards, MAPs, and so on. To make the “secure” part a reality, it’s standard to check the origin property of every message to ensure it came from a known child window:[2] window.addEventListener("message", function(e){ if( e.origin !== "https://video.example.ly" ) return; // do lots of special stuff with e.data, like sending a Munchkin // "clickLink" event }); Browsers guarantee the origin of MessageEvents sent via postMessage will be the document.location.origin of the sending window. Can’t get around it: if an IFRAME at https://pages.example.com/some/lp.html uses window.pa
AEM VLT IntelliJ Plugin: Streamlining AEM Development Workflows by Kostiantyn Diachenko Overview AEM Devs - here's a free plugin that'll change how you work with JCR If you're still toggling between IntelliJ, CRXDE Lite, and terminal windows to manage AEM content, this one's for you. I introduces a powerful yet lightweight plugin that integrates FileVault operations right into IntelliJ. The AEM VLT IntelliJ Plugin provides a seamless way to synchronize content between your local development environment and AEM instances, leveraging the Apache Jackrabbit File Vault library for reliable content transfer. This plugin bridges the gap between your IDE and AEM repository, allowing developers to push and pull content directly from within IntelliJ IDEA. Whether you're working in local instances - this tool makes life a lot easier. Read more and see it in action: Full article on Medium Get it from marketplace: https://plugins.jetbrains.com/plugin/27469-a
AEM Rapid Launcher by Santosh Sai Overview Hi AEM developers 👋, I’m excited to share AEM Rapid Launcher, a lightweight Python-based GUI tool I’ve built to streamline local AEM project workflows — including launching Author/Publish instances, module deployments, Git-based project setup, and more. 🧰 Key Features: Start/stop AEM instances with a single click Deploy individual modules or full builds with profile support View and filter logs in real-time Clone/import AEM projects from Git Tabbed interface for Author, Publish, Dispatcher, and Config management 🌐 Read the full story & setup guide in my latest blog:🔗 https://techinnovia.com/simplifying-aem-local-development-with-aem-rapid-launcher/ 📦 Open Source on GitHub:🔗 https://github.com/github-santosh-sai/aem-rapid-launcher 💬 I’d love your feedback, suggestions, and contributions. Let’s make local AEM development faster and more delightful! Q&A Please
As the Workfront platform expands across different lines of business in your organizations, how are Admins solving for request queue access? Let's say we have a request queue for Marketing Materials, but only a subset of users in the organization needs access to the queue - are you sharing with groups, teams etc? How are you managing those assignments at the user level. Trying to brainstorm and think about how best to accomplish this without a ton of need for user management that takes up Admin time.
I’m part of the AEM Dynamic Media team. We collaborate with customers and partners to promote the adoption of Dynamic Media and share the best practices. Occasionally, we notice customer concerns regarding blurry or dull images delivered through Dynamic Media. Upon investigating these cases, I’ve identified three common reasons that can be effectively resolved by applying a few straightforward best practices. In this article, I’ll outline these practices and demonstrate how Dynamic Media can transform a high-resolution 26 MB TIFF file into a sharp, vibrant 35.6 KB AVIF image.Three Reasons Behind Blurry ImagesIngesting low quality imagesWe’ve observed that customers often use JPEG files as input for Dynamic Media. However, since JPEG is a lossy compression format, image details are often lost early in the workflow—before the files are even ingested into Dynamic Media. As a result, these images may already exhibit issues such as banding or compression artifacts.Overlooking Image Sharpeni
Thanks to your incredible participation in our first survey, we've uncovered insights into how Workfront supports strategic planning. Now, let's take the next step. Are you involved in project management, task assignments, prioritization, or resource management? If so, this quick 5-10 minute survey is for you. Your input today will directly shape tomorrow's tools. Heads Up: Two more surveys are coming soon - diving into content execution, and centralizing work & governance.Let's build the future of work, together.Thanks for being part of the journey!
Instead of iterating/filtering over items to create a new list of forms, fields or other objects, it literally takes 2 modules: The first to transform the object into JSON, the second JSONata. In JSONata you can filter / map (transform) and many other things. https://tryjsonata.org for online learning/testing - just slap the JSON in here and work out the set of functions.My use case: I have a data CSV to import, where each row has a column that is a dropdown in WF. So I want to check: remove any WF option that is not in the new data file add any option that is not yet in WF. The JSONata expression is this: ( $importList := {{31.json}}; /* from a previous transformToJSON module */ $existing := {{30.json}}; /* from a previous transformToJSON module */ $oktokeep := $filter( $existing, function ( $v ) { $v.value in $importList ? true:false }); $toadd:= $map($filter( $importList , function ($v){ ( ($v in $existing.value) ? false :true ) }), function ($v) { { "objCode": "POP
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.