You are on page 1of 102

Adobe Experience Manager

2-day Architect Training


Adobe Experience Manager v.6.x

Student Workbook

ADOBE DIGITAL LEARNING SERVICES

1
©2016 Adobe Systems Incorporated. All rights reserved. Extend

and Customize Adobe Experience Manager v6.x

If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described
in it, is furnished under license and may be used or copied only in accordance with the terms of such license. Except as
permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any
form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe
Systems Incorporated. Please note that the content in this guide is protected under copyright law even if it is not
distributed with software that includes an end user license agreement.

The content of this guide is furnished for informational use only, is subject to change without notice, and should not be
construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or
liability for any errors or inaccuracies that may appear in the informational content contained in this guide.

Please remember that existing artwork or images that you may want to include in your project may be protected
under copyright law. The unauthorized incorporation of such material into your new work could be a violation of the
rights of the copyright owner. Please be sure to obtain any permission required from the copyright owner.

Any references to company names in sample templates are for demonstration purposes only and are not intended to refer
to any actual organization.

Adobe, the Adobe logo, Acrobat, the Creative Cloud logo, and the Adobe Marketing Cloud logo are either registered
trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.

All other trademarks are the property of their respective owners.


Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA.

Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at
48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as
such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R.
§§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software
Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those
rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved
under the copyright laws of the United States. Adobe agrees to comply with all applicable equal opportunity laws
including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans
Readjustment Assistance Act of 1974 (38 USC 4212),

1
©2016 Adobe Systems Incorporated. All rights reserved. Extend

and Customize Adobe Experience Manager v6.x

If this guide is distributed with software that includes an end user agreement, this guide, as well as the software described
in it, is furnished under license and may be used or copied only in accordance with the terms of such license. Except as
permitted by any such license, no part of this guide may be reproduced, stored in a retrieval system, or transmitted, in any
form or by any means, electronic, mechanical, recording, or otherwise, without the prior written permission of Adobe
Systems Incorporated. Please note that the content in this guide is protected under copyright law even if it is not
distributed with software that includes an end user license agreement.

The content of this guide is furnished for informational use only, is subject to change without notice, and should not be
construed as a commitment by Adobe Systems Incorporated. Adobe Systems Incorporated assumes no responsibility or
liability for any errors or inaccuracies that may appear in the informational content contained in this guide.

Please remember that existing artwork or images that you may want to include in your project may be protected
under copyright law. The unauthorized incorporation of such material into your new work could be a violation of the
rights of the copyright owner. Please be sure to obtain any permission required from the copyright owner.

Any references to company names in sample templates are for demonstration purposes only and are not intended to refer
to any actual organization.

Adobe, the Adobe logo, Acrobat, the Creative Cloud logo, and the Adobe Marketing Cloud logo are either registered
trademarks or trademarks of Adobe Systems Incorporated in the United States and/or other countries.

All other trademarks are the property of their respective owners.


Adobe Systems Incorporated, 345 Park Avenue, San Jose, California 95110, USA.

Notice to U.S. Government End Users. The Software and Documentation are “Commercial Items,” as that term is defined at
48 C.F.R. §2.101, consisting of “Commercial Computer Software” and “Commercial Computer Software Documentation,” as
such terms are used in 48 C.F.R. §12.212 or 48 C.F.R. §227.7202, as applicable. Consistent with 48 C.F.R. §12.212 or 48 C.F.R.
§§227.7202-1 through 227.7202-4, as applicable, the Commercial Computer Software and Commercial Computer Software
Documentation are being licensed to U.S. Government end users (a) only as Commercial Items and (b) with only those
rights as are granted to all other end users pursuant to the terms and conditions herein. Unpublished-rights reserved
under the copyright laws of the United States. Adobe agrees to comply with all applicable equal opportunity laws
including, if appropriate, the provisions of Executive Order 11246, as amended, Section 402 of the Vietnam Era Veterans
Readjustment Assistance Act of 1974 (38 USC 4212),

1
and Section 503 of the Rehabilitation Act of 1973, as amended, and the regulations at 41 CFR Parts 60-1 through
60-60, 60-250, and 60-741. The affirmative action clause and regulations contained in the preceding sentence
shall be incorporated by reference.

September 19, 2016

2
Table of Contents
Table of Contents ................................................................................................................................................................................................... 3

Chapter 1: Basics of the Architectural Stack ............................................................................................................................................... 5

Chapter 2: Installation ....................................................................................................................................................................................... 10

Exercise 2.1 Starting and Installing Adobe Experience Manager using Command Line ......................................... 17

Exercise 2.2 Starting an Adobe Experience Manager Publish instance .......................................................................... 19

Exercise 2.3 Starting and installing Adobe Experience Manager using command line [optional] ...................... 21

Chapter 3: Authoring Basics ........................................................................................................................................................................... 22

Exercise 3.1 Creating a page ............................................................................................................................................................. 27

Exercise 3.2a Editing a page .............................................................................................................................................................. 28

Exercise 3.2b: Adding an image to a page .................................................................................................................................. 28

Exercise 3.2c: Adding text and image together to a page ................................................................................................... 29

Chapter 4: Exploring the Administrative Interfaces.............................................................................................................................. 30

Exercise 4.1 Using the Adobe Web Console .............................................................................................................................. 31

Exercise 4.2 Using CRXDE Lite ......................................................................................................................................................... 33

Chapter 5: Using the CRX Package Manager and Automating it with cURL ............................................................................. 35

Exercise 5.1 Creating, Building, and Downloading a CRX Package .................................................................................. 36

Exercise 5.2 Using Package Manager with cURL ......................................................................................................................40

Chapter 6: Configuring OSGI Bundles and Setting Run Modes ..................................................................................................... 42

Exercise 6.1 Configuring the Version Purge Task using a content node........................................................................ 47

Exercise 6.2 Determining the Run Modes of the current instance ................................................................................... 51

Exercise 6.3 Creating a Configuration for the Publish Run Mode ..................................................................................... 53

Exercise 6.4 Deploying a Configuration package to another AEM instance ................................................................ 55

Chapter 7: Log Files ............................................................................................................................................................................................ 59

Exercise 7.1 Create a Custom Log File using a Logging Logger Configuration............................................................ 62

Exercise 7.2 Create a custom log file using the Sling Log Support pane........................................................................ 63

3
Chapter 8: Operations Dashboard ............................................................................................................................................................... 66

Exercise 8.1 Adding a New Task to the Maintenance Schedule ........................................................................................ 69

Exercise 8.2 Modify the Maintenance Schedule ...................................................................................................................... 71

Exercise 8.3 Configure the Workflow Purge Task .................................................................................................................... 72

Exercise 8.4 Configure Health Reports to Check Bundle Status ........................................................................................ 76

Exercise 8.5 Working with Security Checks ................................................................................................................................ 79

Chapter 9 - Replication ..................................................................................................................................................................................... 84

Exercise 9.1 Examining a Replication Agent Overview page.............................................................................................. 93

Exercise 9.2 Publishing a page and understand what the replication agent does ..................................................... 94

Exercise 9.3 Configure Replication for Two Publish Instances......................................................................................... 95

Exercise 9.4 Activate Tree .................................................................................................................................................................. 99

4
Chapter 1: Basics of the Architectural Stack
What is Adobe Experience Manager?

§ Adobe Experience Manager is a web-based client-server system for building, managing, and deploying
commercial websites and related services.

§ A number of infrastructure-level and application-level functions combined into a single integrated package.

Basics of the Architecture Stack

Adobe Experience Manager is a Java web application, and is based on technologies such as Open Service
Gateway Initiative (OSGi), Java Content Repository (JCR), and Apache Sling. The following diagram is a high-
level view of the architecture stack.

Introduction to the Granite Platform

§ Granite is the technical foundation on which Adobe Experience Manager is built.


§ Granite provides the following components:
ü An application launcher
ü An OSGi framework into which everything is deployed
ü A number of OSGi compendium services to support building applications

ü A comprehensive Logging Framework providing various logging APIs


ü The CRX Repository (Content Repository eXtreme) implementation of the JCR API specification
ü The Apache Sling framework
The platform includes:

ü Application Runtime - Felix


ü Content Repository - CRX

5
ü Web Application Framework - Sling

OSGi enables a collaborative and modular environment, where each application may be built and implemented
as a small bundle. Each of these bundles is a collection of tightly coupled, dynamically loadable classes, JAR files,
and configuration files that explicitly declare their external dependencies.

All content is stored in the content repository, and hence backup is done at the repository level. OSGi runtime
hosts Java applications that can access the repository using the JCR API. As part of the application runtime, you
get Apache Sling, a RESTful web application framework that exposes the full repository content using HTTP and
other protocols.

Apache Felix is an open source implementation of the OSGi that the Adobe Experience Manager framework
makes use of. It provides a dynamic runtime environment, where code and content bundles can be loaded,
unloaded, and reconfigured at runtime.

6
Introduction to the Java Content Repository
The JCR, specifically JSR-283, is a database that supports structured and unstructured content, versioning, and
observation. All data pertaining to Adobe Experience Manager such as HTML, CSS, JS/Java, Images, and
Videos are stored in the JCR object database. It is built with Apache Jackrabbit Oak. The Adobe
implementation of JSR-283 is the Content Repository eXtreme (CRX), and the version of CRX that comes with
Adobe Experience Manager supports JCR 2.x.

In addition to CRX, Adobe Experience Manager can also work with other JCR repositories such as Apache
Jackrabbit and with a number of non-JCR data storesthrough connectors. As Adobe Experience Manager is built
on top of this standard, it is capable of pulling content not just from its built-in CRX repository, but from any
JCR- compliant source, such as a third-party repository (for example, Jackrabbit) or aconnector that exposes
legacy storage through JCR.

Advantages of using JCR


1. JCR provides a generic application data store for structured and unstructured content. While file systems
provide excellent storage for unstructured, hierarchical content, and databases provide storage for
structured data, JCR provides the best of both data storage architectures.

2. It supports namespaces. Namespaces prevent naming collisions among items and node types that come
from different sources and application domains. JCR namespaces are defined with a prefix, delimited by a
single colon (:); for example, jcr:title.

7
Understanding the Repository Structure
The repository structure consists of the following areas as shown in the above screenshot.

• /apps – all custom templates, components, and any other definitions related to your site is stored here. When
you inherit foundation components, it is done from the libs folder. Always copy the components from libs to
apps, and then modify it in apps. By doing this, no code will be lost when Adobe Experience Manager is
upgraded. You just need to make the updates to the apps folder.

NOTE: It is best practice is to use the Sling Resource Merger feature, and duplicate the required /libs
folder structure (empty folders) under /apps. Make modifications to the node or property, wherever
changes are required.

• /libs –All libraries and definitions that belong to the code of Adobe Experience Manager are stored here. It
includes out-of-the-box components, templates, and other features such as search or replication. It is also
referred to as the foundation components. Avoid making any modifications to any of the components in libs.
• /content – all content of your website is stored in this folder.
• /conf – holds all the configuration files. For Adobe Experience Manager 6.2, it is used to store dynamic
templates and content policies.
• /etc – contains all resources related to utilities and tools.
• /home – contains all information related to users and groups.
• /tmp –is a temporary working area
• /var – contains files that change and are updated by the system, such as audit logs, statistics, and event
handling.
• /oak:index – This node contains Jackrabbit Oak index definitions. Each node specifies the details of one index.
Standard indexes for the Adobe Experience Manager application are visible and additional custom indexes
can be created.
Introduction to Apache Sling

Apache Sling is a web application framework for content-centric applications, and uses a Java Content
Repository, such as Apache Jackrabbit or CRX to store and managecontent.
• It is based on REST principles.
• Its applications are built as a series of OSGi bundles.
• It is resource-oriented, and usually maps into JCR nodes.

The embedded Apache Felix OSGi framework and console provide a dynamic runtime environment, where
code and content bundles can be loaded, unloaded, and reconfigured at runtime. Sling lets you implement
simple applications, while providing an enterprise-level framework for more complex applications.
Sling assumes “Everything is a Resource.” That is, Sling is resource-oriented, where resources have URLs, and
each resource is mapped into a JCR node. A request URL is first resolved to a resource, and then based on the
resource, it selects the Servlet or script to handle that request. Servlets and scripts are handled uniformly in that
they are represented as resources themselves and are accessible by a resource path. This means that every
script, Servlet, filter, error handler, and so on is available from the ResourceResolver just like normal content—
providing data to be rendered on request.

Functional Building Blocks of Adobe Experience Manager


The Adobe Experience Manager application modules, such as Sites, Assets, Communities, Forms, and Apps, sit
on top of the Adobe Experience Manager shared framework. This framework is known as Granite. This

8
framework includes all the application layer functionality such as mobile functionality, multisite manager,
taxonomy management, and workflow. These functionalities are shared among all the application modules. In
addition to these functionalities, these Adobe Experience Manager applications share the same infrastructure
and UI framework, and are very tightly integrated with each other. All of this is encapsulated within the OSGi
container.

9
Chapter 2: Installation
Adobe Experience Manager Workflow

In Adobe Experience Manager terminology, an “instance” is a copy of Adobe Experience Manager running on a
server. Adobe Experience Manager installations usually involve at least two instances, typically running on
separate machines:

• Author: An Adobe Experience Manager instance used to create, upload, and edit content, and administer
the website. After content is ready to go live, it is replicated to the Publish Instance.

• Publish: An Adobe Experience Manager instance that serves the published content to the public.

NOTE: In a basic sense, the author and publish instances are the same software stack but two different
run modes. Run modes are covered later in this course.

These instances are identical in terms of installed software. They are differentiated only by their configuration.
In addition, most installations use a Dispatcher:

• Dispatcher: A static web server (Apache httpd, Microsoft IIS, and so on) augmented with the Adobe
Experience Manager Dispatcher module. It caches webpages produced by the Publish instance to improve
performance.

10
Prerequisites
To install Adobe Experience Manager, you must have:
• Adobe Experience Manager installation and startup JAR file

• Valid Adobe Experience Manager license key properties file

• JDK version 1.8 (http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-


2133151.html)

• Approximately 4 GB of free space per instance

• Approximately 4 GB of RAM (at the very minimum!)

The Adobe Experience Manager installation and startup JAR file is also known as the “quickstart” file. You use
the file to install Adobe Experience Manager. Once installed, the file is referred to as the Adobe Experience
Manager startup file. During installation, you will notice the JAR file creates a root folder called crx-quickstart.

You will also need to set environment variables as part of setting up your JDK 1.8.
Installing Adobe Experience Manager on Your System
In general, when you want to install Adobe Experience Manager on your system, you would follow this
procedure:
1. Create a specific folder structure for your Adobe Experience Manager instance.

a. Author instance
For Windows: C:/adobe/AEM/author
For Mac OS or *x: /opt/adobe/AEM/author OR /Applications/AEM/author

b. Publish instance
For Windows: C:/adobe/AEM/publish
For Mac OS or *x: /opt/adobe/AEM/publish OR /Applications/AEM/publish
2. Add the AEM Quickstart JAR file along with the license.properties file to the folder you created earlier.

3. Rename the jar file to include the run mode as well as the port number. That is, rename the file to the
format:
aem-<run mode>-<port number>.jar

For example:
Author instance: aem-author-4502
Publish instance: aem-publish-4503

The first time you double-click the jar file, Adobe Experience Manager will be installed on your system, creating
a root folder called crx-quickstart, which serves as your repository. The following screenshot shows a
sample folder structure for an Author instance.

11
NOTE: The Adobe Experience Manager quickstart file is renamed for installation purposes. When
running for the first time, the quickstart file will notice that it has to install Adobe Experience Manager.
By renaming the file, you use the convention of passing the instance name (Webpathcontext) and port
number through the file name so no user interaction is needed during the installation process.

If no port number is provided in the file name, Adobe Experience Manager selects the first available
port from the following list in this specific order:

1. 4502

2. 8080

3. 8081

4. 8082

5. 8083

6. 8084, or a random port

Perform Task - Start an Adobe Experience Manager Author Instance, from the Lab Activity section.

Perform Task - Start an Adobe Experience Manager Publish Instance, from the Lab Activity section.

Starting an Adobe Experience Manager Instance

There are many ways of starting an Adobe Experience Manager instance, but this course covers two methods:
graphical user interface (GUI) and command line. The latter option is more powerful because the user has the
ability to configure additional performance-tuning parameters to the Java Virtual Machine (JVM).

Using the JAR FILE to Start an Adobe Experience Manager Instance


In a Windows or Mac OS environment, you can double-click the aem-author-4502.jar file to start an Author
instance (or the aem-publish-4503.jar file for a Publish instance).

• Installation takes approximately 5-7 minutes, depending on your system’s capabilities.

• A dialog box will pop up similar to the following (this is known as the GUI):

12
After Adobe Experience Manager starts, your default browser automatically opens, pointing to Adobe
Experience Manager’s start URL (where the port number is the one you defined during installation).

4. In the Sign In area that displays, enter the default administrator’s credentials (admin/admin), and then
click Sign In.

If this is the first time you are logging in, a wizard displays, asking if you want to configure Analytics & Targeting
now.
5. Click Cancel.

13
6. A hover menu opens, asking if you want to be reminded to complete the Configure Analytics & Target
wizard later, or not ask again (which means it will never open again when you first log in). For this class,
click Don’t ask again.

7. The Welcome screen displays, with different consoles available for you.

14
Using the Command Line to Start Adobe Experience Manager Author Instance

Prior to the installation, you may want to know which parameters are available to configure quickstart. Enter the
following command to display a complete list of optional parameters:

java -jar aem-author-4502.jar -h

The Adobe Experience Manager quickstart installer will show all available command-line options without
starting the server. In addition, you need to tune the JVM used for running Adobe Experience Manager. Tuning
the JVM is an important and delicate task and requires a more realistic environment in terms of resources
(hardware, operating system, and so on) and workload (content, requests, and so on). For now, it will be enough
to know that you can start your instance (Author or Publish) using the following parameters:

-Xms --> assigns the initial heap size

Default value 64 MB for a JVM running on 32-bit machines, or 83 MB for 64-bit machines

Recommended Specific to physical memory available and expected traffic

Syntax -Xms512m (sets the initial heap size to 512 MB)

15
-Xmx --> assigns the maximum size the heap can grow

Default value 64 MB for a JVM running on 32-bit machines, or 83 MB for 64-bit machines

Specific to physical memory available and expected traffic, but should be equal or
Recommended greater than the initial size. To run Adobe Experience Manager, it is recommended to
allocate at least 1024 MB of heap size.

-Xmx1024m (sets the maximum size for the heap. In the example, we are letting it grow
Syntax to 1024 MB; however, in production, this should be higher because Adobe Experience
Manager consumes a lot of resources).

You can now install and start Adobe Experience Manager from the command line together with increasing the
Java heap size, which helps improve performance. Refer to the following image for an example of the command
line.

You can control the way Adobe Experience Manager is installed by defining properties via file name.
Perform Task - Start and installing Adobe Experience Manager using command line, from the Lab Activity
section.
Using the Command Line to Start the Adobe Experience Manager Publish Instance

In your command prompt, navigate to the directory /adobe/AEM/publish, and enter the following command to
install the publish instance:

java -jar aem-publish-4503.jar

16
Exercise 2.1 Starting and Installing Adobe Experience Manager using Command
Line
Overview
Unlike many other applications, you can install Adobe Experience Manager using a quickstart, self-extracting
JAR file and a license.properties file containing the license key. When you double-click the JAR file for the first
time, everything you need is automatically extracted and installed.

In some scenarios, you need to start the Adobe Experience Manager instance using the command line, where
you provide the argument during the instance start-up.
To begin, you need to configure and install two servers:
• Author on localhost port number 4502

• Publish on localhost port number 4503

Content creators and developers use the Author server to create and manage the content. Visitors access the
website and interact with it on the Publish instance.

NOTE: The port numbers would differ in a VILT environment.

Prerequisites
You must have the following to complete the tasks in this module:
• Adobe Experience Manager quickstart JAR file

• license.properties file

NOTE: In a VILT class, the installation would have already been performed.

Steps
1. Task - Start an Adobe Experience Manager Author instance

2. Create a folder structure on your file system where you will store, install, and start Adobe Experience
Manager. For example:

a. Windows: C:/adobe/AEM/author

b. MacOS X: /Applications/adobe/AEM/author or *x: /opt/adobe/AEM/author


3. Copy the aem-quickstart-6.2.0.jar and license.properties files from USB contents.
3 3T 33T 33T 33T

4. Rename the aem-quickstart-6.2.0.jar file to aem-author-4502.jar:


3 3T 33T 3 3T 3 3T

17
a. aem = Application

b. author = Web Content Management (WCM) mode it will run in (in this case, Author)

c. 4502 = Port it will run in (any available port is acceptable)

5. In a Windows or MacOS X environment, double-click the aem-author-4502.jar file. Installation will take
3 3T 33T

approximately 5–7 minutes depending on your system’s capabilities.

After Adobe Experience Manager Author instance has started successfully, the start-up screen will change to
2T

something similar to the following:

In addition, after Adobe Experience Manager starts, your default browser will automatically open to Adobe
2 T

Experience Manager’s start URL (where the port number is the one you defined on installation). For
example: http://localhost:4502
52 4T T 54T

18
Exercise 2.2 Starting an Adobe Experience Manager Publish instance
1. Create a folder structure on your file system where you will store, install, and start the Adobe Experience
Manager. For example:

Windows: C:/adobe/AEM/publish

MacOS X: /Applications/adobe/AEM/publish or *x: /opt/adobe/AEM/publish


2. Copy the aem-quickstart-6.2.0 JAR and license.properties files from USB contents.

3. Rename the aem-quickstart-6.2.0.jar file to aem-publish-4503.jar


3 3T 33T 3 3T

• aem = Application

• publish = WCM mode it will run in

• 4503 = Port it will run in

4. Double-click the aem-publish-4503.jar file to start the Publish instance. After Adobe Experience
3 3T 33T 2 T

Manager Publish instance has started successfully, the start-up screen will change to something similar to
the following:

In addition, the Adobe Experience Manager login page opens from your default browser (where the port
number is the one you defined on installation). For example: http://localhost:4503
5 4T

The Geometrixx Outdoors site opens in your browser once the Publish instance is up and running. If you are
wondering why it shows this, it is based on the root mapping set out of the box for Adobe Experience Manager.

19
Congratulations! You successfully installed and started Adobe Experience Manager Author and Publish
instances on localhost. To start Adobe Experience Manager in the future, double-click the renamed
aem-quickstart-6.2.0.jar file. For example: aem-author-4502.jar
3 3T 33T 3 3T 33T

20
Exercise 2.3 Starting and installing Adobe Experience Manager using command line
[optional]
You already have an author instance and a publish instance running. Perform this task only when necessary or
as an add-on exercise to try out beyond this class.
This is a powerful method because the user can provide additional performance-tuning parameters to the Java
Virtual Machine (JVM). On Windows, MacOS X, or *x, you can install or start Adobe Experience Manager from
the command line, while increasing the Java heap size, which improves performance.

Atypical command line start will have the following:


2 T

java -Xmx1024m -jar aem-author-4502.jar -v

When entered at the command prompt, the Adobe Experience Manager author runmode starts with a specific
memory allocation to the JVM and the GUI window “on”:

At your command prompt, navigate to the Adobe\AEM\author directory, and enter the following command to
install Adobe Experience Manager without installing the Geometrixx sites:

java -jar aem-author-4502.jar -r author, nosamplecontent -gui

TIP: To open a directory in Windows Explorer in a command line, select the directory, and then
press Shift and right-click. You will see an option to open that directory in a command line window.

Summary
You should now be able to:
• install and run the Adobe Experience Manager Author instance

• install and run the Adobe Experience Manager Publish instance

21
Chapter 3: Authoring Basics

Overview
This chapter introduces the Touch User Interface (UI) of Adobe Experience Manager, and shows you how to
create and edit pages.

Objective
By the end of this chapter, you will be able to:

• Navigate through the Touch UI


• Create a page
• Edit a page

22
Introduction to the Touch UI
The Adobe Experience Manager User Interface (UI) combines the advantages of a web interface with the fluidity
and responsiveness usually associated with desktop applications.

Let’s familiarize ourselves with the key areas of Adobe Experience Manager Touch UI. When you load the
application, you are presented with a screen that includes the header bar and content area.

The Header bar has the following elements available globally:

Actions Bar

The Actions bar displays at the top of a page when performing a task in Adobe Experience Manager. The actions
available depend on the page selected. For example, if you select the English-version of the Products page
within the Geometrixx Demo Site, you will see Create, Edit, View Properties, and so forth in the Actions bar.
These actions are “clickable” and let you perform the necessary action based on business need.
OmniSearch (“/”)
OmniSearch is a powerful search tool built into Adobe Experience Manager that you access with one tap - all

you need to do is press / on your keyboard to open OmniSearch.


Coupled with a touch interface, you can reduce the number of steps it takes to reach your final destination. For
example, if you press / to open OmniSearch, then enter Reports, OmniSearch searches Adobe Experience
Manager and returns all results containing the word, “Reports.”

The biggest benefit of OmniSearch is you do not have to click through different menus; if you get lost within
Adobe Experience Manager, all you need to do is press / and enter a partial or full string of your destination’s
name. As you type, your search results appear - you do not have to even press Enter to return the results, and
then you can click on where you need to go.

OmniSearch is also available on all pages within Adobe Experience, making it easier to find and learn more
about different areas in the UI.
Navigating to Consoles and Tools

23
Two major areas you must access during this training are Consoles and Tools. You can access these areas by
clicking Adobe Experience Manager in the upper-left corner of the screen.

You will now be presented with the following options:

• Navigation—Provides access to other consoles such as Projects, Sites, Assets, Mobiles, and so on.

• Tools—Provides access to a number of specialized tools and consoles that help you administer your websites,
digital assets, and other aspects of your content repository.

24
Creating and Editing Pages

A page in Adobe Experience Manager contains components such as text, images, videos, and many more. These
pages are created from templates that define the structure of the page—including where each component must
be placed.

Creating Pages
To organize your website within Adobe Experience Manager, it is critical to understand how your role allows
you to access functionality that lets you create, edit, and publish a website. Without this access, you cannot
access many of the features that comprise Adobe Experience Manager that make it possible to build your
website from concept to completion.

Although content is key, a website needs a foundation - and that foundation is built on pages. Before you add
content, you must create a page within a site.
Two key fields are used when creating a page:

• Title: This is displayed in the console and shown at the top of the content page when editing. This field is
mandatory.
• Name: This is used to generate the Uniform Resource Identifier (URI). The most common URI is the URL
(“web address”). User input for this field is optional. If not specified, the name is derived from the title.

The name of the page should be in lowercase, as it is recommended practice for URLs (some web servers are
case-sensitive while others are not).

NOTE: On the following characters are allowed in the Name field: a through z; A through Z; 0 through
9; _ (underscore); and – (hyphen/minus).

25
26
Exercise 3.1 Creating a page
In this exercise, you will create a demo page for the sample Geometrixx Demo Site. This basic exercise will
introduce you to using OmniSearch to find the Sites console in Adobe Experience Manager, which is where you
will create your page.

To create a page:
1. Log in to Adobe Experience Manager.

2. Press /.

3. In the OmniSearch field, enter Sites and select Go to Sites. The Sites page opens. By default, it opens in
Column View.

4. While in the Column View, select Geometrixx Demo Site then select English.

5. Click Create then select Page from the drop-down.

6. In the Template wizard, select the Geometrixx Content Page template, then click Next.

7. In the Name and Title fields in the Properties wizard, enter these values (leaving all other fields empty):

a. Name: demopage

b. Title: Demo Page


8. Click Create. A Success dialog displays.

9. Click Done. You are back on the Sites page. The new page will appear as a child of the English page under
Geometrixx Demo Site. You can create subpages of any page using the same process.

Editing Pages
Once the page is created, you can edit the content of the page. Content is added using components (content
placeholder) that you can drag and drop onto the page. You can add, edit, and delete components from the
page.

Let’s edit the page and add content using components such as Text, Image, and Text & Image.

27
Exercise 3.2a Editing a page
In this exercise, you will edit the page you created in Exercise 3.1.
To edit a page:

1. If you are not on the Sites console, select the page you just created by clicking Adobe Experience Manager
in the upper-left and clicking Sites.

2. Click Geometrixx Demo Site to expand the language subcategory.

3. Click English and then click the checkmark in the circle on the thumbnail (image) for Demo Page.

TIP: If you do not click the checkmark on the thumbnail, the Actions will not open at the top of the
page.

4. Click Edit from the Actions bar. Demo Page opens in a new tab in the same browser.

5. A Welcome wizard opens on top of the Demo Page; click Skip in the lower-left corner and select Don’t
show again.

6. Verify the page is open in Edit mode by looking at the top-right of the page. You will see Edit, which is part
of a drop-down menu. If another option is selected (for example, Developer), select Edit. This should not
happen, as Edit is the default option when opening a page in Edit mode, but it helps to get to know the UI.

7. To add Text component to the page, click the Toggle Side Panel icon. The side panel opens on the left side
of the tab on the Assets tab. The Assets tab features different fields as well as a drop-down menu for finding
and selecting assets.

8. Click Components underneath the Assets icon. The Components tab opens.

9. In the Filter field, search for a text component by entering Text and pressing Enter.

10. Drag and drop the Text component into the Drag components here area. You will see a gray box with the
word, Text, in the middle. The Drag components here box moves below the new text box.

11. Click the Text component, and then click Edit (pencil icon).

TIP: If you go to another page in your browser (while you are in the Text Editor page), then go back to the
Edit mode of the page you are editing, the Text Editor will close for the Text component.

12. Add sample text and click Save (checkmark) in the upper-right to save the changes. The text is added to the
page.

13. Keep the page open in Edit mode to perform the next exercise.

Exercise 3.2b: Adding an image to a page


In this exercise, you will add an image to the page you created in Exercise 3.1.
To add an image to a page:

1. In Demo Page, double-click Drag components here and select Image from the Insert New Components
menu.

28
2. Choose any image from the Assets tab and then drag and drop the image onto the Image component. The
image will be added to the page.

3. Keep the page open in Edit mode to perform the final exercise in this chapter.

Exercise 3.2c: Adding text and image together to a page


In this exercise, you will learn how to add an image and an image and text (together) to the page.

To add text and image together to a page:

1. In Demo Page, double-click Drag components here and select Text & Image component from the Insert
New Components menu. Selecting this option lets you insert an image with a text box.

2. Choose any image from the Assets tab, and drag and drop the image onto the Text & Image component.

3. Click the Text & Image component, and click Edit (pencil icon) from the component toolbar.

4. Click Text from the in-place editor.

5. Add some text and click Done (checkmark) from the toolbar. You can see the image along with text on the
page.

6. Click X to close the Demo Page, but keep your Adobe Experience Manager publish and author instances
open.

29
Chapter 4: Exploring the Administrative Interfaces

Overview
This chapter will explore the Adobe Experience Manager administrative interface, which helps you configure
Adobe Experience Manager for authors and developers.

Objectives
When you complete the exercises, you will be able to:

• Explain how to browse the application and server interfaces associated with an Adobe Experience Manager
installation
• Use your administrative privileges to configure Adobe Experience Manager

What Interfaces Exist?


A typical AEM installation consists of a Java Content Repository (CRX), and an Application layer sitting on
Granite. Granite is composed of Felix, CRX, Sling, and Application Services. Each layer has its own web interface,
which lets you perform the expected administrative and configuration tasks.

30
Exercise 4.1 Using the Adobe Web Console
1. If it is not already open, open an author instance of Adobe Experience Manager.

2. In the author instance, press / and enter: Web Console and select Go to Tools > Operations > Web
Console (from the search results that appear as you type in OmniSearch). Or, instead of using OmniSearch
(/), open a new tab in your browser and enter: http://localhost:4502/system/console

3. Verify the Adobe Experience Manager Web Console opens, showing you the Bundles application:

4. Click the OSGi drop-down menu, and select Configuration.

5. Scroll down and then click Day CQ Mail Service:

31
6. The Day CQ Mail Service dialog window opens:

7. Click X to close the Day CQ Mail Service window.

8. Congratulations! You successfully logged in to the Adobe Experience Manager Web Console. From the
Configuration Console, you saw which parts (bundles) of the application you can configure.

32
Exercise 4.2 Using CRXDE Lite
CRXDE Lite is a browser-based Integrated Development Environment (IDE) loosely based on Eclipse. The
biggest difference between using CRXDE Lite and a common IDE such as Eclipse or IntelliJ is that the files
(created) are stored directly through CRX. However, CRXDE Lite cannot check in files into the Subversion
instance.

1. In your web browser’s address bar, enter this URL: http://localhost:4502/crx/de/

Or, if you want more of a challenge, open Adobe Experience Manager and click Adobe Experience
Manager in the upper-left then click Tools and CRXDE Lite to open the CRXDE Lite console. You can also
search for CRXDE Lite using OmniSearch (/).

2. On the left side of the console, find and expand apps (top of the folder structure) by clicking +.

3. Navigate to the /geometrixx/components folder to view the custom components created for the
Geometrixx website/project.

33
4. Congratulations! You successfully logged in to CRXDE Lite and browsed the custom components created
for the Geometrixx website/project. Again, CRXDE Lite is embedded into Adobe Experience Manager/CRX
and allows you to perform standard development tasks in a web browser.

5. Click X to close the CRXDE Lite window, but keep your Adobe Experience Manager author and publish
instances open.

34
Chapter 5: Using the CRX Package Manager and
Automating it with cURL

Objective
This chapter explains how to create an AEM package that will combine all elements of the training project
minus images. This helps you understand how to use CRX Package Manager and provides a good example of
packaging application content, which you could then distribute to team members for review. To successfully
complete and understand these instructions, you will need:

• The completed training project with appropriate extensions

Why Do You Need CRX Content Packages?


Packages can include content and project-related data. A package is a zip file that contains the content in the
form of a file-system serialization (also called, “filevault serialization”) that represents the content from the
repository as an easy-to-use-and-edit representation of files and folders. Content packages are a good way to
package application content for distribution to team members for review.
You can perform the following actions with packages:
• Create new packages
• Modify existing packages
• Build packages
• Upload packages
• Install packages
• Download packages from the package share library
• Download packages from AEM to a local machine
• Apply package filters
• View package information

35
Exercise 5.1 Creating, Building, and Downloading a CRX Package
1. With an author instance of Adobe Experience Manager open, enter: /

The OmniSearch bar opens.

2. Enter Packages in the text area.

3. As you type, search results containing the text you entered in Step 2 display.

4. Right-click Go to > Tools > Deployment > Packages and select Open link in new tab. The CRX Package
Manager page opens in a new tab, but in the same browser where your instance of Adobe Experience
Manager author instance is running.

5. Click Create Package at the top.

6. In the following fields in the New Package window, enter these values:

• Package Name: training_project


• Version: 1.0
• Group: training

IMPORTANT! You do not have to create a folder for your package; you can just enter the folder
name (in this case, training) in the Group field. You can also create a folder structure in the Group by
entering the folder path. For example: training/exercises

7. Click OK. You are back on the Package Manager page. At the top of the page, the package you created
(training_project-1.0.zip) is visible.

8. Click Edit on the newly created package. The Edit Package window opens.

9. Click the Filters tab and click Add filter.

10. In the Root path field, enter the following: /apps/geometrixx

11. Click Add rule.

12. Select exclude from the drop-down list.

36
13. Define a rule that excludes all jpg files: Exclude => .+\.jpg=

14. Click Done and then click Save.

NOTE: The group name is a folder name where your package will be stored; you can choose an existing
one or create a new one by providing a new name for the group.

15. Click Build then click Build again to build the package.

37
16. As the package is builds, the Activity log is running in the lower portion of your screen.

17. After the build process is successful, your package is ready for distribution, which means other users can
install it to achieve the same output.

NOTE: A = Added Node; U = Updated Node; D = Deleted Node; and E = Error.

Always check for errors in the build process. Although errors are seldom seen, verify and fix them immediately
because they could cause instability with the repository at a later stage.

An HTTP service interface is available and allows for managing packages using command-line clients, such
cURL, wget, or automated scripts. In this case, you can auto- mate content package management using scripts.

In rest of this chapter, you will learn about cURL syntax for content package management. To successfully
complete and understand these instructions, you will need:

• A running Adobe Experience Manager author instance


• Optional: cURL HTTP client (if necessary, you can download cURL from: http://curl.haxx.se/download.html)
Configuring cURL for Windows

1. Look for the cURL software under USB drive > distribution > curl or you can download the cURL zip file
from: http://curl.haxx.se/download.html

2. Extract the contents (if you downloaded the correct version, you should find curl.exe).

3. Place curl.exe in a folder where you keep your software (for example, C:/ Program Files/curl).

4. To run cURL from the command line:

c. Right-click My Computer.

d. Select Properties.
38
e. Click Advanced system settings.

f. Click the Advanced tab and click Environment Variables.

g. Under System variables, select Path, and click Edit.

h. Add a semicolon before the curl.exe folder path as shown: ;C:/ Program Files/curl

i. You can now run cURL from the command line by entering: curl www.google.com
Installing cURL in Mac OS X

If your device uses Mac OS X as its operating system, you do not have to install cURL, as it comes with the
standard installation of Mac OS X.

39
Exercise 5.2 Using Package Manager with cURL
The following Package Manager operations are currently supported from the command line:
• Uploading packages
• Creating packages
• Deleting packages
• Downloading packages
• Performing a dry run
• Previewing package
• Listing packages (contents)
• Building packages
• Rewrapping packages
• Installing packages
• Uninstalling packages
• Replicating packages

To trigger the above operations, send requests using the command-line client to the CRX repository. The
response is sent back in XML format.

1. See all cURL commands for package manager:

2. Navigate
curl -u admin:admin http://localhost:4502/crx/packmgr/service.jsp to the location of
the package to be

/exercises/5 cURL automation/training_import-1.0.zip

uploaded:

3. Upload content package:

curl -u admin:admin -F package=@training_import.zip


http://localhost:4502/crx/packmgr/service/.json/?cmd=upload

4. Enter the following command to install the package you just uploaded:

curl -u admin:admin -X POST


http://localhost:4502/crx/packmgr/service/.json/etc/packages/training_import-
1.0.zip?cmd=install

5. To delete a package, enter the following command:

curl -u admin:admin -X POST


http://localhost:4502/crx/packmgr/service/.json/etc/packages/training_import-
1.0.zip?cmd=delete

6. Congratulations! You successfully automated uploading, installing, and removing a content package. Refer
to the documentation for more information about building, uninstalling, and other cURL commands

40
supported by Package Manager.

41
Chapter 6: Configuring OSGI Bundles and Setting
Run Modes

Overview
OSGi is a fundamental element in the technology stack of Adobe Experience Manager. It is used to
control the composite bundles that make up Adobe Experience Manager and their configuration.
OSGi provides the standardized primitives that allow applications to be constructed from small,
reusable, and collaborative components that may have no prior knowledge of each other. These
components can be composed into bundles, the bundles composed into an application and the
application is then deployed.

OSGi support for modular deployment of bundles allows easy managementof the application asthe
bundles can be stopped, installed, and started individually. The interdependencies are handled
automatically. Each OSGi component is contained in one of the deployed bundles.

42
OSGi configuration of Adobe Experience Manager
Adobe Experience Manager is installed with default settings for all parameters, which allows it to
run out-of-the box. However, you can configure Adobe Experience Manager and its OSGi
components for the specific requirements of each of your environments.
This can be done either:
• Using the Adobe AEM Web Console Configuration Manager tab -
http://localhost:4502/system/console/configMgr

Recommended as a viewer. The web console will provide information needed for configuring OSGi
components, such as: persistent identity, property names, default values, etc.

• Configuring content-nodes (sling:OsgiConfig) in the repository


Recommended method for configuring OSGi components to ensure configuration per run mode, consistency
across restart, ease of management, source control for changes.

43
• Using configuration files

A few configuration files reside within the file system

Resolution Order at Runtime


Configuration changes made while the system is running trigger a reload with the modified configuration.
Then the following order of precedence applies:

1. Modifying a configuration in the Web console will take immediate effect as it takes precedence at runtime.
2. Modifying a configuration in /apps will take immediate effect.
3. Modifying a configuration in /libs will take immediate effect, unless it is masked by a configuration in /apps.

44
This means that a generic configuration in /libs can be masked by a project specific configuration in /apps.

NOTE: Changes to configuration files require a restart.

Resolution Order at Startup


The following order of precedence is used:
1. Repository nodes under /apps/*/config...either with type sling:OsgiConfig or property files.
2. Repository nodes with type sling:OsgiConfig under/libs/*/config.... (out-of-the-box definitions).
3. Any .config files from <cq-installation-dir>/crx-quickstart/launchpad/config/.... on the local file system. This means that
a generic configuration in /libs can be masked by a project specific configuration in /apps. Also values set in
configuration files can be masked by a project specific configuration in /apps and /libs.

CAUTION: Configuring Adobe Experience Manager may seem straightforward, but you must be aware
that certain changes can have a major impact on the application(s). For this reason, make sure you
have the necessary experience and knowledge before you start configuring Adobe Experience
Manager; make only the changes that you understand, know, and are required. Any changes made
through either the web console or content nodes are immediately applied to the running system (no
restart is required).

Defining Configurations
To configure an OSGi component, you must know the following:
Persistent Identity (PID) of the service

The PID is the unique name for this OSGi component. Reference the component in the AEM Web Console
Configuration Manager. The name is shown in the Configuration Information portion of the configuration dialog.

Individual parameters to be configured


Set values for all parameters, even if you are setting them to the default value. Reference the individual
parameter field in the Web console. The name is shown in brackets for each parameter. For example
(versionpurge.paths).

45
Other useful information for configuring OSGi components includes:
• Whether a Configuration or Factory Configuration is necessary. When you have a single module, you will
have a single configuration that occurs just once in the CRX. There are also cases where you will have
factory modules that allow multiple modules of the same type to exist simultaneously. When configuring a
module generated by a factory, you use a factory configuration. An example of a factory configuration is the
Apache Sling Logging Logger Configuration. This is a factory of creating multiple modules that log to log
files, one per file.
• Does a configuration already exist in /libs? If so, this configuration can be copied from /libs
to /apps/<yourProject>/, then customized in the new location.
• Whether a specific run mode is required. Run modes, which allow you to customize configurations for
multiple environments simultaneously and group configurations per environment, are covered later in this
section.

When configuring OSGi components using content nodes, you will create a folder named using the format:
/apps…/config.*. Inside that config folder, you will create a node of type sling:OsgiConfig whose name matches
the PID of the component being configured. To configure specific parameters for this component, you will
define properties, on the node, which are set to the desired values. AEM maps the node name to the OSGi
component and applies the configurations to that component.
The CRX watches for nodes of type sling:OsgiConfig inside folders named “config”. At system startup, AEM
collects all of the nodes of type sling:OsgiConfig occurring in folders named “config” and applies the
configurations.

46
Exercise 6.1 Configuring the Version Purge Task using a content node
1. Navigate to the AEM Web Console: http://localhost:4502/system/console
2. Click the OSGi drop-down and select Configuration.

3. Click Day CQ WCM Version Purge Task. This configuration dialog will be used as source information to create the
configuration node and associated properties. Take note of the PID, property names and default values.

4. In a different browser tab or window, navigate to AEM Home > Tools > General > CRXDE Lite.

5. In the left pane tree browser, navigate to /apps/geometrixx.

47
6. Right-click on /apps/geometrixx and select Create > Create Folder.

7. Save.
8. Right-click on the config.author folder and select Create > Create Node.
9. Enter the following information and click OK:
Name: com.day.cq.wcm.core.impl.VersionPurgeTask (the PID of the Version Purge Task from the configuration
dialog)
Type: sling:OsgiConfig
10. Save.
11. Select the /apps/geometrixx/config.author/com.day.cq.wcm.core.impl.VersionPurgeTask node you just created.
12. Add the following six properties to the selected node:
Name: granite.maintenance.schedule
Type: String
Value: daily

Name: granite.maintenance.isConservative
Type: Boolean
Value: false

Name: versionpurge.paths
Type: String
Value: /content

Name: versionpurge.recursive
Type: Boolean
Value: true

Name: versionpurge.maxVersions
Type: String
Value: 3

Name: versionpurge.maxAgeDays
Type: String
Value: 15
13. Save.

48
14. Return to the Web Console Configuration Manager and refresh the page.
15. Open the Day CQ WCM Version Purge Task and notice the changes in the parameter values for the component.

Congratulations! You now know how to configure an OSGi component. To put this configuration under change
control, you can create a content package containing the configuration you just defined and any other
configurations. Then export the content package to your change control system.

Run Modes: Defining configurations for multiple environments

Run modes allow you to fine-tune your Adobe Experience Manager instance for a specific purpose (for example,
author, publish, or development). This is done by defining collections of configuration parameters for each
environment, as defined by a run mode.

49
Adobe Experience Manager has built-in author or publish run modes (do not remove these). If required, you can
add additional custom run modes. For example, you could configure run modes for:
• Environment: local, dev, test, prod
• Location: Berlin, Basel, Timbuktu
• Company: acme, partner, customer
• Special system type: importer

Setting Run Modes


It is possible to define specific run mode(s) a specific instance should run on. By default, an author instance runs
on run-mode author and a Publish Instance runs on run-mode publish. It is possible to define several run modes
for one instance. For example, author, foo, and dev. You must set these run-modes as VM options. For example,
from the command line:

java -jar cq-quickstart.jar -r author,foo,dev

Alternatively, in the start script:

::* runmode(s)

set CQ_RUMMODE=author,foo,dev

or by adding entries to the ~/crx-quickstart/conf/sling.properties file, for example:

sling.run.modes=author,dev,berlin

Configurations Per Run Mode


To map a configuration to a specific run mode, you will organize your configuration nodes in folders with the
run mode in the name. For example: to create separate configuration settings for the publish run mode, create
folder names in the form:

config.<runmode> are used, e.g. “config.publish”:

/apps/myapp/config.publish

For systems with run modes publish and berlin:

/apps/myapp/config.publish.berlin

Configurations for Different Run Modes


Example use cases for configuration settings that may be needed for different run modes:
Different mail server configurations per location:

config.basel/com.day.cq.mailer.DefaultMailService

config.berlin/com.day.cq.mailer.DefaultMailService

Enabling or disabling debugging per environment:

50
config.prod/com.day.cq.wcm.core.impl.WCMDebugFilter

config.dev/com.day.cq.wcm.core.impl.WCMDebugFilter

When using different configurations for separate run modes, the following apply:
• The configuration with maximum matching run modes wins.
• Partial configurations are not supported.
• Once the system selects a matching configuration, it will use that configuration, even if all properties are not set in that
configuration.

To avoid unexpected results:


• Always set all properties to avoid confusion.
• If a property is not set on the configuration, the system will use the default value set in the code. Administrators will not
always know where the value came from or what it means.
• Use a type indicator (for example, {Boolean}, {String}) in every property.
• The CRX is typically pretty forgiving on typing. However, for consistency, to reduce confusion, and to ensure no
problems across upgrade, always use a proper type indicator.

Exercise 6.2 Determining the Run Modes of the current instance


1. Navigate to AEM Home > Tools > Operations > Web Console.
2. Navigate to Status > Sling Settings.

3. Notice the default run modes of an Author instance are:

samplecontent, author, crx3tar, crx3

Congratulations! You now know how to check the run modes defined for the current AEM instance.

Deploying Configurations to multiple environments


The goal is to define custom configurations, put them under change control, and promote them to all
appropriate environments. Typically, configurations will be deployed to multiple environments using content
packages. Whether you use the web console configuration manager or content nodes in the repository, the
configuration information is stored in the repository. Therefore, content packages are a natural way to capture
the configuration information, export it to change control, and deploy to multiple AEM instances.
The following are considerations for deploying configurations to multiple environments:

51
Make sure your application code is separate from the configuration, as you may need to use different
configurations with the same application for different environments. Creating separate content packages makes
it easy to deploy the appropriate configuration for each environment.

Make sure your application code does not depend on specific content, as this may not be present in all
environments.

Code/configurations packages will be created in the development environment and will then travel from
development to test and then to production.
You will want to keep the application separate from its configuration. So, typically the application will be in a
separate package from its configuration. There are two main approaches for deploying the configurations:

Packaging Style 1
One configuration package for each environment: for example, QA and production.
Packaging Style 2

One configuration package containing the configurations for all the environments through the use of run
modes.
Now that you know how to configure OSGi components, and you have author and Publish instances, you can
examine how custom run modes affect component configuration. In this next exercise, you will create two
configurations for the Version Purge Task: one for the Author environment and one for the Publish
environment.

52
Exercise 6.3 Creating a Configuration for the Publish Run Mode
1. Navigate to AEM Home > Tools > General > CRXDE Lite.
2. Copy /apps/geometrixx/config.author to /apps/geometrixx/config.publish.

3. Select /apps/geometrixx/config.publish/com.day.cq.wcm.core.impl.VersionPurgeTask.
4. Modify the properties listed to the following values. Leave all other properties unchanged:
Name: granite.maintenance.schedule
Type: String
Value: weekly

Name: versionpurge.maxVersions
Type: String
Value: 7

Name: versionpurge.maxAgeDays
Type: String
Value: 60

5. Save.
6. In a separate browser tab or window, navigate to the Web Console Configuration Manager.
7. Open the Day CQ WCM Version Purge Task and notice the values in the parameter values for the component remain
a match to the configuration defined in /apps/geometrixx/config.author. This is because the config.author folder
matches the author run mode of the Author instance.

53
54
Exercise 6.4 Deploying a Configuration package to another AEM instance
1. Ensure a publish instance is up and listening on port 4503.
2. Navigate to Tools > Deployment > Packages or go directly to the URL: http://localhost:4502/crx/packmgr/index.jsp
3. Click Create Package.
4. In the Create Package dialog box, enter these values:
a) Name: trainingConfig
b) Version: 1.0
c) Group: training
5. Click OK.

6. Click Edit in the package header.


7. In the Edit Package dialog box, click the Filters tab.
8. Click Add filter.
9. In the Root path: field, enter: /apps/geometrixx/config.author

10. Click Done.


11. Click Add filter.
12. In the Root path: field, enter: /apps/geometrixx/config.publish
13. Click Save.

55
14. In the package header, click Build. You now have a package that contains configurations for both author and publish
run modes. To test the publish configurations, you must deploy the package to the publish instance.
15. In the package header, navigate to More > Replicate. This replicates the package to the publish instance.
16. Verify the package arrived at the publish instance: http://localhost:4503/crx/packmgr/index.jsp

17. Examine the configurations in the publish instance using CRXDE Lite: http://localhost:4503/crx/de

18. Use the Web Console on the publish instance to validate the Version Purge Task is configured with the desired values:
http://localhost:4503/system/console/configMgr

56
Congratulations! You now know how to create and deploy environment-specific configurations using run
modes.

Cost/Benefit rundown for the different methods used to define configurations:


Either method can be used though there are subtle differences, primarily in relation to Run Modes:
Adobe CQ Web console

• The Web Console is the standard interface for OSGi configuration. It provides a UI for editing the various
properties, where possible values can be selected from predefined lists.
As such it is the easiest method to use.
• Can be included in content packages for use on other instances
• Any configurations made with the Web Console are applied immediately and applicable to the current
instance, irrespective of the current run mode, or any subsequent changes to the run mode.

Configuration files
• Contain settings defined in the web console.
• Can be included in content packages for use on other instances.
• Any configurations made using configuration files are applied on restart, if applicable.
Content-nodes (sling:osgiConfig) in the repository

• This requires manual configuration using CRXDE Lite.


• Due to the naming conventions of the sling:OsgiConfig nodes, you can tie the configuration to a specific run
mode. You can even save configurations for more than one run mode in the same repository.
• Can be included in content packages for use on other instances
• Any appropriate configurations are applied immediately (dependent on the run mode).
Whichever method you use, all of these configuration methods:

• Ensure that copying or replicating the repository contents recreates identical configurations.
• Allow you to check configurations out to FileVault or Subversion; either for security or further updates.
• Can be saved in packages for use when setting up other instances.

57
• Allow you to perform configuration rollouts using scripts to propogate the configuration details.

58
Chapter 7: Log Files

Overview
Adobe Experience Manager log files provide detailed information about the current system state. In addition to
the default system log files, you can also create and customize your own log files. They can help you better track
messages produced by your own applications and to separate them from the default log entries.

The logging system for Adobe Experience Manager is based on Simple Logging Facade for Java (SLF4J), which
consists of two elements:
• Logging Logger
• Logging Writer

The Writer persists the data provided by the Logger to a configurable location. Usually, it is a file. The Logger
collects data from different components inside Adobe Experience Manager, and filters them by requested
severity level, then redirects the output to a configured Writer.

NOTE: There is no need to configure a Writer unless you need to change the default log file size or
maximum number of files before rotation begins.

In Adobe Experience Manager, you can configure logging for the two major interfaces: Adobe Experience
Manager and the CRX, independently. By default, what happens in Adobe Experience Manager will be of more
interest to you. However, in some cases, you can also set a higher verbosity level for the CRX module.

59
AEM Log Files
The CRX records detailed information in its logs. You can find the AEM logs in ~/crx-quickstart/logs. The out-of-
the-box log files of most interest are:

request.log: Each access request and its response are recorded in this log.

You can also see request log entries using the AEM Operations Dashboard.

access.log: All access requests to AEM and the CRX repository are recorded in this log.

error.log: Error and informational messages are recorded in this log. This is the central log for AEM.

AEM Logging Configuration


The Apache Sling Logging Configuration allows you to configure global settings for logging in AEM. You can
configure the:

• logging level
• location of the central log file
• number of versions to be kept
• version rotation; either maximum size or a time interval

60
• format to be used when writing the log messages

NOTE: Any changes that you make to the logging configuration should be made by defining standard
OSGi configuration nodes in the repository.

For more information about Sling Logging, refer to:


http://sling.apache.org/documentation/development/logging.html

Creating custom log files


There are three ways to configure AEM’s Logging system to create and maintain log files:
• AEM Web Console Configuration Manager
• AEM Web Console Sling Log Support pane
• OSGi configurations

Pro Tip: In production, Adobe recommends configuring everything using OSGi configurations in the repository
and using the Adobe Web Console as a viewer only. However, the Sling Log Support pane of the AEM Web
Console is an excellent choice for developers to use for debugging.

61
Exercise 7.1 Create a Custom Log File using a Logging Logger Configuration
In this first example, you will create a new Logger module based on a factory module (Apache Sling Logging
Logger Configuration) To create the logging logger configuration, you will create a config folder and define
a sling:OSGiConfig node. The node name will be the name of the logging logger factory with a unique
string suffix to distinguish this logger from all the other loggers. It should log protocol messages generated
by the modules org.apache.felix and com.day packages, filtering out messages with log severity higher than or
equal to ‘Debug’.

1. Navigate to AEM Home > Tools > CRXDE Lite (http://localhost:4502/crx/de/).


2. If the /apps/geometrixx/config.author folder does not already exist, do the following (otherwise, go to Step
3):

a) Right click the /apps/geometrixx folder and choose Create... Create Node.
b) Enter the following values in the Create Node dialog:
Name: config.author

Type: sling:Folder
3. Click Save All.

4. Right-click /apps/geometrixx/config.author and select Create > Create Node.


5. Enter the following values in the Create Node dialog:

Name: org.apache.sling.commons.log.LogManager.factory.config-TRAINING
Type: sling:OsgiConfig

6. Click OK and then Save All.


7. Create the following properties on the newly created node and click Save:
Name: org.apache.sling.commons.log.file
Type: String
Value: logs/training.log

Name: org.apache.sling.commons.log.level
Type: String
Value: info

Name: org.apache.sling.commons.log.pattern
Type: String
62
Value: {0,date,dd.MM.yyyy HH:mm:ss.SSS} *{4}* [{2}] {3} {5}

Name: org.apache.sling.commons.log.names
Type: String[] (String Array) (String + Multi)
Values: org.apache.felix, com.day

8. Do not forget to Save the properties!

9. In your file system, navigate to ~/crx-quickstart/logs. You should see the file training.log.

10. Open the training.log file to examine its contents. These are the Information level messages being logged
by the org.apache.felix and com.day packages.

Congratulations! You now know how to use OSGi configuration to create a custom log file.

Exercise 7.2 Create a custom log file using the Sling Log Support pane
1. Using the AEM Web Console, navigate to Sling > Log Support.

63
2. Click on Add New Logger.

3. Enter the following information:

Log Level: Debug

Log File: /logs/training2.log


Logger: org.apache.sling

4. Click Save.

5. On your file system, navigate to: ~/crx-quickstart/logs

64
6. Open the training2.log file. You will notice that it is already logging. (You may have to access an AEM
page.)

Congratulations! You now know how to create log files using:


• standard OSGi configuration nodes in the repository
• the Sling Log Support pane of the AEM Web Console

65
Chapter 8: Operations Dashboard

Overview
The Operations Dashboard in Adobe Experience Manager 6.2 helps system operators to monitor the Adobe
Experience Manager system health at a glance. The Dashboard also provides auto-generated diagnosis
information on relevant aspects of Adobe Experience Manager and allows configuring and running of self-
contained maintenance automation to reduce project operations and support cases significantly.
The Operations Dashboard can be extended with custom health checks and maintenance tasks. Further,
Operations Dashboard data can be accessed from external monitoring tools via JMX. You can access the
Dashboard from AEM Home > Tools > Operations or by using OmniSearch by pressing “/” and entering
Operations.

Health Reports
The Health Report system provides information on the health of an Adobe Experience Manager instance
through Sling Health Checks. You can do this either through OSGI, JMX or HTTP requests (via JSON). It offers
measurements and threshold of certain configurable counters and, in some cases, will offer information on how
to resolve the issue.

66
Diagnosis Tools
Diagnosis Tools help you find and troubleshoot root causes of the warnings reporting from the Health Check
Dashboard, as well as providing important debugging information for system operators.

Amongst the most important features are:


• A log message analyzer
• The ability to access heap and thread dumps
• Requests and query performance analyzers

67
Automated Maintenance Tasks
The Automated Maintenance Tasks page is a place where you can view and track recommended maintenance
tasks scheduled for periodic execution. The tasks are integrated with the Health Check system and their
execution has minimal impact on system performance. The tasks can also be manually executed from the
interface.

Adobe Experience Manager 6.x ships with a default set of automated maintenance tasks, including Version
Purge, Workflow Purge, and Revision Clean Up among others,
Custom maintenance tasks can be implemented as OSGi services. The maintenance task infrastructure is based
on Apache Sling's job handling.

Monitoring

The Health Check Dashboard can integrate with Nagios via the Granite JMX Mbeans.

For more information about the Operations Dashboard, see: https://docs.adobe.com/docs/en/aem/6-


2/administer/operations/operations-dashboard.html

68
Exercise 8.1 Adding a New Task to the Maintenance Schedule
1. Navigate to AEM Home > Tools > Operations > Maintenance > Daily Maintenance Window.

2. Click on the “+” icon to add a new task.

3. Select the Version Purge task and click Done.

4. A new card displays in the daily maintenance page.

5. Before you run the Version Purge task, return to the System Maintenance page, AEM Home > Tools > Operations >
Health Reports > System Maintenance. Notice that a new CRITICAL task has shown up.

69
6. Return to the daily maintenance page and run the Version Purge task by clicking on the Play button.

Congratulations! You now know how to add a new task to the automated maintenance schedule.

70
Exercise 8.2 Modify the Maintenance Schedule
1. Navigate to AEM Home > Tools > Operations > Maintenance.

2. Hover over the Daily Maintenance Window and click Configure.

3. Modify the Start time to 3:00 and Click Save.

Congratulations! You now know how to modify the Automated Maintenance Schedules.

71
Exercise 8.3 Configure the Workflow Purge Task.

1. Navigate to and open the Weekly Maintenance Window (Tools > Operations > Maintenance > Weekly
Maintenance window).

2. Hover over the Workflow Purge task and click Info.

3. Close the Info window.


4. To configure the Workflow Purge, you must add the workflow models to be purged to the Workflow Purge Scheduler. If you
run the task before specifying the workflow models to be purged, the task will fail.

5. Navigate to AEM Home > Tools > Web Console > Configuration Manager. Find the Workflow Purge Scheduler:
com.adobe.granite.workflow.purge.Scheduler
http://localhost:4502/system/console/ configMgr/com.adobe.granite.workflow.purge.Scheduler

72
Notice the configuration is empty. To configure the Workflow Purge Scheduler, you must create
configuration nodes in the repository.

6. Navigate to AEM Home > Tools > CRXDE Lite (http://localhost:4502/crx/de/)


7. If the /apps/geometrixx/config.author folder does not already exist, do the following (otherwise, go to Step 7):
a. Right click the /apps/geometrixx folder and choose Create... Create Node.
b. Enter the following values in the Create Node dialog:
Name: config.author
Type: sling:Folder
c. Click Save All.
8. Right-click /apps/geometrixx/config.author and select Create > Create Node.
9. Enter the following values in the Create Node dialog and click OK:
Name: com.adobe.granite.workflow.purge.Scheduler-WEEKLY

Type: sling:OsgiConfig

10. Save.
11. Add the following properties on the Properties tab. As you add each property, click Save All. Refer to the following table
for the four properties you will add:
Name Type VALUE
scheduledpurge.name String Weekly Purge
scheduledpurge.workflowStatus String COMPLETED
scheduledpurge.modelIds String[] “”(leave this blank)
scheduledpurge.daysold Long 28

73
12. Navigate to AEM Home > Tools > Web Console > Configuration Manager http://localhost:4502/system/console/
configMgr/com.adobe.granite.workflow.purge.Scheduler

Notice that all values, except the workflow models are filled in. The explanation next to the
ModelIds to Purge notes that leaving the ModelIds blank will purge all models.

13. Return to the Workflow Purge task and run the task. You will notice that the card has a green indicator, meaning

Success.

Congratulations, you now know how to configure a purge task.

74
Extra credit exercise: Successfully run the Audit log Maintenance Task
Using the same methodology as Exercise 8.4 and the com.adobe.cq.audit.purge.Scheduler, configure the Audit
Log Maintenance task to run successfully.

75
Exercise 8.4 Configure Health Reports to Check Bundle Status
1. Navigate to AEM Home > Tools > Operations > Health Reports.
2. Check the Active Bundles card in the Health Reports.

3. After the “vanilla” installation (out-of-the-box settings) with Adobe Experience Manager, the status of this card should
be OK (Green card).
4. Click the card to ensure that there are no inactive or unresolved bundles.

To test the Health Check, you will stop a bundle.


1. Navigate to AEM Home > Tools > Web Console.
2. Click Stop for the Apache Sling Simple WebDAV Access to Repositories bundle as shown.

3. Return to the Health Reports and refresh the page. You will notice that the Active Bundles card has changed to yellow
(WARN).

76
You can also configure the Active Bundles Health Check to monitor the status a specific set of bundles.
4. Navigate to AEM Home > Tools > Web Console > Configuration Manager.
5. Find the Adobe Granite Active Bundles Health Check.

Pro Tip: There is a short cut to go directly to the Adobe Granite Active Bundles Health Check bundle from the
Active Bundles Health Check. Click the Configuration button on the Active Bundles card as shown.

6. For testing purposes, you can quickly fill in the form in the Web Console configuration tab, but it is preferable to use a
node of type sling:OsgiConfig with the appropriate name and properties as described in the following tables.

Node:
Node Type sling:OsgiConfig
Name com.adobe.granite.bundles.hc.impl.InactiveBundlesHealthCheck

Properties:
hc.tags String[]= “” (leave this blank)
ignored.bundles String[]= org.apache.sling.jcr.webdav

77
7. Return to the Health Reports and you will notice that the Active Bundles card has returned to the green OK status:

The OK status is reached because you specified that the org.apache.sling.jcr.webdav bundle be ignored.

Congratulations! You successfully used the Operations dashboard to check the status of your AEM instance
concerning the ‘Active Bundles’, and you have learned how to configure the health check bundle associated
with this card.

Composite Health Checks

A Composite Health Check's role is to aggregate a number of individual Health Checks sharing a set of common
features. For instance, the Security Composite Health Check groups together all the individual health checks
performing security checks.

You can create custom composite Health Checks by configuring the Composite Health Check OSGi component.

78
Exercise 8.5 Working with Security Checks

1. Navigate to Tools > Operations > Health Reports > Security Checks. You will see some cards for a number of key
security points. Note the disclaimer as it is important to realize that there is more to security than what you find in the
dashboard. For more help on this point, you should consult the online documentation as concerns the Security
checklist:

https://docs.adobe.com/docs/en/aem/6-2/administer/security/security-check- list.html

Most of the cards in Security Checklist dashboard are in yellow WARN status.

79
2. Notice that the Default Logins Accounts card is one of the Security Checks with WARN status. Click it.
3. Click on the Default Logins card to see a diagnosis and Hint for solutions.

8. Follow the hints to find a solution for this Security Check.


9. Change the CRX Password.
a. Navigate to AEM Home > Tools > Security.
b. Select the Administrator user.

80
c. Click the Change Password link.
d. Modify the password.

NOTE: Do not forget the password! This is the new administrator password!

Change the Web Console password


1. Navigate to AEM Home > Tools > Web Console > Configuration Manager.
2. Find the Apache Felix OSGi Management Console component and modify the password directly in the console.

81
NOTE: This is the only item you should configured directly in the Web Console.

3. Change the password for the default user Author.


4. Navigate to AEM Home > Tools > Security.
5. Select the Author user.
6. Click the Change Password link.
7. Modify the password.

8. Return to the Security Checks page in the Dashboard. The Default Logins card is now green (OK status).

82
Congratulations! You consulted the Security Checks dashboard, addressed some of the points in the Security
checklist to change the status of the Default Login’s security card, and learned about the Security checklists.

83
Chapter 9 - Replication

Overview
Replication, activation, and publish are three terms that have been used interchangeably describe the process of
transferring data in the forward direction from one AEM instance to another: typically, from an AEM author
instance to one or more AEM publish instance(s), in response to a content author’s Publish action. The Publish
action triggers the replication agent(s) to start the replication process.
Publishing a page or an asset typically means making that page or asset available on the publish instance(s),
your public website. Pages and assets can also be unpublished, which means removing the page/asset from the
publish instance (public website), but leaving it available on the author instance. Pages and assets can also be
deleted from the author instance, which automatically removes them from the publish instance.
Publish/Unpublish/Delete requests are queued to the replication agents for processing. Replication agents are
central to Adobe Experience Manager (AEM) as the mechanism used to:

• Publish (activate) content from an author to a publish environment.


• Explicitly flush content from the Dispatcher cache.

Each replication can transfer content to one and only one endpoint. So if you have four Publish Instances, you
need to define four replication agents.

In this chapter, you will learn

• How the replication process works


• What types of replication agents are available out-of-the-box
• Monitoring replication agents
• How to configure replication agents

84
How the replication process works
As mentioned, replication typically means transferring content from author instance to publish instance in
response to a content author’s Publish action. However, in some cases it might be appropriate to define author-
to-author replication or even publish-to-publish replication. No matter the source or the target, the forward
replication process is the same.

As shown in the figure above:

1. Author requests that certain content be published (activated); this can be initiated by a manual request, or
by automatic triggers that have been preconfigured.
2. Request is passed to the appropriate default replication agent(s); an environment can have several default
agents, which will always be selected for such actions.
3. Replication agent "packages" the content and places it in the replication queue.
4. Content is lifted from the queue and transported to the publish environment using the configured protocol;
usually this is HTTP.
5. Servlet in the publish environment receives the request and publishes the received content; the default
servlet is: http://localhost:4503/bin/receive

85
Replication Agents available out-of-the-box

The following replication agents are available out-of-the-box for a standard AEM instance:
Default Agent

Used for forward replication, typically from author to publish.


Dispatcher Flush
This is used for managing the Dispatcher cache.
Reverse Replication
Used for replicating from publish to author. As of AEM 6.1, reverse replication is not used for Communities
features, such as forums, blogs, and comments. It is effectively disabled as theoutbox is not enabled by
default. Use of reverse replication would require custom configuration.

Static Agent

This is an "Agent that stores a static representation of a node into the filesystem.".
For example with the default settings, content pages and dam assets are stored under /tmp, either as HTML or
the appropriate asset format. See the Settings and Rules tabs for the configuration.
This was requested so that when the page is requested directly from the application server the content can be
seen. This is a specialized agent and (probably) will not be required for most instances.

Test and Target

Used to integrate with Adobe Test and Target. This agent is not enabled by default and must be enabled on the
author instance when using Adobe Test and Target as a targeting engine for targeted content.

86
Dynamic Media Hybrid Image Replication (s7 delivery)
Used to publish Dynamic Media assets such as images, video metadata, and sets to the Adobe-hosted Image
Service. The Replication Agent is not enabled by default.

Offloading Outbox Replication Agent


Used to ensure that the payload is created on the instance that eventually consumes the job, when offloading
jobs using the Offloading Framework.

Monitoring Replication Agents


You can monitor the status of the replication agents and their queues from AEM Home > Tools > Operations >

Configuration.

Using the Replication Agent Overview pages, you can examine the

• State: enabled or disabled


• Status of an agent: whether it is blocked or idle
• Its target

87
• Its queue

In addition to monitoring the replication agents, you can use the agent overview pages to refresh the display,
pause the display of queue entries, access the replication log for that agent, force a replication retry, and clear
the queue.

Configuring Replication Agents

88
When configuring a replication agent from the Tools console, five tabs are available within the dialog:

• Settings: Specifies Agent properties, such as Name, Description, Serialization Type, Retry delay, etc.

• Transport: Specifies target listener service location, access information, etc. The transport tab supports
definition of only one destination.

89
1. Proxy: Specifies proxy information

2. Extended: Specifies custom connection

90
3. Triggers: Specifies triggers which cause this agent to run, such as On Modification, On Receive, etc.

4. Batch: Specifies Batch properties, such as Trigger size, Max Wait time, etc.

91
For more information about the details of the configuration tabs of the replication agents, refer to the following URL:

https://docs.adobe.com/docs/en/aem/6-2/deploy/configuring/replication.html#Replication Agents - Configuration


Parameters

Configure the replication agents from the Tools tab in the author environment, whether the agents will eventually
run in the author environment or the publish environment. If you are configuring an agent that will be enabled and
run in the publish environment, you configure the agent and then publish/activate/replicate the agent to the publish
instance.

92
Exercise 9.1 Examining a Replication Agent Overview page
In this exercise, you will examine the state, status, and destination for a replication agent.

1. Verify that an author instance is running.


2. Verify that a publish instance is up and listening on port 4503.
3. In the author instance, navigate to AEM Home > Tools > Operations > Configuration.

4. Expand Replication and select Agents on Author in the left-hand browser tree.
5. In the right-hand pane, double-click Default Agent to open the overview page. This is the forward
replication agent.
6. Notice the state and status of the agent.

7. Notice the destination: the endpoint to which this agent will replicate content:

http://localhost:4503/bin/receive?sling:authRequestLogin=1

8. Click on Test Connection to test whether the publish instance is running.

9. Click on View Log to examine the replication log for this agent.

Congratulations! You now know how to monitor a replication agent, test the connection to its destination, and view
its log.

93
Exercise 9.2 Publishing a page and understand what the replication agent does
In this exercise, you will publish a page and then open the replication log to examine what happened.

1. Verify an author instance is running.


2. Verify a publish instance is up and listening on port 4503.
3. In the author instance, navigate to Sites > Geometrixx Outdoors Demo Site > English.
4. Select Men’s and click Publish. If it asks about any additional assets, just click Publish.

5. Navigate to AEM Home > Tools > Configuration and open the Default Agent overview page.
6. Click View Log.

Congratulations! You now know how to use the replication agent log to investigate replication actions.

94
Exercise 9.3 Configure Replication for Two Publish Instances
In order to publish to two publish instances, you need two forward replication agents, one for each publish instance.
Start by creating an additional replication agent.

1. Verify that an author instance is running.


2. Verify that a publish instance is up and listening on port 4503.
3. In the author instance, navigate to AEM Home > Tools > Configuration.
4. Using the left-hand navigation tree, navigate to Replication and select Agents on Author.
5. In the right-hand pane, right-click on the Default Agent and select Copy.

6. Click Paste in the toolbar. In the dialog, change the name to publish1. Leave all other defaults unchanged.

7. Click in the Title field of the new Default Agent and change the name to Publish2.
8. Click Enter and click Yes.

The Default Agent is replicating to http://localhost:4503. Since you copied the Default Agent, you must configure the
new replication agent to replicate to a different publish instance.

9. Double-click on the Publish2 replication agent to open its overview page.


10. Click the Edit button to open its configuration dialog.

11. Select the Transport tab.

12. In the URI field, change the port number to 4505. Leave all other defaults unchanged.

13. Click OK.


Now see what happens when you publish a page.

1. Navigate to Sites > Geometrixx Outdoors Demo Site > English.


2. Select Women’s and click Publish. If it asks about any additional assets, just click Publish.

NOTE: The system is smart enough to know that the Men’s page has not been modified since it was last
published, so DO NOT publish the Men’s page again.

95
3. Open the overview page for the Default Agent. Notice the queue is empty and the status is “idle”.

4. Open the overview page for the Publish2 agent. Notice there are items in the queue and the status is
“blocked”.

5. Click View Log to investigate the problem.

96
6. Click Test Connection.

7. The Publish2 agent could not replicate because there is no publish instance listening on port 4505. You
need to start a second publish instance listening on port 4505.
8. Using the same method that you used earlier, create a second publish instance. For example:

9. Start the second publish instance.


10. Navigate to the overview page for the Publish2 agent.

11. Once the second publish instance is up and listening, you should see the replication agent’s queue empty.

97
12. Congratulations! You now know how to create additional replication agents.
Activate Tree
From the Sites view of AEM you can publish individual pages. Sometimes you may need to publish an entire
sub-tree of your website at once. The AEM Activate Tree tool provides the capability to activate an entire tree in
one action. You will find Activate Tree by navigating to AEM Home > Tools > Operations > Replication >
Activate Tree.

The Activate Tree tool allows you to choose the tree you want to activate and then perform a dry run to test
what will happen during the replication process. You will also notice the three options that will control what
gets replicated/activated. If checked, the options enable the following rules:

• Only Modified: Activate only content that has been modified since it was last published/activated.
• Only Activated: Activate only content that has been published previously.
• Ignore Deactivated: Do not activate content that has been previously deactivated.

98
Exercise 9.4 Activate Tree
1. Verify that an author instance is running.
2. Verify that a publish instance is up and listening on port 4503.
3. In the author instance, navigate to AEM Home > Tools > Operations > Replication.
4. Double-click on Activate Tree in the left-hand navigation tree to open the Activate Tree page.

5. Enter /content/geometrixx/en into the Start Path field. Leave other defaults unchanged.

99
6. Click Dry Run to test the activation of the tree.

7. Click Activate.

Congratulations! You now know how to activate a tree of pages.

Administer and Securely Maintain Adobe Experience Manager v.6.x Student Guide 100

You might also like