Introduction

Prerequisites for Developing on AEM

You will need the following skills for developing on top of AEM:

  • Basic knowledge of web application techniques, including:
    • the request -response (XMLHttpRequest / XMLHttpResponse) cycle
    • HTML
    • CSS
    • JavaScript
  • Working knowledge of the Experience Server (CRX), including the Content Explorer
  • Basic knowledge of JSP (JavaServer Pages), with the ability to understand and modify simple JSP examples

It is also recommended that you read and follow the Guidelines and Best Practices.

Java Content Repository

The Java Content Repository (JCR) standard, JSR 283, specifies a vendor-independent and implementation-independent way to access content bi-directionally on a granular level within a content repository.

Specification lead is held by Adobe Research (Switzerland) AG.

The JCR API 2.0 package, javax.jcr.* is used for the direct access and manipulation of repository content.

Experience Server (CRX) and Jackrabbit

The Experience Server provides the Experience Services which AEM is built on, and which can be leveraged to build custom applications, and it embeds the Content Repository based on Jackrabbit.

Apache Jackrabbit is an open source, fully conforming, implementation of the JCR API 2.0.

URL Decomposition

In Sling, processing is driven by the URL of the user request. This defines the content to be displayed by the appropriate scripts. To do this, information is extracted from the URL.

If we analyze the following URL:

http://myhost/tools/spy.printable.a4.html/a/b?x=12

We can break it down into its composite parts:

protocol host content path selector(s) extension suffix param(s)
http:// myhost tools/spy .printable.a4. html / a/b ? x=12
  • protocol
    • HTTP
  • host
    • Name of the website.
  • content path
    • Path specifying the content to be rendered. Is used in combination with the extension; in this example they translate to tools/spy.html.
  • selector(s)
    • Used for alternative methods of rendering the content; in this example a printer-friendly version in A4 format.
  • extension
    • Content format; also specifies the script to be used for rendering.
  • suffix
    • Can be used to specify additional information.
  • param(s)
    • Any parameters required for dynamic content.

results matching ""

    No results matching ""