Ahmed Musallam, Author at Perficient Digital
Posts written by Ahmed Musallam

AhmedAtWork
https://www.ahmedmusallam.com

Running a Local SonarQube Server with AEM Rules

SonarQube undoubtedly is one of the top tools for code quality. And by default, it has a whole lot of rules that catch common bugs and code smells, it even reports code coverage! In this post, we’ll look at quickly setting up a local instance that devs can use to improve their code quality and […]

Read more

The Java Commons Annotations Was Removed in JDK 11

The Java Common Annotations Module java.xml.ws.annotation was deprecated in Java version 9 and was removed in java version 11. So what does this mean for your AEM 6.5 project running on JDK 11?   AEM 6.5 and JDK 11 As of AEM 6.5, JDK 11 is supported along side JDK 8. As such, Devs will […]

Read more

How to Add a Filter to AEM Granite Select Widget

Adobe Experience Manager’s Granite Select Widget is a simple dropdown widget that you add to dialogs and page properties to allow users to pick an option from a list. But, the list is not searchable. To add searchability, OOTB, you have to use the Autocomplete widget. This works well in AEM 6.4 but in AEM […]

Read more

How to Export/Import Namespaces Between AEM Instances

Recently I ran into a scenario where I needed to export namespaces from one AEM instance and import them to another. I previously wrote two groovy scripts on how to do this and they work very well. However, they require the AEM Groovy Console which is hard to put into a production environment because of […]

Read more

Deploy AEM Packages with Jenkins like a Pro

You’ve probably seen the curl command shown below in many articles online. curl -u admin:admin -F file=@”name of zip file” -F name=”name of package” -F force=true -F install=true http://localhost:4505/crx/packmgr/service.jsp It allows you to upload and install a package to an AEM server, and can also be used in builds within Jenkins to deploy a package […]

Read more

Simple Markdown Documentation For Your AEM Components

Documentation Documentation Documentation. I believe documentation is one of the most important aspects of delivering a product, or in this case, an AEM component. If you aren’t already, you should use the Granite UI widget fieldDescription property to add helpful tooltips to your dialog fields. You can also use the Granite Alert Widget for quick […]

Read more

The AEM Dialog Dark Mode Switcher You Never Knew You Needed

It seems like dark mode is taking over everything from IDE’s, to various apps and services (including the new MacOs Mojave). Use Case The use case is pretty simple. In some dialogs, you have RTE’s and want to author text in white color. But that text becomes invisible against the default, white background of dialog […]

Read more

AEM 6.4: Challenges with Dynamic Media Integration

Since the release of AEM 6.4, Adobe has changed the way Dynamic Media is integrated with AEM.  Configuring the integration is now a little different than what customers are used to in 6.3 and below. Adobe has provided an architecture diagram of Dynamic Media – Scene7 mode, which describes how it works. In this post, […]

Read more

Having Some Fun With The New AEM Layout Editor

In AEM 6.3, the responsive Layout feature was introduced, and the Adobe documentation will show you exactly how it works. Though some customizations and how to achieve them are not super clear, this feature works out of the box. It is certainly a great addition that enables authors to create custom grid layouts that were […]

Read more

How To Prevent Authors From Deleting a Child Component

It’s common to create components that include other components. These components are called “Container Components” and are denoted by adding cq:isContainer=”{Boolean}true” as a property on the component. Banner photo by Dose Media on Unsplash When you drag a container component onto a page, you can edit the container component itself, as well as the child component. Take the image component […]

Read more