Author: briankasingli

Hello, I am an enthusiastic Adobe Community Advisor and a seasoned Lead AEM Developer. I am currently serving as an AEM Technical Lead at MNPDigital.ca, bringing over a decade of extensive web engineering experience and more than eight years of practical AEM experience to the table. My goal is to give back to the AEM Full Stack Development community by sharing my wealth of knowledge with others. You can connect with me on LinkedIn.

AEM Client Library Debugger & Client Library Test Tool

A quick way to validate your AEM client libraries via registered clientlib categories is by using the AEM, out-of-the-box, “AEM Client Library Debugger Test Tool”. The tool is very bareboned. When you are on the tool page, you’ll find a Categories input field. Simply insert your to-be-tested clientlib category value here and press “submit”. Your […]

Get Cookie Example of AEM Servlet and Sling Model

In this short article, we will show two code examples; for example, one will be showcasing how cookies values can be accessed for an AEM Servlet, and for example two, Sling Model. 1. AEM Servlet Get Cookie Example 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465package com.sourcedcode.core.servlet; import com.cat.wcm.core.util.JSONObject; import org.apache.commons.lang.StringUtils; import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.SlingHttpServletResponse; import org.apache.sling.api.servlets.SlingAllMethodsServlet; import org.osgi.service.component.annotations.Component; import javax.servlet.Servlet; import […]

Set Cookie Example of AEM Servlet and Sling Model

In this short article, we will show two code examples; for example, one will be showcasing how cookies values can be set for an AEM Servlet, and for example two, Sling Model. 1. AEM Servlet Set Cookie Example 12345678910111213141516171819202122232425262728293031323334353637package com.sourcedcode.core.servlets; import com.cat.wcm.core.util.JSONObject; import org.apache.sling.api.SlingHttpServletRequest; import org.apache.sling.api.SlingHttpServletResponse; import org.apache.sling.api.servlets.SlingAllMethodsServlet; import org.osgi.service.component.annotations.Component; import javax.servlet.Servlet; import javax.servlet.http.Cookie; import […]

How to Dynamically Include an Experience Fragment in Sightly

In this article, we will dynamically reference an AEM experience fragment to a page, dynamically using code. Sightly Implementation Hard Coded Example The first example uses sightly to reference an experience fragment, /content/experience-fragments/we-retail/equipment, and the required variation, master. This will only work when the path includes the experience fragment variation path. The value here is […]

AEM IntelliJ Debug Error:osgi: [sourcedcode.core] Classes found in the wrong directory: {META-INF/versions/9/javax/xml/bind/ModuleUtil.class=javax.xml.bind.ModuleUtil}

Writing unit tests for AEM Backend code on IntelliJ can sometimes be challenging; mocking objects, initializing OSGI components, etc… It’s most beneficial when we can write unit tests utilizing the JUnit debug feature on IntelliJ. While trying to debug code in JUnit, I was getting an error of 1Error:osgi: [sourcedcode.core] Classes found in the wrong […]

ACS Commons multi-field extension, acs-commons-nested, checkbox is not working

This article will provide a solution to the ACS Commons multi-field extension, checkbox Granite UI Component. While utilizing the ACS Commons multi-field extension, for everything I tried, I am not able to get the checkbox Granite UI component working as expected. Not an elegant way to solve the problem, but something that actually works and […]

Situs Toto Slot: Panduan Terbaik untuk Menang Besar Bermain Situs Togel

Situs Toto Slot: Panduan Terbaik untuk Menang Besar Bermain Situs Togel Dalam dunia judi online, situs toto slot telah menjadi salah satu pilihan favorit bagi para pemain yang ingin meraih kemenangan besar dengan cara yang menyenangkan. Situs toto slot menawarkan berbagai permainan menarik dengan peluang menang yang lebih tinggi, serta fitur-fitur bonus yang memanjakan pemain. […]

How to Pass Data Parameters to WCMUsePojo from Sightly HTL Component

You can pass data parameters from Sightly HTL component to the WCMUsePojo backend in a very simple way. You can simply call the get(String name, Class type) method from the available public methods from the com.adobe.cq.sightly.WCMUsePojo class. For implementation, use the get(String name, Class type) method, we obtain the values sent from Sightly as attributes; […]

How to Pass Data Parameters to Sling Modal from Sightly HTL Component

You can pass data parameters from Sightly HTL component to the Sling Model backend by request attributes. For implementation, utilising the org.apache.sling.models.annotations.Model, we will add required options parameter, adaptable, with the value of SlingHttpServletRequest.class. Next, we can utilize the annotation, org.apache.sling.models.annotations.injectorspecific.RequestAttribute (@RequestAttribute), which will find the matching name of the attribute that is being passed […]

Update Multi-Value Node JCR properties in AEM with CURL

This is a simple way to update or write multi-value Node JCR properties inside of AEM using curl. curl command: 12345curl -v "http://localhost:4502/crx/server/crx.default/jcr%3aroot" \   -u admin:admin \   -H ‘Content-Type: multipart/form-data; boundary=crxde’ \   –data-raw $’–crxde\r\nContent-Disposition: form-data; name=":diff"\r\nContent-Type: text/plain; charset=utf-8\r\n\r\n^/content/sourcedcodeaem/jcr:content/stringArray : ["one","two","three"]\r\n–crxde– ‘ \   –compressed Result: If you wish to learn how to […]

DRY way of using RichText Granite UI Component in AEM for Static Templates

Every developer have experienced a situation where they are working with AEM multiple AEM components, where Touch UI dialogues consist of a common richtext Granite UI component configuration cq/gui/components/authoring/dialog/richtext. When I mention common richtext Granite UI component, I mean there are multiple AEM components that will have the richtext Granite UI component as one of […]

Errors while building the latest AEM Project Archetype 24 on MacOS

I was recently trying to start up a new AEM project using the latest, AEM Project Archetype 24, but I was having having some build problems indicated in the errors below: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143$ mvn -B archetype:generate \ >  -D archetypeGroupId=com.adobe.aem \ >  -D archetypeArtifactId=aem-project-archetype \ >  -D archetypeVersion=24 \ >  -D appTitle="AEM SourcedCode" \ >  -D […]

AEM inheritedpageproperties with Sightly, JSP, OSGI Bundle

inheritedpageproperties helps you retrieve a parent property from parent pages. Inherited page properties utilises com.day.cq.commons.inherit.HierarchyNodeInheritanceValueMap, where the search is made on the page hierarchy, upwards; searching children of the page nodes (components) are not included. Inherited page properties can be retrieved in multiple ways, where this article will only focus on 3 ways. In this […]

Structural Static Assets in AEM as Client Library Resources

As developers, when we are building components or view logic, in typical scenarios require assets like background image patterns, icons, logos, typography, etc.. These assets are considered as structural assets. Structural assets are assets that support CSS styles or JavaScript view logic; which are also static assets. Structural assets should be stored and managed within […]

How to Enable Configuration for OSGI Components with R6

Adding configuration to OSGi Component(s) is as simple as annotating your class with @Designate(ocd=””) annotation with the “ocd” property, and to make the @Activate method accepts an config param; as indicated below: 1234567891011121314// /com/sourcedcode/services/impl/MyserviceImpl.java import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; import org.osgi.service.metatype.annotations.Designate; @Component(service = MyService.class, immediate = true) @Designate(ocd = SourcedCodeSiteSettingsConfig.class) public class MyserviceImpl extends MyService { […]

OSGI R6 Configuration @AttributeDefinition Essentials Reference Guide

When defining any OSGI component’s configuration its standard practice to use Declarative Services; these configurations can be edited in the OSGI Apache Felix Console. This can be done by creating a class interface with the annotated @ObjectClassDefinition, which includes a determined list of rules as @AttributeDefinition items. The @AttributeDefinition defines the supporting configuration for a […]

Articles List View

Articles List View This is a list view of all the popular articles on sourcedcode.com to help you navigate to your needs quicker. I hope this will page will help you find what you need, faster and more efficient! OSGI OSGI R6 Configuration @AttributeDefinition Essentials Reference Guide How to Enable Configuration for OSGI Components with […]

AEM Granite UI 1.0 Form Component’s XML Cheat Sheet Reference Guide

This AEM Granite UI 1.0 Form Component’s XML Reference Guide provides code snippets to help developers speed up their AEM Touch UI development. This quick reference includes the most used Granite UI form components with plug and plays XML examples. Note: If you want to understand how to convert Granite UI 1.0 Form Components from […]

AEM Sling Model Field Injection vs Constructor Injection Memory Consumption

Article was last updated on June 7th, 2020. Sling Models field injectors are used to support injection of AEM Library-specific context objects. For example, @ScriptVariable SightlyWCMMode will inject the WCMMode object, @ScriptVariable Resource will inject the current resource object, and @ScriptVariable Style will inject the Style object. These objects are typically stored within the object, […]

AEM Sling Model Injectors Annotations Cheat Sheet Reference Guide

The Apache Sling Model enables injector specific annotations which aggregate the standard annotations for each of the available injector, which are: Script Bindings, Value Map, Resource Path, Child Resources, Request Attributes, OSGI Services, Self, and the Sling Object. Sure we can invoke injectors by the @inject, followed by the @source annotation (with an injector name) […]

JUnit 4: AEM Sling Servlet Unit Test Example Using wcm.io AEM Mocks, Servlet by Resource Type

This article will demonstrate how to write AEM Unit tests for @SlingServletResourceTypes (OSGi DS 1.4 (R7) component property type annotations) using the Junit4 testing framework. With developers being more visual, the source code is posted below. Technologies here used are: AEM project archetype 19 (link) Mockito 2.27.0 (link) AEM Mocks JUnit 4 2.7.2 (link) This […]

Registering @SlingServletPaths Component Property Type

You are probably looking for the @SlingServletPaths, OSGi DS 1.4 (R7) component property type annotations for Sling Servlets, code/unit test examples and was not successful. Apache recommends not use the @SlingServletPaths annotation, Sling Servlet register by a path. Rather to use the @SlingServletResourceTypes component type. Given the drawbacks in the caveats below, it is strongly […]

Sugar Coat Registered AEM Servlet Scripts and Paths Endpoint

In AEM we tend to write Sling Servlet OSGI Services to expose JSON data using the various service reference properties such as “sling.servlet.paths”, “sling.servlet.resourceTypes”, “sling.servlet.selectors”, and “sling.servlet.extensions”. Example 1: DirectoriesServlet.Java doGet Servlet Implementation (html extension): This is an example how a servlet in AEM to retrieve the directories JSON data. 1234567891011121314151617// example for /content/mysite.directories.html @SlingServlet( […]

What is a Servlet in AEM?

What is a Servlet? A Servlet is a class used to extend capabilities of servers that host applications accessed by means of a request-response programming model; we know most the HTTP protocol. In AEM, Servlets are typically registered as an OSGI service. The reference of the “sling.servlet.paths” or “sling.servlet.resourceTypes” must be set, or the Servlet […]

Improve Performance of AEM Components During Development Phase

Web performance is how quick web pages are successfully downloaded and viewable on the visitor’s browser. When we say “Web Performance Optimization”, this means that we are optimising or increasing web performance. Quicker download speeds of websites, in general, have shown in user contentment, retention, and loyalty. Especially with AEM enterprise websites, our motive is […]

Scenario: Building AEM Components with 3rd Party Integrations in a High Performance and Scalable Way

we are assigned to build a hospital search component in a very high traffic website. This hospital search component allows users to search for available hospital private rooms across the United States; there are approximately 200,000 hospital private rooms across the US.  The hospital search component, presented in the view, simply has an input field […]

AEM Project, WCMUsePojo “aQute.bnd.annotation.ConsumerType not found” (fix)

On rare occasions, when developing a Java class that extends WCMUsePojo class, you will get the error of “class file for aQute.bnd.annotation.ConsumerType not found“. This problem can be easily solved by adding the dependency to your parent-pom.xml and core-pom.xml as shown below: 123456789101112131415//parent-pom.xml <!– https://mvnrepository.com/artifact/biz.aQute.bnd/bndlib –> <dependency>     <groupId>biz.aQute.bnd</groupId>     <artifactId>bndlib</artifactId>     […]

Strategy to Consider when Migrating a Large Amount of Assets into an AEM author Instance

One of my biggest strategies to consider when migrating a large number of assets to production live AEM author instance is to enable/disable the workflow launchers. Every time when a new asset is installed (via the package manager) or uploaded into AEM, the OOTB (out of the box) AEM workflow launchers will be triggered. During […]

How to enable/disable AEM Workflow Launchers

Adobe Experience Manager (AEM) Assets ships with a number of default workflows and media handlers to operate on assets. Examples of these operations are generating thumbnail renditions, parsing Microsoft word documents, asset metadata extraction, etc… During appropriate understanding, we may need to disable workflow launchers services; always remember to re-enable after disabling these services. Quick […]

AEM Global Objects for Backend and Front-end Sightly (HTL) Development

While working on an AEM project, we can speed up the process of development by utilizing the global objects offered by AEM Framework. Quick Links Backend Example Front-end Examples Sightly/HTL & AEM Backend Objects Mapping 1. AEM Backend, an example of using global objects The global objects are accessible by OSGI’s dependency injection annotation; @inject. […]

How to revert deployed packages in CRX/DE package manager?

In this tutorial, you will learn how to revert a deployed package in CRX/DE package manager. The package is uploaded into CRX/DE and not yet replicated. Visit CRX/DE Lite (http://localhost:4502/crx/packmgr/index.jsp) Locate the project package. Click on “more” (the drop-down on the right). Click on “uninstall” (this will ensure your AEM instance is back to what […]

How to use AEM JCR SQL2 query strings to query for nodes in Java Content Repository

JCR-SQL2 (Java Content Repository – Structured Query Language 2) is domain specific language used to query JCR nodes held in the JCR repository. The syntax for JCR-SQL2 is fairly similar to SQL, so if you have some experience with SQL, this tutorial will be a walk in the park for you. The best way to […]

How to make a simple HTTP POST request to AEM with a HTTP Rest Client, Postman

This method should be used for DEVELOPMENT PURPOSES ONLY! During development in the AEM author instance, you would like to test your servlet using an HTTP Rest Client such as Postman. When making a POST request on the Rest Client, you will experience 2 errors. An authentication error, and a 403 forbidden error. What’s Happening? […]

Back To Top
xx1toto togel xx1 toto login xx1toto xx1toto link xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto xx1toto journalberitaterkini xx1toto xx1toto pasaran togel