Adobe Experience Manager (AEM)

Code Repositories


AEM Application Debugging with Visual Studio Code

Example of how to debug Adobe Experience Manager (AEM) component Java code using Visual Studio (VS) Code.

AEM Blank Slate Starter Site

AEM “Blank Slate” basic starter site example to demonstrate creating basic pages, templates and their components. This site uses static templates and covers a couple of key AEM concepts including the Proxy Component Pattern. This tutorial was created using AEM version 6.4.

An Adobe Experience Manager (AEM) example to demonstrate development of a proof of concept copyright component that optionally renders the current year from code. Maven AEM Project Archetype 23 and AEM version 6.5 are used to show this component within the footer experience fragment.

AEM File Transfers for Developers

There are several different ways to handle file transfers between AEM and your local file system. In this post, I’m going to go over a couple command line tools to transfers files between my local file system and AEM 6.5: AEM repo tool and FileVault VLT.

AEM Folding Panel Component

An Adobe Experience Manager (AEM) example to demonstrate development of a simple folding panel component to show or hide content by clicking the panel’s label element. AEM components can be added by an author to populate the folding panel content.

AEM Maven Project

An Adobe Experience Manager (AEM) example to demonstrate creating and deploying a Maven Multi Module project using an aem-project-archetype. This tutorial was created for deployment using Java 11, Apache Maven 3.6.2, Maven AEM Project Archetype 22 and AEM version 6.5.

AEM Maven Project Part II

of the default , An Adobe Experience Manager (AEM) example to demonstrate the Webpack frontend build process included with Maven AEM Project Archetype 22. Follow the steps in part 1 of this series beforehand making sure to include the -DoptionIncludeFrontendModule=general option when running mvn archetype:generate.

AEM Maven Project Archetype 23

Maven AEM Project Archetype 23 was recently released. To use, setup your local development environment for AEM as a Cloud Service SDK or use one of the followimg AEM versions: 6.5.0+, or Additonally, Java 8 or 11 and Maven 3.3.9+ is also required. This post contains an overview of some of the changes.

AEM Maven Project Including React SPA Part I

At the time of this writing, the AEM project archetype doesn’t allow you to create a single site project containing both the generic and react frontend modules. Typically, there will be a mix of SPA and non SPA content pages in a site project. This post documents how I was able to set this up for Adobe Experience Manager version 6.5. using aem-project-archetype-23.


By default, Adobe Experience Manager has pretty much everything enabled. When deploying to production, these items should be checked in addition to other precautions.

  • Change administrative passwords
    • CRX
    • Apache Felix Console
  • Disable WebDav
  • Restrict access using the Dispatcher
  • Check for cross-site scripting (XSS)

Touch UI

In AEM 6.4, the Touch-Enabled UI is now the default at /aem/start. To get to the legacy classic UI, use the /welcome root path instead.

Under The Hood

  • Test Category Resolution: /libs/granite/ui/content/dumplibs.html

AEM Blogroll

Various links to blog posts written by AEM developers.

Sightly HTL Tips & Resources

Tips & Resources for using Sightly Hypertext Template Language (HTL) in Adobe Experience Manager (AEM). For more information, the HTML Template Language Specification is a comprehensive HTL resource.

Stubbing Data with AEM JavaScript Use-API

An Adobe Experience Manager (AEM) example of a new blank slate starter component with stub data. The JavaScript Use-API returns the data to the HTL template for development.

How to Start AEM in Debug Mode

How to start Adobe Experience Manager (AEM) in debug mode for applications running in a remote or local AEM server.

Import AEM Maven Project into Eclipse

These steps show how to import an AEM Maven Project into eclipse.

AEM JavaScript Use-API String Multi JSON

JSON content parsing, e.g., jcr:content Type string[] with JSON values.

Developer Tools for Eclipse

This page contains tips and resources for using Eclipse with Adobe Experience Manager (AEM). The first tip covers how to setup a simple Sling Content project and use it to transfer files between the local file system and AEM’s Java Content Repository (JCR).

AEM JavaScript Use-API

Tips and resources for using AEM’s Sightly / HTL JavaScript Use-API for writing server-side JavaScript. The AEM JavaScript Use-API ResourceUtils page contains examples for using ResourceUtils and functions.

AEM JavaScript Use-API ResourceUtils

ResourceUtils examples using an AEM Maven project and the We.Retail sample to show how to pass data from the HTL to server-side JavaScript, and use the /libs/wcm/foundation/components/utils/ResourceUtils.js to access properties from jcr:content.