Ahmed MusallamAdobe Technical Lead

Ahmed is an Adobe Technical Lead and expert in the Adobe Experience Cloud.

Connect with Ahmed

Blogs from this Author

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 […]

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 […]

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 […]

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 […]

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 […]

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, […]

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 […]

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 […]

How to Show/Hide Metadata Schema Field Based on Asset Path

If you have not read my post explaining how to show/hide page properties based on a template in AEM 6.4  you may want to stop and read that before this one. Especially the “Granite Render Condition” section as it is the basis for this post. Now onto the good stuff! Banner Photo by Glenn Carstens-Peters on Unsplash The Use Case […]

Customizing Request for Activation/Deactivation Wizards in AEM 6

In AEM 6.3+, there is a feature that allows content authors to “Request Publication” or “Request Unpublication.” The option becomes available when the content author does not have replication permission crx:replicate on the page they are currently authoring. See image below: Banner Photo by rawpixel on Unsplash   The Publish/Unpublish Page Wizard Once the author clicks on “Request Publication,” the […]

AEM Backup CLI: Rapid Backup/Restore of your AEM instances

AEM Developers, raise your hand if you’ve never broken a local AEM instance. If you did raise your hand, you just might be the most diligent AEM developer out there! Full disclosure, I break my local AEM instances more times than I can count, and usually, I have to redo my local AEM setup. My […]

How to Test Apache HttpClient in the Context of AEM

If you’ve ever written a proxy servlet in AEM, chances are you’ve used Apache’s HttpComponents library. While a great library, there are not many resources online for how to test it when used inside your code. If you have not seen my post, The Ultimate Code Quality Setup for your AEM project  , you should check it […]

Load More