Best Practices

You are reading the AEM 6.1 version of Best Practices.
This documentation is also available for the following versions:  AEM 6.2  AEM 6.0 

Developing best practices describe how to develop in AEM in the most efficient and most effective way possible. This growing list of topics includes a variety of areas in AEM.

The following areas have documentation available specific to developing best practices: 

  • WCM Author/WCM Admin
  • Communities
  • Tooling/HTL

For best practices on administering, deploying and maintaining, or authoring, see one of the following:

Specific documents are described and linked to in the tables that follow.


AEM Communities simplifies the creation and management of on-premise Communities. Best practices for Communities are described here:

Component Guide (for Developers) Community Components Guide An interactive development took for the Social Component Framework (SCF).
Customizing Communities components. Coding Guidelines Guidelines for developing flexible, portable code for SCF.


HTL is new HTML templating system, introduced with AEM 6.0. It replaces JSP and ESP as the preferred templating system of AEM.

HTL overview HTL overview and syntax This document describes what HTL is, how to move to HTL, a sample project, syntax, expressions, and statements
Using API in java HTL Java Use-API The HTL Java Use-API enables a HTL file to access helper methods in a custom Java class. 

WCM Authoring and Administration

Web content management authoring and administration has some best practices outlined as follows:

Some of the theory behind the touch-optimized UI.

Touch-optimized UI: Concepts

Touch-optimized UI: Structure

These documents provide an overview of the concepts, and structure, of the touch-optimized UI.
Touch-optimized UI: Customizing consoles  Customizing touch-optimized UI consoles This document describes the best way to extend the consoles for the touch-optimized UI.
Touch-optimized UI: Customizing page authoring Customizing touch-optimized UI page authoring Describes how to extend page authoring for the touch-optimized UI.