Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recente
AEM - Dedicated egress IP address by Adobe Abstract Learn how to set up and use dedicated egress IP address, which allows outbound connections from AEM to originate from a dedicated IP. What is dedicated egress IP address? Dedicated egress IP address allows requests from AEM as a Cloud Service to use a dedicated IP address, allowing the external services to filter incoming requests by this IP address. Like flexible egress ports, dedicated egress IP lets you egress on non-standard ports. A Cloud Manager Program can only have a single network infrastructure type. Ensure that dedicated egress IP address is the most appropriate type of network infrastructure for your AEM as a Cloud Service before executing the following commands. Read Full Blog AEM - Dedicated egress IP address Q&A Please use this thread to ask the related questions.
The fields under custom tab of page properties not loading intermittently in AEM 6.5.
Hi All/ @kautuk_sahni @arunpatidar I am trying to download the s3 data store connector from below given path https://repo.adobe.com/nexus/content/groups/public/com/adobe/granite/com.adobe.granite.oak.s3connector/ as mentioned in Adobe Documenthttps://experienceleague.adobe.com/docs/experience-manager-65/deploying/deploying/data-store-config.html?lang=enBut its throwing error seems to be link is broken same as been reported in below forum article but its closed without resolution.https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/request-to-provide-s3connector-1-10-0-zip-file/td-p/422528Please suggest.
Authors: Alexander Falca, Constantin Scacun, Eleanore Jin, Douglas Paton This blog is next in the series of how Pipeline powers Stream Processing in the Adobe Experience Platform. We take a deeper technical look into how we approached Stream Computing and unlocked it as a service for our clients. Introducing Adobe's streaming compute framework: Smarts Adobe Experience Platform Pipeline processes roughly 15 billion events a day. While this is an impressive number from a technology point of view, each one of these events needs to be processed in a way that is meaningful to our customers. The problem was that the sheer volume of events creates a huge amount of manual work for people. Along with the manual aspect of the work, it was virtually impossible to do any of the work, without the involvement of a developer who could produce the code necessary to properly process and filter the events. This created a situation that was burdensome and time-consuming for our customers. This led to cu
Authors: Richard Ding, Tamal Biswas, Hitesh Shah, and Steven Sit The following is a summary of how we deployed an orchestration service using Apache Airflow for Adobe Experience Platform. Modern big data applications need to connect to many different backend services and build sophisticated data pipelines or workflows. These workflows need to be deployed, monitored, and run either on regular schedules or triggered by external events. Adobe Experience Platform component services needed an orchestration service to enable their users to author, schedule, and monitor complex hierarchical (including sequential and parallel) workflows for Apache Spark (TM) and non-Spark jobs. What is the Adobe Experience Platform orchestration service? We have built an orchestration service to meet Adobe Experience Platform requirements. It is architected based on a guiding principle to leverage an off-the-shelf, open-source orchestration engine that is abstracted to other services through an API, and extend
Hi,We are using AEM with Target using mbox.js version 63. mbox cookie is set by the mbox.js on load of the pages that has the targeteted components. We would like to make change to get consent from user before setting of any cookies on their browser, For which I am looking for some option to disable setting of the mbox cookie on user browser. Can someone help me with right approach to achieve this.Thanks,Amuthesan
To help you ring in the holiday season, we’re launching a certification exam sale. Through the last day of the year, December 31, 2021, all certification exam vouchers will be an extra 20% off! Vouchers are good for one year. Use your learning funds for big savings Use your yearly learning funds now so that you don’t lose them when 2022 rolls around. Just visit the Adobe Certification Voucher Center to make your purchase and enter code Holiday21 at checkout. You have up to a year from the purchase date of any exam vouchers to use them. Here’s a breakdown that shows just how affordable exams are when you take advantage of the sale: Professional & RenewalCertification ExamsNormal priceIndia - $95 USDGlobal -$125 USDSale priceIndia - $76 USDGlobal -$100 USDAdobe Partner priceIndia - $51 USD Global -$67 USDExpert & MasterCertification ExamsIndia -$150 USDGlobal -$225 USDIndia -$120 USDGlobal -$180 USDIndia -$81 USDGlobal -$12
Custom Rich Text Editor (RTE) Plugins for Adobe Experience Manager by Bounteous - Lokesh Reddy Vajrala 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 Clien
Way to restrict Digital Assets type in AEM Touch UI pathbrowser by Debal Das Abstract Recently one AEM implementation query came to my notice and it really excited me to explore following JCR property named: predicate and AbstractNodePredicate class and of course it helped me to learn their usages also. Let’s get started with query and implementation steps. The query was how can we filter/restrict digital assets based on certain types during selection via touch ui pathbrowser. Inside DAM under a specific folder we can have different types assets like .pdf, .jpg, .jpeg, .png, .mp4 but the ask is only .jpg, .jpeg, .png, .mp4 will be available for content authors while content authoring via pathbrowser field. Now we have two choice in terms of implementation - Choice 1. Client side validation Choice 2. Server side validation Yes, you are correct I will talk about Server side validation here. The business logic i.e. filtering logic has been defined in below implementation class - /** * */
How to deal with the “TooManyCallsException” by Jörg Hoh Abstract I randomly see the question “We get the TooManyCallsException while rendering pages, and we need to increase the threshold for the number of inclusions to 5000. Is this a problem? What can we do so we don’t run into this issue at all?” Before I answer this question, I want to explain the background of this setting, why it was introduced and when such a “Call” is made. Sling rendering is based on Servlets; and while a single servlet can handle the rendering of the complete response body, that is not that common in AEM. AEM pages normally consistent of a variety of different components, which internally can consist of distinct subcomponents as well. This depends on the design approach the development has choosen. (It should be mentioned that all JSPs and all HTL scripts are compiled into regular Java servlets.) That means that the rendering process can be considered as tree of servlets, and servlets calling other servl
Enterprise DevOps with Adobe Cloud Manager by Bounteous - Aravindh Kumar Mari Abstract It has been a couple of years now since Adobe introduced its Experience Manager as a Cloud Service offering. Adobe Cloud Manager enables organizations to continuously evolve and improve the speed and ability to deliver a quality product. Organizations are tasked with adapting to new ways of working to stay relevant and deliver greater business value. To benchmark themselves and work on continuous improvement, clearly defined KPIs need to be established at the organization level. Traditionally teams get funded for a specific set of solutions to be developed and success is defined by delivery of the agreed-upon scope on time and on budget. Adjusting our approach to KPI-based development, the focus is on the business outcome and the teams need to benchmark themselves and thrive for continuous improvement. Tools and frameworks for KPI-based development have become imperative at the enterprise level so
Hi, i am trying to use two masterpage for my template,so i have two contents with each contents in each masterpage. to achieve this i am using pagination section of contents , where place option i selected "In ContentArea 'Masterpage1'" for content with first masterpage and for second content "In ContentArea 'Masterpage2'".Masterpage1 and Masterpage2 are contentarea of two masterpages respectively. But as a result i am getting a blank page with secondmasterpage in between two contents. Not sure what i am missing or doing wrong and getting this blank page. First and second master page just have difference of a single line. Is there any other easier way to achieve this implementation. Thanks in advance.
I'm attempting to write a multifield navigation component in AEM following this guide here:https://blogs.perficient.com/2018/08/24/using-sling-models-with-nested-composite-mulitifields-in-aem-6-3/I have it working fairly well using interfaces, but when I try to implement a class based approach AEM no longer seems to pick up my primaryLinks / secondaryLinks / tertiaryLinks content. From what I can tell in the AEM documentation here: https://sling.apache.org/documentation/bundles/models.html#collections it seems like it should be possible for the Sling Model to pick up the List just by using @586265. Am I missing something here? I've also attached an image of the content I'm attempting to work with along w/ code below. CRX: Model w/ Interfaces (works) :@Model( adaptables = {Resource.class}, defaultInjectionStrategy = DefaultInjectionStrategy.OPTIONAL) public interface Navigation { @Inject List<PrimaryLink> getPrimaryLinks(); @Model(adaptables = Resource.class, defau
AEM-Zabbix Monitoring Demo by How to AEM Abstract This AEM-Zabbix Monitoring Demo package contains a configured and running Zabbix that will connect to a local instance of your running AEM Author. Once running, you can look around Zabbix and observe the dashboard as it monitors your AEM instance. From the dashboard, you can a live scrape of your Author instance, useable disk space, memory allocation and a few more monitored items. You can also trigger events and notifications and watch how the dashboard will alert you of any issues and problems. AEM For this monitoring package to work, we need a default local installation of AEM Author listening to port 4502. We also need to start AEM to listen to port 9091 for the JMX agent. Add the following as part of the start-up for your AEM instance: -Dcom.sun.management.jmxremote.port=9091 \ -Dcom.sun.management.jmxremote.rmi.port=9091 \ -Dcom.sun.management.jmxremote.ssl=false \ -Dcom.sun.management.jmxremote.authenticate=false \ -Dcom.sun
AEMaaCS - Touch UI Dialog Dynamic Dropdown by AEM Lab - Arun Patidar Abstract AEMaaCS - Touch UI Dialog Dynamic Dropdown 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 dropd
No text available
AEM Cloud Service - Extend Fulltext Predicate Evaluator to modify Search Term by Sreekanth Choudry Nalabotu Abstract Goal AEM Cloud Service 2021.11.6058.20211123T163652Z-211000 (Nov 23, 2021) Oftentimes you may have to modify the entered OmniSearch term (fulltext) to deal with special characters or files names with specific conventions. Code in this post extends FulltextPredicateEvaluator to replace "_" (underscore) with " " (space) in search term... 1) Create class apps.experienceaem.assets.core.servlets.SpecialCharacterInFulltextPredicateEvaluator extending com.day.cq.search.eval.FulltextPredicateEvaluator, add the code below... package apps.experienceaem.assets.core.servlets; import com.day.cq.search.Predicate; import com.day.cq.search.eval.EvaluationContext; import com.day.cq.search.eval.FulltextPredicateEvaluator; import org.apache.commons.lang3.StringUtils; import org.osgi.service.component.annotations.Component; @Component( factory = "com.day.cq.search.eval.PredicateEvalua
Bundle is NOT whitelisted in AEM by Rashid Jorvee blog Abstract While using the loginAdministrative() method of SlingRepository class you might see an error "Bundle is not whitelisted". To get this method work we have to whitelist the bundle in OSGi configuration "Apache Sling Login Admin Whitelist" this helps us to defines which bundles can use SlingRepository.loginAdministrative(). Below is the code snippet of creating session using loginAdministartive method. @Reference private SlingRepository repository Session session = repository.loginAdministrative(null); Read Full Blog Bundle is NOT whitelisted in AEM Q&A Please use this thread to ask the related questions.
Speed up your AEM development workflow using Vault by INITIALYZE Abstract One of the most in-efficiencies that exist in AEM Developer’s workflow is having to do full builds when making minor changes or when content needs to be downloaded from AEM instances (local or other environments). Due to these in-efficiencies developers often resort to using tools like CRXDE Lite to manipulate files or node properties directly in AEM which has several drawbacks. CRXDE doesn’t provide any syntax checking and often changes across multiple files get forgotten and left there – it’s hard to keep track of what you changed when touching multiple files. In this article, we will look at some modern solutions to quickly get files in and out of your AEM to speed up your local development workflow. #1: WATCH & SYNC One approach to speeding up your development is to watch for changes in the file system and immediately sync them into AEM. There are categories of tools available that allow you to do this
Enable User Authentication for AEM Websites - Azure AD B2C OAuth 2.0 by Albin Abstract we have seen how to use the Azure AD B2C SAML standard to enable authenticated websites in AEM. In this post, let us now see how to use the OAuth 2.0 standard to configure Authenticated websites in AEM using Azure AD B2C. The recommendation from Microsoft is to use OpenID Connect to enable the authentication for websites, but AEM currently won’t support OpenID connect OOTB — may need to build a custom authentication handler to support OpenID Connect with AEM. Azure AD B2C Configurations: AZURE ACTIVE DIRECTORY B2C TENANT: Before your applications can interact with Azure Active Directory B2C (Azure AD B2C), they must be registered in a tenant that you manage. Refer to https://docs.microsoft.com/en-us/azure/active-directory-b2c/tutorial-create-tenant for more details on configuring B2C tenants. Signing and encryption keys for Identity Experience Framework: As a next step, Create the signing and enc
A modal is a dialog box/popup window that is displayed on top of the current page. You can use it to display additional information related to your form or even the field. One such use case that a person asked me was to show rules to fill the form in the dialog. Let's BeginJSPlace the below Script on form initializevar modal = document.getElementById('myModal');// Get the button that opens the modalvar btn = document.getElementById("myBtn");// Get the <span> element that closes the modalvar span = document.getElementsByClassName("close")[0];// When the user clicks the button, open the modal btn.onclick = function() { modal.style.display = "block";};// When the user clicks on <span> (x), close the modalspan.onclick = function() { modal.style.display = "none";};// When the user clicks anywhere outside of the modal, close itwindow.onclick = function(event) { if (event.target == modal) { &n
Hi All, i am new to replication so everything is going above my head, we have a custom agent on publish which is created on author instance and i am unable to activate it even. when do we create a agent on publish in author and how to activate it. We do have a custom transport handler code but control is never going to it while debugging. So confused. Updating Media Read adobe documents, still unclear. Any help is appreciated.
Hello Team,I am facing one issue regarding vertical height like :- 100vh , 40vh through css.The Issue is faced when I applied vertical height then we can't edit page in editor mode, It will showing only vertical container.
In a recent post, you learned that having multiple form embeds in the same page, with loadForm called from more than one domain, causes fatal errors. Those errors can break any form on the page, depending on load order. (I didn’t mention this explicitly before, but when multiple forms are injected via GTM or another async mechanism, you can’t predict the order — meaning you can’t even predict which form(s) will fail on a given pageview.) The solution is to load all forms from the same domain, preferably your LP domain.[1] But there’s one case when you can’t do that: when you’re deliberately loading embeds from different Marketo instances. Not just different aliases for the same instance, but totally different instances, like one for B2B and one for B2C. In this case, you can’t simply standardize on one domain. But what you can do is force the Forms 2.0 loader to create a separate instance of MktoForms2 for each d
Progressive Profiling (ProgPro) and Known Visitor HTML (KV HTML) are both handy features. But they can’t be used at the same time: when KV HTML is enabled, it takes precedence. And this makes sense. KV HTML means “Hide all form fields when the pageview[1] is associated with a known lead. Just show a button and a little custom text.” ProgPro means “Show a set of empty fields to be filled in by the lead, and optionally some always-on fields.” You can’t both “hide all fields” and “show some fields” simultaneously, so “hide all fields” wins out. But what if you only want to use ProgPro until all fields are filled, then switch modes to KV HTML (i.e. just display a Download button like you would with KV HTML)? So the form might start like this: Then look like this if a couple of ProgPro fields are still empty: And like this when the whole ProgPro block is filled: This is easy to do with a tiny
Já tem conta? Login
Ainda não tem uma conta? Crie uma conta
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.