AEM Introduction

Adobe Experience Manager (AEM) is an enterprise-grade web content management system with a wide array of powerful features.

With AEM people in your organization can:

  • Author and publish websites. This is achieved using two specialized environments:
    • Author:
      Here you can enter and manage the content for your website.
      Use either of the two UIs (classic and touch-optimized) to author and administer content on a range of devices (desktop, laptop, tablet, etc).
    • Publish:
      This environment makes the content available to your intended audience.
  • Develop your website; complete with customized components, enforcement of corporate design, user access control (for editing and publishing rights) and specific views for a range of devices (e.g. mobile).
  • Administer your environments to ensure that the configuration is optimized to your requirements.
  • Define and implement workflows for a wide range of tasks including the creation, editing, review and publishing of content.
  • Manage a repository of digital assets such as images, videos, documents and dynamic media, then integrate these assets into your website.
  • Use search queries to find content no matter where it is stored in your organization.
  • Set up social community tools like blogs, user groups, and calendars.
  • Organize your digital assets and web pages using tagging.
  • Plan, design, launch, and optimize marketing campaigns.
  • Integrate an eCommerce system that will control product data, shopping carts, checkout and order fulfillment, while AEM controls the data display and marketing campaigns.

For more information click here


Interview Questions

Note: For complete AEM introduction watch this video

The AEM Stack:

The AEM Stack can be divided as follows, from lowest to highest level.
Mountain View

JAVA Platform

Adobe Experience Manager (AEM) is a Java web application and therefore requires a server-side Java Runtime Environment (JRE). At least JRE 1.6 is required, though JRE 1.7 is recommended.

Granite Platform

Granite is Adobe's open web stack. It forms the technical foundation on which AEM is built.

OSGI FRAMEWORK

OSGi is a dynamic software component system for Java. In an OSGi-based system, an application is composed of an assemblage of components, called bundles in OSGi terminology, which can be dynamically installed, started, stopped and uninstalled at runtime, without shutting down and restarting the entire application.In a running AEM instance, bundle management is provided through the AEM Web Console at http://:/system/console/bundles.

SERVLET ENGINE

In a quickstart installation, the built-in CQSE servlet engineruns as a bundle within the OSGi framework. In a war file installation servlet handling is delegated to a third-party application server.AEM includes a built-in servlet engine (CQSE) which runs as a bundle within the OSGi framework when AEM is deployed via the standalone quickstart jar file.

JCR CONTENT REPOSITORY

All data within AEM is stored in the built-in CRX content repository, which is an implementation of the Java Content Repository Specification (JCR).
All data in AEM is stored in its built-in content repository.
  • The repository built into AEM is called CRX.
  • CRX is Adobe's implemention of the Content Repository Specification for Java Technology 2.0, an official standard published through the Java Community Process as JSR-238 (version 1.0 was known as JSR-170)

SLING CONTENT DELIVERY

AEM is built using Sling, a Web application framework based on REST principles that provides easy development of content-oriented applications. Sling uses a JCR repository, such as Apache Jackrabbit, or in the case of AEM, the CRX Content Repository, as its data store. Sling has been contributed to the Apache Software Foundation

AEM modules

Abobe Experience Manager runs on Granite platform, within OSGi framework. Individual AEM modules are WCM, DAM, Workflow, etc.

Customer Applications

Customer Applications run on AEM. Customer specific applications (websites, etc. also run within OSGi framework).

For more information click here

The major tech stack upgrades in AEM 6.1/6.0.
1. Jackrabbit Oak: Compared to JCR, Oak offers improved performance, scalability. You also have an option of using NoSQL DB like MongoDB as persistence layer to support clustering and user generated data scenarios.
2. Sightly: New templating language, makes markup look beautiful, enforces separation of the markup from logic and also offers XSS protection by default.
3. Touch UI: Classic UI in CQ5 which is ExtJS based has been upgraded to Touch UI which supports touch enabled devices - built using Coral UI framework.
4. Search - Apache Solr: Default search engine in CQ5 was Lucene, this has been upgraded to Solr. You can now configure Solr server as search engine for your AEM application.
For more information click here

Adobe Experience Manager 6.2 is an upgrade release to the Adobe Experience Manager 6.1 code base. It provides new and enhanced functionality, key customer fixes, high priority customer enhancements and general bug fixes oriented toward product stabilization. It also includes all Adobe Experience Manager 6.1 feature pack, hot fix, and service pack releases.

The list below provides an overview
Security Features
  • Added support for password history.
  • Configurable authentication token expiration
  • Ongoing effort: Switched usage of the Sling loginAdministrative API to Service Users it various areas of the product.
Main repository enhancements are:
  • Support for MongoDB Enterprise 3.2
  • Cold standby enhancements to support a procedural failover for high availability in TarMK.
  • Oak search enhancements like Faceted Search, Suggestions, Spellchecker and more.
  • Performance, Scalability and Resilience in general.
  • Revision Cleanup Support(Offline revision cleanup is the recommended way of performing revision cleanup)
User Interface
AEM 6.2 implements the 2016 Adobe Marketing Cloud UI design (also known as Shell 3). Further - the user interface is in transition from Coral UI 2 to the Web Component based Coral 3 UI library.
Operations Dashboard:
  • "Explain Query" provides insight to the mechanics of your queries to support diagnosis and optimization.
  • Specific repository aspects can be monitored on a configurable timeline view in the Tools/Operations section.
  • A configurable series of Java thread dumps can be downloaded now with the Status.zip from the Tools/Operations/Diagnosis section.
  • User Sync Diagnostics to support consistency for User/Groups across AEM instances.
Content Distribution:
  • Package replication to support extra large activation volumes
  • Priority-Queuing configuration to allow split between urgent activations and backlog.
  • A configurable series of Java thread dumps can be downloaded now with the Status.zip from the Tools/Operations/Diagnosis section.
  • Auto-unlocking stuck replication queues incl advanced notifications
For more information click here

Adobe Experience Manager 6.3 is an upgrade release to the Adobe Experience Manager 6.2 code base. It provides new and enhanced functionality, key customer fixes, high priority customer enhancements and general bug fixes oriented toward product stabilization. It also includes all Adobe Experience Manager 6.2 feature pack, hot fix, and service pack releases.

Online Revision Cleanup Support

Oak Segment Tar File Format: A new TarMK format for optimized runtime and maintenance performance. It claims to perform better than the previous TarMK format and also fully supports online revision cleanups. This last point should be music to the ears of anyone who has worked on cloud automation with AEM. There will no longer be a need to shutdown an instance to perform a repository compaction and it is now scheduled to run frequently as part of the maintenance tasks.

Activity maps

The AEM Sites Activity Map integration introduced in AEM 6.3 allows the Adobe Analytics Activity Map to expose analytics data directly on the the AEM Sites page, enabling AEM Authors to understand how their pages are engaged with down to the link. more

Bulk workflow

Increased productivity with faster workflow-related tasks and ability to process multiple items in one click.

Sling Model Exporter

Sling Model Exporter was introduced in Sling Models v1.3.0. This new feature allows new annotations to be added to Sling Models that define how the Model can be exported as JSON.

To attach the exporter framework to a Sling model, define a resourceType using the @Model annotation and use the @Exporter annotation to specify the Jackson exporter along with the Sling extension (and optionally the selectors). It is also possible to make use of Jackson annotations to alter the JSON representation of the model.

  @Model(
      adaptables = Resource.class,
     resourceType = "acme/components/sling-model"
  )
  @Exporter(name = "jackson", extensions = "json")
  public class MyModel {

      @Inject @Named("jcr:title")
      private String title;

     @Inject @Named("jcr:created")
      private Calendar createdAt;

      public String getTitle() {
          return title;
     }

      @JsonIgnore
      public Calendar getCreatedAt() {
          return createdAt;
     }
  }

Livefyre Integration

Adobe acquired Livefyre back in May 2016 and has now integrated it within Adobe Experience Manager as a set of components along with a user-generated content ingestion & moderation console. Once a Livefyre cloud service configuration is setup, it allows content authors to add components (located under /libs/social/integrations/livefyre/components ) on a page to surface user generated content from social media like Twitter and Instagram. The combination of traditional branded experiences and social media content will prove to be an effective way to drive engagement with customers. The use of Livefyre does require a separate Assets and Livefyre license but does not require a Communities license. more

Content Fragments

Content Fragments allow working on text based content out-side the context of an experience. With AEM 6.3 the variations capability, that allows keeping flavors of the content in one place, was extended with the ability to propagate changes made in the original copy to the variations using the Sync feature. Further, to help shorten text, a Summarize feature was added, that leverages extractive summarization to recommend sentences that could possibility be removed. more

Please find below some of the important links/features/references related to AEM 6.3.