Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recently active
Hi all, I am trying to understand Flow of Control in AEM - Front end to Middle layer to back end. Let us assume I have created a template T, components C1, C2 and C3.I created a page P using this template and configured all components.Front end is in Sightly and Back end is in Servlets, Sling Models and OSGI Services. How to understand the flow of control, say from a button on front end? I could look at the components code, but they were configured during page P creation. Appreciate all your replies. Thanks,RK.
We are encountering a recurring issue in our Adobe Campaign environment involving a persistent database cursor process that appears to be related to nlserver_web_xxx. Specifically, we are observing entries such as: Fetch 30 FROM cur2383 This cursor remains in an active state in the database and does not get released, even though there are no active campaigns or workflows running at the time. As a result, it is locking certain tables that are critical for our nightly data refresh processes. What is the purpose of this nlserver_web_xxx process and the associated cursor (e.g., cur2383)?Why does the cursor remain active and not get released automatically?
By @surebee and @vinayso With optimization programs becoming essential for businesses, a question we often see in consulting from clients is how they can improve their existing program. Improving your optimization program can be a daunting task, but it doesn’t have to be! The ideal state for an optimization program can look different based on your organization’s resources, testing objectives and KPIs - there is no one-size-fits-all approach. We’ll review different aspects of optimization programs and what we’ve seen helps to improve them. Assess current state The first step is to establish a ‘baseline’ where you will want to assess where you are currently in your program. Having a good understanding of your current state will reveal areas to improve to effectively scale your optimization program. Start by taking an inventory of your resources, testing workflows, and processes. Adobe technology stack Get a good understanding of the
Details The features in this release focus on Content Generation Through Intelligence, Accelerated Activation, and Cloud Foundation and include the following: AEM Sites: Content Fragment Auto Tagging Remote Asset Support in Content Fragment Editor AEM Sites, Assets, Forms Translation Management APIs Cloud Foundation: AEM 6.5 LTS (Long-term Support) Extending SLA reporting to Edge Delivery Services 99.99 One-click Edge Delivery Services Site Creation Release Overview Video Watch the comprehensive release overview video to get an in-depth understanding of the enhancements brought by AEM 2025.02.0. Seed Q&A Please use this thread to ask questions related to this release. See all the Previous Releases here and the Current Release Notes here.
Hard to put a number on it, but I’d bet 51% of Marketo users don’t realize a non-empty SFDC Type field doesn’t mean the record is synced to SFDC. Same with a non-empty SFDC ID. That’s right: someone can have SFDC Type = Contact and SFDC ID = 003BLAHZAYBLAHBLAH and there may be no trace of them in SFDC. Why? Because those fields come from the last time they were synced and will not be updated unless they’re synced with another SFDC record in the future. And that last connected SFDC record may have been completely deleted. Don’t believe it? Create a Smart List like this: You might see thousands of records. (If you regularly delete people who have SFDC Is Deleted = true, the number won’t be as high.[1]) This came up recently on Marketo Nation, when someone wanted to add the person’s current SFDC Type to certain alerts (e.g. type=L or type=C). This can be done via a Formula field: N.B. Formula fields can’t be used in filters, only in {{lead.tok
We are pleased to announce the General Availability of several new enhancements to AEM Content Hub. Watch this short video for a quick overview of Content Hub.Here is a quick summary of the enhancements:Attribute-based Access Control (ABAC)Content Hub now allows you to apply rule-based restrictions to access assets. Asset permissions ensure governance and makes sure that only the relevant assets are accessible to users.Public link sharingContent Hub now supports generating shareable links to allow external users, to view asset metadata or download assets. Recipients of the shared link don’t need to be entitled for Content Hub.Dynamic Media renditions in Content HubAccess all your Dynamic Media preset renditions and smart-crops for download (for single asset or across multiple assets), directly from within the Content Hub User Interface.Download multiple assets as a ZIPContent Hub now also allows you to download the selected assets and their renditions in a ZIP file and not as separate
hi all, I'm struggling to find a way to read env. variables set on the cloud manager configuration and provide them in cypress script during pipeline execution.Also, another option would be to define vars as part of the osgiconfig module and access it from there. Thank you
June '25 release notes Check out what's new and improved in the latest Adobe Journey Optimizer product release update: Release Notes New capabilities RCS Messaging: Rich Communication Services (RCS) messaging is now supported in the Journey Optimizer, enabling the following enhanced messaging capabilities subject to provider and carrier support: Branded and verified sender support: Send messages using verified business profiles with branding elements (logo, sender name, etc.). Message delivery insights: Receive detailed delivery reports including message status updates (e.g., sent, delivered, read). Link tracking: Embed and track URLs within RCS messages for engagement analytics. Fallback to SMS: Automatic fallback to SMS when the profile's device does not support RCS or is temporarily unreachable via RCS. Basic message composition: Send text-based RCS messages with optional media and rich elements, depending on provider support. Form fields in code-based experience
Join the conversation as part of the AEM Assets - DAM Global User Group!This is your chance to connect with digital asset management (DAM) AEM Assets professionals from around the globe. Whether you're just starting out or a seasoned expert, this group offers a space to share experiences, explore best practices, and grow your network. Join a community of like-minded individuals who are just as passionate about DAM as you are.The Kick-Off meeting is coming up on Thursday, July 24 at 10am EST | 3pm UK | 4pm CEST. You'll be able to RSVP upon enrolling in the user group.Join the AEM Assets - DAM Global User Group Chapter here: https://aem-augs.adobe.com/aem-assets-dam-global-user-group/?cgen=QQ42NXYF&mv=other
Details The features in this release focus on Experience Manager Sites and Sites Optimizer and include the following: AEM Sites: Generate Variations Universal Editor extensions for Crosswalk use-cases Sites Optimizer: New Product Launch Release Overview Video Watch the comprehensive release overview video to get an in-depth understanding of the enhancements brought by AEM 2025.03.0. Seed Q&A Please use this thread to ask questions related to this release. See all the Previous Releases here and the Current Release Notes here.
B2B customer journeys don’t follow a straight line. Multiple stakeholders, disparate data sources, and long sales cycles make it tough to see, let alone optimise, the full path to revenue. Adobe’s new Customer Journey Analytics B2B Edition (CJA B2B) changes that by unifying all your marketing, sales, and product-interaction data on Adobe Experience Platform and turning it into ready-to-use insight you can act on today: Unlock groundbreaking insights to elevate account and buying group experiences with Adobe Customer Journey Analytics B2B Edition Watch Overview Why this release matters CJA B2B gives analysts, marketers, and sellers one shared analytics workspace, so everyone can make decisions from the same source of truth. It stitches together online and offline signals at the individual, buying-group, account, and opportunity levels, delivering multi-layered journey analysis in minutes instead of months. Key capabilities 360° account journeys, out of the box: Connec
B2B customer journeys don’t follow a straight line. Multiple stakeholders, disparate data sources and long sales cycles make it tough to see, let alone optimise the full path to revenue. Adobe’s new Customer Journey Analytics B2B Edition (CJA B2B) changes that by unifying all your marketing-, sales- and product-interaction data on Adobe Experience Platform and turning it into ready-to-use insight you can act on today: Unlock groundbreaking insights to elevate account and buying group experiences with Adobe Customer Journey Analytics B2B Edition Why this release matters CJA B2B gives analysts, marketers and sellers one shared analytics workspace, so everyone can make decisions from the same source of truth. It stitches together online and offline signals at the individual, buying-group, account and opportunity levels, delivering multi-layered journey analysis in minutes instead of months. Key capabilities 360° account journeys, out of the box: Connect CRM
Below are different ways to retrieve accessibility metadata from a PDF stored in AEM DAM Dynamic Media.1. Extract Metadata Using AEM Metadata Schema EditorYou can configure AEM Metadata Schema to expose accessibility-related metadata fields.Steps:Navigate to Metadata Schemas:Go to AEM → Tools → Assets → Metadata Schemas.Edit the Default Metadata Schema:Select an existing metadata schema (e.g., default).Click Edit.Add a New Metadata Field for Accessibility:Click Add Field.Set Property Name to "pdfuaid:part" (for PDF/UA compliance).Set Type to "Text" or "Dropdown" (Yes/No for PDF/UA compliance).Save and apply to PDF assets.View Metadata for a PDF:Go to AEM Assets.Select a PDF file and click Properties.Navigate to the Metadata tab to see pdfuaid:part and other accessibility metadata.2. Extract Metadata Using CRXDE LiteAEM stores me
Hi Community I have a requirement where i want to show page path in the title for participant step workitem at http://localhost:4502//mnt/overlay/cq/inbox/content/inbox.htmlAs shown in below image i want to update this title dynamically
NoteIn part one of this series, I provided the reason why you would want to prevent collecting data from bot traffic and described the basic process on how to do so. This article provides a solution that helps you identify spam-like activity on your site that isn’t explicitly recognized as coming from a bot but nevertheless is worth blocking because of its useless nature.IntroductionMany clients that Adobe Consulting has worked with over the years have noticed web traffic patterns that could not be identified as explicit bot activity yet appeared robotic "enough" to warrant a second look. In many of the cases, the patterns showed normal looking "users" that would continually (and very quickly) hit a page over and over and over again to the point where they would generate thousands(!) of server calls without any recognizable reason for doing so. In response, my Adobe colleague, Jeff Branson, produced an ingenious solution to this problem and called it the Hit Governor.
Introduction: Fast, Reliable Automation with GenAI—It’s Happening At Adobe, innovation and customer experience go hand in hand. We’ve already made great strides with Customer Use Case (CUC) Automation, simulating real-world workflows to catch bugs before they reach our users. Now, we’re taking that even further—by integrating Generative AI (GenAI) into our automation strategy. Our goal? To automate smarter, faster, and more intuitively—with AI as our co-pilot. While traditional automation requires manual scripting, GenAI helps us generate test logic, data, and even test scripts dynamically. We're combining human judgment with machine intelligence to evolve from test automation to intelligent automation. This blog dives into how we’re building this system, what it looks like under the hood, and why it’s changing the way we approach quality engineering. Why Traditional Automation Needs a Boost Automated testing has always been powerful—but it’s also labor-intensive.
Hi All, I've encountered an issue with inserting data into a qsaccel table created as a source for custom dashboards.I've followed the documentation available here: https://experienceleague.adobe.com/en/docs/experience-platform/query/data-distiller/sql-insights/reporting-insights-data-model and a very helpful article by @annamalai: https://experienceleaguecommunities.adobe.com/t5/adobe-experience-platform-blogs/harnessing-data-distiller-s-query-pro-mode-for-chart-authoring/ba-p/673218 I am able to create the table and use it as a source for dashboards (creating it as a result of select query), however for the use-case that I'm working on I would like to be able to insert data directly into the qsaccel table.When trying to execute the INSERT statement in Query Service, I get the following error: Error code: 42809Description: <MY_TABLE_NAME> is not a QsAccel Table Thank you in advance for any tipsKamil
The following filters are for a template report. They should help you see which templates are being used, or not. How often, or not. And when.Associated CUR PLN ONH projects (projects made from these templates are in progress)EXISTS:a:$$EXISTSMOD=EXISTS EXISTS:a:$$OBJCODE=PROJ EXISTS:a:statusEquatesWith=CUR PLN ONH EXISTS:a:statusEquatesWith_Mod=in EXISTS:a:templateID=FIELD:ID isActive=true isActive_Mod=eqAssociated Projects in Past year (these templates got used this year)EXISTS:a:$$EXISTSMOD=EXISTS EXISTS:a:$$OBJCODE=PROJ EXISTS:a:entryDate=$$NOW-1y EXISTS:a:entryDate_Mod=gte EXISTS:a:templateID=FIELD:ID isActive=true isActive_Mod=eqAssociated Projects (these templates got used at some point)EXISTS:a:$$EXISTSMOD=EXISTS EXISTS:a:$$OBJCODE=PROJ EXISTS:a:templateID=FIELD:ID isActive=true isActive_Mod=eqNo Associated CUR PLN ONH projects (no projects made from this template are currently open)EXISTS:a:$$EXISTSMOD=NOTEXISTS EXISTS:a:$$OBJCODE=PROJ EXISTS:a:statusEquatesWith=CUR PLN ONH EX
Introduction This blog post explores the data egress cases offered by Adobe Experience Platform (AEP) and Customer Journey Analytics (CJA). We'll examine each option's diverse functionalities, providing you with a clear understanding of their capabilities. We'll also analyze the strengths and potential limitations of each method, empowering you to make informed decisions when selecting the most suitable egress option for your specific needs and requirements. Our comprehensive review examines a broad spectrum of factors, including data processing capabilities, integration potential with external systems, scalability for handling large datasets, and user-friendliness of extract initiation. By thoroughly exploring these aspects, we aim to provide you with a robust framework for evaluating and comparing the diverse egress options available within AEP and CJA. To provide an up-to-date comparison of the various AEP and CJA data egress options as of May 2025, here's a summary matrix
Thank you for joining our Tech Session! Here are some additional resources to aid you in your migration journey: Data Variable Mapping XDM Variable Mapping Configure top and bottom of page events in Web SDK Customer Journey Analytics (CJA) Implementation - A must watch summit presentation! What goes into designing an XDM Schema? Migrate from AppMeasurement to the Web SDK Migrate Target from at.js 2.x to Platform Web SDK Migrate from Analytics mobile extension to Adobe Experience Platform Edge Network Migrate components and projects from Adobe Analytics to Customer Journey Analytics Set up consent with Platform Web SDK Adobe Experience Platform Edge Network API (1.0.0) (Edge API similar to the Analytics Data Insertion API)
I'm have a page with a template where all the components are configured in initial layout. Now I have created a new template with different resourceType and configured few components in initial layout and few components in structure as per my requirement. Since the page is dynamic and the data comes from a 3rd party service based on the ID from URL, I have to forward the request from the old page to new page which I have created and the ID will be appended to the new page so that dynamic data comes. The old page URL remains same but the layout changes based on the new page.Now I'm facing issue when the components are configured in the initial layout and the components under structure are loading in the page. But when I manually open the new page all the components are loading in the page. String newPath = "/content/aem/en_us/product.html";String oldPath = "/content/aem/en_us/categories.html"Resource res = request.getResourceResolver().getResource(newPath);if(res!=null){RequestDisp
Hi All,I’m currently working in AEM as a Cloud Service, and I'm in the process of creating author groups and assigning the appropriate permissions for my sites.Group A – Read-only accessGroup B – Write-only accessGroup C – Full accessTo achieve this, I am creating groups and assigning permissions as follows: I deny access globally using a rule like /content with deny and rep:glob="/*", then I explicitly grant read access to my specific site using /content/mysite with read permission. That is working fine. However, I'm encountering an issue: when I try to access /content/dam, I'm getting permission errors. Unfortunately, I haven't been able to configure it this way successfully. Could you please suggest how to achieve this setup? Specifically, I want to:Restrict global access to /content/damAllow access only to /content/dam/mysiteIs this possible to configure in AEM cloud? Any suggestions would be appreciated. Thanks
Introduction Holiday campaigns create immense pressure for retail marketing teams. Many multi-brand fashion retailers with extensive store networks face a familiar challenge: creating personalized promotional content for their holiday campaigns across multiple channels, customer segments, and regional variations. Before implementing the AJO-AEM Dynamic Media integration, this process typically involves: Graphic designers creating individual banner versions for each segment/region Manual file management across design, review, and deployment systems 2+ weeks of production time for each campaign wave Limited ability to modify campaigns once launched Let's explore how the AJO-AEM Dynamic Media integration can transform this approach, reducing production time from weeks to minutes while delivering more relevant experiences. The Challenge: Holiday Campaign Complexity A typical retailer's holiday campaign
I am trying to set cookie inside my sling model class but the cookie is not setting. Here is my sling model class @Model( adaptables = {SlingHttpServletRequest.class}, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL) public class TestModel { @SlingObject private SlingHttpServletRequest request; @SlingObject private SlingHttpServletResponse response; @PostConstruct private void init() { Cookie cookie = new Cookie("categoru", "11111"); cookie.setMaxAge(86400); // in seconds, 86400 = 24 hours. response.addCookie(cookie); // server response response.setStatus(200); } } But I am able to set the cookie successfully when I try to setup a cookie using servlet. Here is my servlet code.@8220494( service = { Servlet.class }, property = { SLING_SERVLET_PATHS + "=/bin/setCookieExample" } ) public class TestModelSer extends SlingAllMethodsServlet {
as above. The servlet would be of class org.apache.sling.api.servlets.SlingSafeMethodsServlet.The OSGI component would be of org.osgi.service.component.annotations.Component.Thank you.
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.