A multi-part tutorial designed for developers new to AEM. Walks through the implementation of an AEM site for a fictitious lifestyle brand the WKND. Covers fundamental topics like project setup, Core Components, Editable Templates, client libraries, and component development.

Overview

The goal for this multi-part tutorial is to teach a developer how to implement a website using the latest standards and technologies in Adobe Experience Manager (AEM). After completing this tutorial a developer understands the basic foundation of the platform and has knowledge of common design patterns in AEM.

The implementation works as-is on AEM 6.4 and AEM 6.3 + SP2 + FP19008. Many of the topics apply to all versions of AEM. The site is implemented using:

  • HTL
  • Sling Models
  • Touch UI
  • Core Components v2 New!
  • Editable Templates
  • Style System New!
  • Maven AEM Project Archetype 13

Estimate 1-2 hours to get through each part of the tutorial.

Note:

A previous version of this tutorial existed that leveraged a different Maven archetype for the project. The finished code for the previous tutorial can be found here

Github

All of the code for the project can be found on Github in the AEM Guide repo:

GitHub: WKND Sites Project

In addition, each part of the tutorial has its own branch in GitHub. A user can begin the tutorial at any point by simply checking out the branch that corresponds to the previous part.

Any issues or problems with the tutorial please create an Issue on Github.

Latest

To test the latest code before jumping into the tutorial, download and install the below packages.

AEM 6.4:

Download

AEM 6.3 + SP2 + FP19008

Caution:

FP19008 ensures that the Content Fragment capabilities used in the WKND tutorial work with 6.3 + SP2. FP19008 should only be installed to use the tutorial and not in a production environment. A new feature pack is expected to be released shortly that is fully compatible with 6.3 + SP2.

Download

WKND Design

The WKND is a fictional online magazine and blog that focuses on nightlife, activities, and events in several international cities. To make this tutorial closer to a real-world scenario one of Adobe's talented UX designers created the mockups for the site. Over the course of the tutorial various pieces of the mockup are implemented into a fully authorable AEM site. Special thanks to Lorenzo Buosi who created the beautiful design for the WKND site.

Below is an overview video of the site and functionality.


Table of Contents

In general each Part of the tutorial takes about 1-2 hours.

Part 1

Project Setup - Covers the creation of a Maven Multi Module Project to manage the code and configurations for an AEM Site.
Maven, Lazybones Template, Eclipse IDE, Core Components, SCM, and Github. 

Part 2

Creating a Base Page and Template - Covers the creation of a base page and an editable template. Core Components are proxied into the project.
Editable Templates, Core Components, Content Authoring

Part 3

Client-Side Libraries and Responsive Grid- Covers creation of AEM Client-Side Libraries or clientlibs to deploy and manage CSS and Javascript for an AEM Sites implementation. Integration with AEM's responsive grid and mobile emulator.
Client-Side Libraries, CSS, Javascript, LESS, Bootstrap, Responsive Grid

Part 4

Developing with the Style System  - Covers extending Core Components with brand-specific CSS and leveraging the Style System to create multiple variations of components. This part also uses Content Fragments for long form article content and covers some advanced policy configurations of the Template Editor.
CSS, Style System, Template Editor Policies

Part 5

Navigation and Search  - Covers dynamic navigation driven by the content hierarchy and fixed navigation populated by content authors. Sling Models, HTL templating language, and dialogs are used to implement the Header and Footer navigation. A Quick Search component is also added to the Header.
HTL, Design Dialogs, Composite Components

Part 6

Sling Models and Card Component - Covers the end to end creation of a custom card component that displays a teaser image, title, and description backed by an article page. Includes developing a Sling Model to encapsulate business logic to dynamically populate the card component and corresponding HTL to render the component. Also includes the creation of a design dialog to integrate the Style System in a custom component.
Sling Models, HTL, Style System, Custom Components

Coming Soon...

Additional parts of the tutorial will be added. Below are topics expected to be covered in the future:

  • Extending Page Properties
  • Integrating with Social Media
  • Content Services and Sling Model Exporter

This work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License  Twitter™ and Facebook posts are not covered under the terms of Creative Commons.

Legal Notices   |   Online Privacy Policy