Explore product-specific spaces to ask questions, share insights, and learn best practices.
Recente
Authors: Ashok Pancily Poothiyot, Kumar Sangareddi, Pari Sawant, and Jenny Medeiros This article goes behind-the-curtain to show how Adobe Experience Platform Data Science Workspace uses AI and machine learning to streamline the data-to-insights journey and enables brands to quickly deliver personalized customer experiences. Today's brands and customers want personalized experiences delivered in real-time. This prioritizes mining big data for insights that deliver meaningful customer interactions. The greatest barrier to insights is refining data, similar to how crude oil must be refined before it is useful. Skilled data scientists are at the helm of the data-to-insights delivery, but their workflow is hindered by repetitive tasks, overly-complex technology, and scattered data across multiple repositories in different schemas. Data scientists spend 80% of their time organizing data instead of deriving insights from it. Adobe Experience Platform Data Science Workspace is leading the ef
Authors: Naomi Meyer and Jenny Medeiros The following blog post is from Adobe Experience Platform< on tips and tricks for building products for the world. It will describe best practices for how developers can easily prepare JavaScript web and mobile applications to be used effectively across different locales and cultures in order to further international inclusion and accessibility. Developers and businesses can no longer afford to limit content to their default language. Internationalizing apps and websites is better than hard-coding English-only strings, because it enables users to function within the app in their native mother tongue, which improves the user experience and overall diversity, inclusion, and accessibility of the app. In today's world of continuous content and personalized products, let's rethink our approach and build software for the world to understand. Internationalization (I18N) is the process of designing and preparing software products (apps) to support mu
Apache Sling Sitemap in AEM 6.5 & AEMaaCS by The AEM Maven - Juan Ayala Abstract On almost every AEM project I've worked on, there has been a need to generate a Google sitemap. It is standard SEO practice. The first time I wrote one using JSP and a resource visitor. In the last couple of projects, I used the ACS Commons Sitemap Generator. Recently I came to find out that the ACS generator is now deprecated. Its recommended replacement is the AEM WCM Core Components Sitemap feature. That is on AEMaaCS. For 6.5.10.0 and below, there is no such feature. That is until now with the release of 6.5.11.0. This one feature is no reason to rush to upgrade. It is something to keep in mind should you find yourself working with that version. And definitely, if you are working on AEMaaCS. The video on the tutorial page covers the configuration. You will generate sitemaps in no time. I will sum up those steps here. What that video does not cover is customization. Skip to the end if that is
Configuring Author Access on AEMaaCS Instances by The AEM Maven - Juan Ayala Abstract You spent countless hours developing, testing, and putting together an awesome AEM site. The whole time you work as 'admin'. You make it to QA and the question will arise. "How do we grant content authors access?" In previous projects, you dealt with local AEM groups. Or you had an LDAP integration. If you find yourself in AEMaaCS now the question is "What is IMS and how do I grant content authors access?" Create a User in IMS Adobe's Identity Management System allows customers to manage all Experience Cloud users in a single unified console. You can create users in IMS or you can sync with an external directory. Let's create a user in IMS. Go to the Admin Console and click on the Add Users Quicklink. add users quick linkadd users quick link You can use any email, as long as it is not already in the current directory. Once you have entered the email select the product profile. In this case, I
Tips for Building an Effective and Efficient Enterprise Adobe Experience Manager Platform by Brett Birschbach Abstract Content Management System (CMS) platforms such as Adobe Experience Manager (AEM) are purchased by enterprise organizations looking to empower their brand and business unit marketers to create first-class digital experiences with reduced maintenance costs and dependence on IT. However, many organizations find themselves experiencing the opposite, with development and maintenance costs steadily increasing over time as their CMS becomes a Frankenstein of hundreds of components and IT once again becomes a bottleneck. Building a clean, maintainable AEM platform in support of a single site is pretty straightforward. Without proper planning and business goals, however, enterprises consisting of multiple brands and business units often see what started as 40 components and 8-page templates multiply into 400 components and 80-page templates. Website updates become constraine
Adobe Experience Manager’s Sling RepoInit: When Should You Use It? by Poorva Jain Abstract We’re back to discuss when and how to use Sling Repolnit! Wondering what this tool is? Check out our post on the "what" and "why" behind it before diving into the below use cases. As a note, for the purposes of this article, all examples for RepoInit are syntax agnostic. This is because a RepoInit configuration can either be in a .cfg.json format or .xml format. So say, if you are doing this in .xml you will have to use " " for a new-line character while /n would work just fine in case of a .cfg.json. If you want a quick refresher, look back to this post! Use Case One: Permission Modelling You can create users and groups, assign group membership, assign privileges and even add glob restrictions via repo init. If you have used ACL packages or any other third-party packages for performing these operations earlier, this should be a refreshing change! create path /home/groups/my-demo-site(rep:Aut
Generate reports for a users last log-in in AEM by AEMTutorial Abstract There are cases where we need to generate reports for a users last log-in in AEM. I have seen many help blogs but none of them worked for me. Below given an approach which worked for me. Approach Utilising 'AuthenticationInfoPostProcessor' service in combination with ACS commons, its going to be easy to generate such reports. This is tested on AEM 6.5 version. Step1: Deploy below Java code which will capture lastLogin information. Java class which captures the users last login and update the user node Note: Modify the conditions as per your project requirement. --Java class START --- package yourpackage.core.services; import java.text.SimpleDateFormat; import java.util.Date; import javax.jcr.Session; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.jackrabbit.api.security.user.Authorizable; import org.apache.jackrabbit.api.security.user.User
AEM Cloud Service - React SPA Runtime Include Pages (Fragments) by Merging Models by Sreekanth Choudry Nalabot Abstract Goal AEM Cloud Service 2021.10.5940.20211013T233531Z-210900 This post is on creating AEM React SPA Html fragments and including them in multiple SPA Pages. Experience Fragments (XF) is one way to author reusable Html blocks, however XF editor does not support React rendering and the goal here is to reuse render scripts written in React. By merging the models server side, App gets a unified model (replacing page includes) when a request is made to model json eg. https://author-p10961-e90064.adobeaemcloud.com/content/eaem-spa-page-include/us/en.model.json Solution 1) Create a component /apps/eaem-spa-page-include/components/spa-include with dialog field pagePath for selecting the page to be included... 2) Add the React render script ui.frontend\src\components\SPAInclude\index.tsx. This script is just a placeholder to give user instructions and also required by AEM S
Content As a Service (CaaS) In AEM by 3Share Abstract When I was consulting on a digital transformation programme, the client stakeholders presented a very interesting use case: As a marketer, I want a system that will produce consistent and engaging experiences across multi-channel platforms. After assessing their system landscape, we decided that to support their request, we needed to design a hybrid solution with a decoupled approach. Basically, we leveraged the channel-agnostic Headless Feature of Experience Manager for maximum content reusability. My team implemented a Content Delivery Framework with a scalable and Hybrid Architecture to promote content relevance with a flavour of a Content As a Service (CaaS) model. What do I mean by Hybrid Architecture and how does it help with CaaS? Traditionally, content operations and implementations are designed and delivered on a single technology stack aiming to minimise the cost of delivery, system maintenance and training. However, o
AEM Content Fragments: Links Localization. Part 2 by Exadel Abstract In the previous article, we took a look at how to set up a translation project and correctly configure links rewriting during New Lang copy creation. Now we’re going to look at more cases you might encounter during links localization and how to approach a variety of situations. AEM’s ‘’DAM Update Language Copy” workflow is being triggered. We’ll have to introduce a new step for this WF to localize the links correctly. ContentFragmentUpdateLanguageCopyProcess.java: package com.wcm.site.workflow; import com.adobe.acs.commons.util.WorkflowHelper; import com.adobe.acs.commons.util.visitors.TraversalException; import com.adobe.acs.commons.util.visitors.TreeFilteringResourceVisitor; import com.adobe.granite.workflow.WorkflowException; import com.adobe.granite.workflow.WorkflowSession; import com.adobe.granite.workflow.exec.WorkItem; import com.adobe.granite.workflow.exec.WorkflowData; import com.adobe.granite.workflow.
Creating a mobile-first design for your website by Adobe Abstract As more people search the web and engage with brands from handheld devices, businesses must create mobile experiences that support the entire customer journey — from exploring products to signing contracts and making purchases. A comprehensive study of desktop vs. mobile usage by Perficient found that in 2020, 61 percent of website visits came from mobile devices in the United States. Globally, the percentage was 68 percent. There is no shortage of information and examples that demonstrate that if you want to attract, engage, and retain customers, you need to embrace mobile-first design. “Mobile-first” refers to both design and strategy. It’s an approach to building your website, apps, and customer interactions that lets you deliver the best possible customer experience on a smartphone or tablet device. Key elements of mobile-first design include responsive page layouts that adapt to the screen size of a customer’s de
While running a UnitTest debugger, I am getting this errorError:osgi: [site.core] Classes found in the wrong directory: {META-INF/versions/9/javax/xml/bind/ModuleUtil.class=javax.xml.bind.ModuleUtil}How do I solve this? There is nothing on Google that can help me.
A technical marketer needs to truly understand ASCII-to-Unicode encodings — at the very least including URL encoding (%NNNN, a.k.a. percent encoding) and HTML encoding (&charref;/&#NNNN;, a.k.a. ampersand encoding). And ideally, Q encoding (=?...=NN?=, a.k.a. subject line encoding) too. But you can't just encode everything “just in case.” Both failing to encode when you should and encoding when you shouldn't can cause emails, pages, and forms to fail catastrophically. That erroneously encoding is harmful came up in a recent Marketo Nation thread. A user had copied some JS that originally had a line like this: <script> myButton.onclick = function(){ document.location.href = "https://www.example.com/?this&that"; }; </script> But for some reason, their CMS (not Marketo) decided to “fix it up” when it was pasted into their editor: <script> myButton.onclick = function(){ document.locatio
The purpose of this thread is to continue the conversation from the Virtual User Group on the topic of System Admin Best Practices on January 19, 2021. In this session we did a deep dive on Enablement, how you enable your own users, and how you stay up to date yourself as an Admin. Many thanks to everyone who came to our virtual meetup! Special thanks to our roundtable presenters @Christa Levine‚, @Heather Kulbacki‚ and @Kasia Osipowicz‚. As promised, attached is a PDF of the presentation with everyone’s tips, and you can watch the recording here. Do you have any outstanding questions? Was there a tip that was especially helpful that you picked up in the session? Leave a comment below and we’ll keep the conversation going! Thanks again. If you have any feedback (good or bad), please don’t hesitate to reach out. You can find the schedule for all upcoming User Groups on the Events page on Workfront One (one.workfront.com/events).
Hi All, We are pleased to announce that the 4.0 Release for the XML Documentation Solution has been marked GM. The build has been certified with AEM 6.5 SP9, SP10 and SP11 and will be certified with SP11 in a couple of weeks. Please find the other relevant information below: Compatibility matrix: Oxygen compatibility matrix XML Documentation Release Oxygen Connector - win Oxygen Connector - mac Open in Oxygen Button 4.0 Non UUID 1.6.8Link 1.6.8Link 1.5Link 4.0 UUID 2.3.8Link 2.3.8Link 2.2Link FM/FMPS compatibility matrix XML Documentation Release FMPS 2020 (Publishing) FMPS 2019 (Publishing) FM2020 (Authoring) FM2019 (Authoring) 4.0 Non-UUID 2020.2 onwards* 2019 2020.3 onwards 2019.8 (latest update) 4.0 UUID 2020.2 onwards* Not compatible Not compatible Not compatible *Also supports publishing with baselines and conditions created in AEM Download link: The build has been uploaded on t
Hi all I created a new template type in a proyect that use aem 6.5. with a new initial content and structure. In the structure of the template type I added a experience fragment header and footer and put a container.I created a new template that use this template type and has an structure and initial content only with a jcr:content node. I thinked that the new template inherit the structure and the initial content from the template type similar to another CMS, but this behaviour didnt occur.Somebody can help me with the inherit of the structure and initial content from the template type in my new template?Thanks
I am using default cache file on my AEMaaCS instance, which is enable to cache everything /0000 {/glob "*"/type "allow"}I noticed that images are not cache at dispatcher level? Anyone faced this issue with AEMaaCS. It is working on my local setup and images is rendered from Cache.
Hi Experts,We are creating the collection by using Create button on Collection page, but after creating it is not visible on page. Are there any setting/configuration for this ? http://localhost:4502/mnt/overlay/dam/gui/content/collections.html/content/dam/collections Thanks~S
Often the table above has more than 300 added rows/entries and it is taking about 45 seconds for the staff to be able to enter something and then click in another fillable box. There are calculations in the total fields but they are simple sums. Could it be there are just too many entries? Is there a recommended limit to the number of entries/additions to a form.
Hi team, I wanted to add max length character for RTE in touch UI but it is not working.I think this will be achieved by js .does any one created js for such type of validation.
Build Phygital customer experiences using AEM Screens Part 2 - Hands On Demo by Hemlata Abstract As we covered the introduction and practical use cases for the AEM Screens solution in the previous article, let us do a hands (simple demo) on creating an AEM Screens project which will display some sequence images on a Screens Player. Before Starting the demo, let us understand the different features available in the AEM Screens Project. How can I use AEM Screens to create digital signages? Creating and managing an application using AEM Screens is simple and intuitive. An application hosts web pages built for AEM Screens by customers or implementation partners. Locations manage pre-defined hierarchy and contains displays. Each display has a dashboard that shows different devices and screens attached. Content for AEM Screens is managed in channels. AEM Screens Player renders content present within channels onto displays. Prerequisite: Allow Empty Referrer Requests in OSGi — Apache Slin
Debugging Adobe Tools with Charles - Part II by Pedromonjo Abstract This post is the last of my mini-series on debugging with Charles. If you have not read the previous posts, you should, before you continue: Introduction to HTTP debuggers and Debugging Adobe Tools with Charles - Part I. In this post, I will skip some obvious steps, as I assume that you are familiar with Charles by now. If something is not clear, please, let me know in the comments. Inject Launch tags This is especially useful if you are migrating from a previous tag manager or are working on a fresh new Adobe implementation. Usually, you should have access to a lower environment of the website, where the developers would have added the Launch tags. However, this may sometimes take a while and you want to start working immediately. Or you want to test your latest changes on the production website before there is any Launch code published. In this situation, what you want is to modify the HTML of the website, only fo
Debugging Adobe Tools with Charles - Part I by Pedromonjo Abstract Now that I have provided an introduction to HTTP Debuggers, I can explain how to use Charles to debug Adobe tools. In this post, I will show you how to start working with Charles, find the Adobe data and switch Launch environments. Configuration Proxy The first thing you need to remember about Charles is that it is a proxy. This means that it is designed to sit between your browser and the web servers. In other words, you must force all web traffic to go through Charles. By default, Charles takes care of that, by configuring the operating system to use it as the default proxy. Then, all browsers configured to use the system-wide proxy configuration will automatically send to Charles all traffic. I have not tested in macOS or Linux (although I am writing this post from my Ubuntu). Also, if you have changed your browser’s proxy settings or your company does that for you, you will need to change it manually. If you nee
Enable User Authentication for AEM Websites - Azure AD B2C | SAML Application with Azure AD B2C by Albinsblog Abstract ENABLE USER AUTHENTICATION FOR AEM WEBSITES — AZURE AD B2C | SAML APPLICATION WITH AZURE AD B2C Azure AD(Active Directory) B2C provides business-to-customer identity as a service. The end users can use preferred social, enterprise, or local account identities to get single sign-on access to your applications and APIs.Azure AD B2C is a separate service from Azure Active Directory (Azure AD). It is built on the same technology as Azure AD but for a different purpose. It allows businesses to build customer-facing applications, and then allow anyone to sign up for those applications with no restrictions on the user account. You can customize the entire user experience with your brand so that it blends seamlessly with your web and mobile applications. Customize every page displayed by Azure AD B2C when your users sign up, sign in, and modify their profile information. Cu
Hide and show AEM component using authoring by Rashidjorvee Abstract Hide and show AEM component using authoring Hi Friends, today in this article we are going to see an example of how we can hide and show the content of the AEM component using authoring. First of all, we will add an isHide checkbox field in the component dialog so that an author can set it based on the requirement. Below is the code node structure of isHide node in the component dialog. Since we have completed the dialog part now move to the component HTL page where we will manage the rendition. rashidjorvee Some content here </sly Once you will check the isHide option then after it will be difficult to find the component on the page, hence add the below line of code in the HTL file so that it will show a copy text to configure the component always in edit mode. Configure your AEM component Read Full Blog Hide and show AEM component using authoring Q&A Please use this thread to ask the related questions.
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.