Adobe Experience Manager Tutorial PDF
Understanding AEM Author and Publisher
AEM has two essential components: the author instance (containing all content creation processes) and the publisher. Together, these forms make up its entire architecture.
Imagine prepping content before hitting “Print.” With AEM, this involves creating, editing, and previewing it on an author instance to ensure everything looks correct before publishing it to live servers.
Publisher instances display your completed content directly to end users when they visit your website, while author servers remain protected and internal.
Setting Up AEM Servers
When you install AEM for a website, two servers will be needed: one to serve the author instance and the publisher instance.
Both servers use identical AEM jars and license files; specify whether one server acts as the author or the publisher instance upon configuration.
Content creation occurs on an Author AEM Server before being replicated to both Publisher Servers for user consumption.
Although content moves seamlessly across both servers, code deployment must occur separately.
Content Management in AEM
Authors and content managers in AEM manage all updates made to the author instance – everything from replacing images to editing text is managed here.
In addition, developers often work alongside authors to refine and improve the content and functionality of AEM author instances.
Once content has been produced and tested, it is replicated to the publisher instance for publication, where pages go live to allow users to engage.
Only content moves as each server independently manages code deployment.
The Role of Dispatchers in AEM
A dispatcher plays an invaluable role in AEM by controlling caching and load balancing. Running on Apache web servers, these dispatchers ensure users are directed towards appropriate publisher servers to balance load across publishers effectively.
Caching rules can also be configured in the AEM dispatcher. You can choose which pages should be cached and set regulations to invalidate them when content updates become active. Ultimately, this ensures smooth user experiences throughout your website.
Installing and Configuring Apache Web Server for AEM
To launch AEM, the first step should constantly be installing and configuring an Apache server as our foundation layer, then layering additional dispatcher modules upon it.
As previously discussed, AEM’s Apache web server operates independently from other files; instead, it functions like a server with its own port number and operating procedures.
To get Apache running, you must download its executable ZIP file and run it locally. From that moment forward, Apache will operate independently on that port number.
Example 1: Our author instance must operate properly on port 4502, while publisher instances might run on port 4403.
Likewise, Apache Web server could utilise another port, like 9503.
The Role of Apache Dispatcher in AEM
Every website in AEM requires a server; to run websites properly, AEM uses an Apache web server with a dispatcher as this server.
When users send requests to AEM’s websites, these requests hit the dispatcher, which directs them towards the publisher services for handling.
The Apache server and dispatcher work together to provide adequate load balancing, which enables us to efficiently meet user requests by evenly dispersing load across instances.
Within Apache dispatcher, specific configurations are implemented for load balancing, caching and filtering.
Filtering and Security in AEM Dispatcher
Filtering is an essential part of AEM’s dispatcher. At this level, malicious scripts or repeated requests targeted against publisher servers are blocked by setting filtering rules that only permit specific requests, ensuring security for these assets.
For example, to increase security and prevent unintended access, initially block all paths before selecting which are allowed.
For instance, your website could be named ‘Sample Content Home,’ with access blocked initially and later authorised only for specific content paths.
This approach strengthens protection and can protect against unwanted intrusion.
Load Balancing and Caching with AEM Dispatcher
AEM’s dispatcher goes beyond filtering; it also handles caching and load balancing to distribute requests evenly between all instances to avoid overload.
Caching in the dispatcher accelerates content delivery by serving cached responses directly to users, optimising the performance of AEM-powered websites.
Understanding AEM Components
Adobe Experience Manager, or AEM for short, provides developers an effective platform for efficiently developing and managing content.
When working with AEM, one often encounters AEM components whose behaviours must be changed based on specific project needs.
The “sling:resourceSuperType” property enables us to customise components according to predefined templates within live code bases.
By taking advantage of this property, components inherit styles and functionality from predetermined templates without disrupting functionality within live codebases.
Imagine accessing a component path containing dialogue styles on pages within AEM. Core components are organised so that page components inherit properties and dialogue styles from higher levels in their hierarchy.
These files can be stored in either an app or library path; here, the sling: resourceSuperType helps manage inheritance smoothly to facilitate modular and reusable development practices.
Advanced Features with AEM Components
AEM allows users to extend or alter existing tabs and fields within components; for instance, you might require adding an entirely new container tab with custom fields.
Although AEM components can be tailored to any project’s requirements, their implementation closely mirrors Java inheritance, where each child can only have one parent.
As a result, all aspects inherited by one component will stay consistent throughout your project.
In AEM, adding new fields or tabs is easy, whether expanding an existing tab with extra fields or creating entirely new tabs—without disrupting parent-child relations within component hierarchies.
Mutable and Immutable Paths in AEM
In AEM, specific hierarchies can be classified as immutable or mutable based on how dynamically their paths change; the latter remains static once deployed.
Adobe Cloud ensures the integrity and stability of its core components by making immutable paths, such as apps and libs, inaccessible on the fly for modification. This protects critical configurations that could otherwise become vulnerable over time, protecting crucial assets.
Mutable paths such as “content,” “conf,” and “etc.” allow dynamic updates at run time, making scripting much simpler. Only these mutable hierarchies permit dynamic modifications to occur in real time.
This distinction between mutable and immutable properties ensures AEM maintains robust deployment while offering flexibility as required.
Workflows in AEM
Workflows can be game-changers in AEM, automating repetitive tasks and streamlining the execution of defined steps.
For instance, as an author, you produce content that must receive approval before publication. A workflow allows this approval process to work effortlessly.
Instead of engaging with approvers manually each time, workflow takes over by automatically sending content for approval and, once approved, proceeding to the replication phase.
With AEM Workflows, manual intervention for these tasks is eliminated—approvers are informed about any pending tasks. They must act within 24 hours, or else AEM Workflows will continue replicating or activating them automatically.
This automation saves time and ensures consistency across your organisation when performing these activities.
Understanding AEM Workflows
Let me show you how AEM workflows can simplify your life. They manage all the tasks associated with updating or editing pages within AEM.
Simply initiating it gets the job done!
Creating a New Workflow in AEM
To create new workflows in AEM, head to the models section. AEM provides numerous pre-built workflows here.
But if none meet your specifications, feel free to create your own.
Let’s say our workflow is named ‘Sample Workflow.’ Once created, it should be straightforward; just give it a name before outlining its actions.
For example, send requests for approval before replicating pages if approved (using AEM Approval Steps Configuring Approval Steps as your guideline).
Depending on their purpose and intent, approval steps in AEM might take several forms (sending out approval requests via an AEM Action Filter is another method). However, configuring approval steps is more complex for more complex scenarios (See Configuring Approval Steps in AEM for details).
To accomplish what you desire, AEM users or those configuring approval steps within AEM need to take configuration steps before action (described below).
Once complete and named and configured accordingly. Steps Needed for AEM Approvals in AEM
Configuring Approval Steps in AEM
One key step of the AEM workflow involves sending a request to an approver. AEM makes this easier thanks to its participant step feature, which sends an email notification to any assigned individual or group.
Just assign it to the appropriate group, and anyone within this group can take action accordingly.
Assign the ‘Sample Group’ to members who will receive notification about a workflow process; each can approve or request changes as they wish, with AEM Workflows taking care of everything else for us and replicating Pages with AEM Workflows.
Replicating Pages with AEM Workflows
Replication is our next step in AEM workflows, and AEM already provides us with a convenient predefined step: activating pages once users approve them.
All it requires to start replication is selecting it; AEM takes over from there!
Delegating Tasks in AEM Workflows
AEM workflows offer task delegation. Suppose a member is unavailable to carry out the task themselves. In that case, they can delegate it to someone else from within their approval group, ensuring smooth operations regardless of any adverse situations.
This feature ensures continuous operation for better efficiency.
As soon as I added another user to the Sample Group, everything ran seamlessly—one of AEM’s greatest strengths is its ease of use in managing user groups.
Starting a Workflow in AEM
To initiate a workflow in AEM, select your page and choose your workflow model—for instance, ‘Sample Workflow.’
We could select this model, then determine whether it applies only to that page or whether its child pages also need this rule.
Once AEM is up and running, its automation takes over; from sending approval requests to replicating pages.
AEM proves itself invaluable by freeing you of time-consuming administrative duties so you can focus on more creative aspects of your project.
Understanding AEM Workflows
Once you become acquainted with AEM workflows, managing them becomes straightforward. Starting new workflows from either the three-dot menu or workflow creation page is effortless.
Selecting an effective page or path is absolutely critical in creating the optimal workflow experience. By setting your payload parameters, which essentially define where a particular process begins.
Assigning Workflow Participants in AEM
Assign Workflow Participants in AEM Each workflow in AEM involves participants, often organized in approval teams.
These users receive notifications regarding the workflow to ensure its efficient running.
Accessing notifications in AEM is easy – simply click the bell icon in AEM’s interface, which opens your inbox containing workflow-related alerts.
Steps in AEM Workflow Approval
As soon as a task lands on an approval user’s desk, various actions are available: they can review and approve, delegate tasks or take necessary steps.
An approval user also assesses changes made to pages before forwarding them or sending back for corrections as appropriate.
Tracking Workflow Status in AEM
AEM provides tools to monitor workflow instances, archive completed workflows, and identify failed ones.
Completed ones go into an archive while those identified as failed are categorised separately based on error code; errors do not always mean failure – errors could indicate backend issues or logic misalignment which need further investigation before labelling an attempt as failed.
Executing Workflow Actions in AEM
AEM as part of this tracking mechanism. After approval, the next step typically is activation. Unfortunately if no publisher instance is running, queue may get blocked up.
AEM assigns system users who execute tasks behind-the-scenes for automation workflow execution and guaranteed queue clearance.
Creating and Managing Workflow Models in AEM
AEM makes creating and managing workflow models incredibly straightforward, offering as many steps as needed to build models that demonstrate how workflows operate with different components of an enterprise system.
Key elements such as add, split and post-split are integral in structuring workflows efficiently by managing parallel or conditional steps in parallel or serial ways.
Routing and Decision-Making in AEM Workflows
AEM Workflow Routing Expressions facilitate efficient decision-making within workflows by defining which branches should execute according to predetermined rules. Routing expressions also provide direction on where these expressions should take effect in AEM Workflows.
Routing logic allows workflows to adjust execution paths efficiently through the system, ensuring tasks move efficiently along their routes.
Understanding AEM Workflow Process
When working with AEM’s workflow process, it is vitally important to fully comprehend its multiple steps, which facilitate streamlining tasks efficiently.
Integrating custom logic via process steps is central to this workflow process. They enable developers to execute Java code behind the scenes.
Once an event triggers one of them, AEM Workflow for Excel File Processing handles the files’ activities automatically.
Leveraging AEM Workflow for Excel File Processing
AEM effectively turns Excel files into structured page nodes in CRX. When an Excel file is uploaded to the DAM folder, a workflow runs to read its content and produce pages based on it.
Java code must be written and configured appropriately to incorporate custom logic. It is then automatically executed as part of the process steps to allow seamless data transformation.
Configuring Process Steps in AEM
AEM allows developers to configure process steps by using its workflow process interface, providing an organised way of structuring logic and automating complex operations.
Process steps must be configured carefully with their associated properties for smooth workflow execution.
When set correctly, they appear in the dropdown menu for easy selection during workflow execution.
Understanding AEM Service and System Users
Within AEM, both service users and system users serve important roles; service users modify code while system users primarily manage authentication processes.
Understanding these distinctions is vital in maintaining secure access within AEM and automating workflows within the platform.
Automating Workflows in AEM
One of AEM’s hallmark features is the capability of automating workflows using launchers. Instead of manually initiating processes, launchers ensure they run automatically based on predefined conditions.
Configuring AEM workflow launchers with specific event types and node paths enables it to automate workflow execution without manual intervention, though excessive automation could pose performance risks.
That said, due diligence must always be exercised when automating too many processes simultaneously.
AEM Workflow Launcher vs. Event Handler
AEM Offers Two Mechanisms for Triggering Workflows AEM provides two mechanisms for initiating workflows: workflow launchers and event handlers.
Workflow launchers automate execution but may consume resources when not adequately monitored and administered.
Event handlers provide another alternative approach for handling events without initiating lengthy workflows, depending on your environment’s requirements and efficiency concerns.

Sai Susmitha
Author