/aem-core-wcm-components

Adobe Experience Manager (AEM) Sites Core Components - flexible, extensible, and feature-rich components to build sites

Primary LanguageJavaApache License 2.0Apache-2.0

AEM Sites Core Components

CircleCI Code Coverage Maven Central

A set of standardized components for AEM 6.3+ that can be used to speed up development of websites.

Documentation

Development

If you're curious about how the next generation of components looks like, a tech preview is made available in the development branch.

Contributing

Contributions are welcome! Read the Contributing Guide for more information.

Mailing List

For discussions and Q&A, you can use our public mailing list hosted on googlegroups.com. You can also subscribe via Email aem-core-components-dev+subscribe@googlegroups.com.

Available Components

Template components

  1. Page
  2. Navigation
  3. Language Navigation
  4. Breadcrumb
  5. Quick Search

Page authoring components

  1. Text
  2. Title
  3. Image
  4. Download
  5. Embed
  6. Experience Fragment
  7. Teaser
  8. Button
  9. List
  10. Content Fragment
  11. Content Fragment List
  12. Separator
  13. Sharing

Container components

  1. Container
  2. Carousel
  3. Accordion
  4. Tabs

Form components

  1. Form container
  2. Form text field
  3. Form options field
  4. Form hidden field
  5. Form button

Visit the roadmap wiki page for the main upcoming components and features.

Component Versioning

The components' versioning scheme is documented on the AEM Core WCM Components' versioning policies wiki page.

System Requirements

The latest version of the Core Components, require the below system requirements:

Core Components AEM 6.5 AEM 6.4 AEM 6.3 Java
2.7.0 6.5.0.0+ 6.4.4.0+ 6.3.3.4+ 8, 11

For a list of requirements for previous versions, see Historical System Requirements.

Installation

To install everything, excluding examples, the released aggregate package core.wcm.components.all can be installed via the AEM Package Manager.

For more information about the Package Manager please have a look at How to Work With Packages documentation page.

Build

The project has the following requirements:

  • Java SE Development Kit 8 or Java SE Development Kit 11
  • Apache Maven 3.3.1 or newer

For ease of build and installation the following profiles are provided:

  • autoInstallSinglePackage - install everything to an existing AEM author instance, as specified by http://${aem.host}:${aem.port}
  • autoInstallSinglePackagePublish - install everything to an existing AEM publish instance, as specified by http://${aem.publish.host}:${aem.publish.port}
  • autoInstallPackage - installs the package/bundle to an existing AEM author instance, as specified by http://${aem.host}:${aem.port}
  • autoInstallPackagePublish - installs the package/bundle to an existing AEM publish instance, as specified by http://${aem.publish.host}:${aem.publish.port}

UberJar

This project relies on the unobfuscated AEM 6.3 cq-quickstart. This is publicly available on https://repo.adobe.com

For more details about the UberJar please head over to the How to Build AEM Projects using Apache Maven documentation page.

Install everything

You can install everything needed to use the components on your running AEM instance by issuing the following command in the top level folder of the project:

mvn clean install -PautoInstallSinglePackage

Individual packages/bundles

You can install individual packages/bundles by issuing the following command in the top level folder of the project:

mvn clean install -PautoInstallPackage -pl <project_name(s)> -am

Please note that

  • -pl/-projects option specifies the list of projects that you want to install
  • -am/-also-make options specifies that dependencies should also be built

Include core components into your own project maven build

To add core components to your project, you will need to add it to your maven build. The released version of the core components are available on the public maven repository at https://repo1.maven.org/maven2/com/adobe/cq/core.wcm.components.all/

For Projects using Maven Archetype 17 and below

To include the core components package into your own project's maven build using AEM's maven archetype 17 and below, you can add the dependency to your pom.xml like this

<dependency>
    <groupId>com.adobe.cq</groupId>
    <artifactId>core.wcm.components.all</artifactId>
    <type>zip</type>
    <version>2.7.0</version>
</dependency>

and then add this subpackage to your sub package section

 <subPackage>
     <groupId>com.adobe.cq</groupId>
     <artifactId>core.wcm.components.all</artifactId>
     <filter>true</filter>
 </subPackage>

inside the configuration of the content-package-maven-plugin.

Also, make sure that if you have a submodule like ui.apps to add the core components as a dependency to ui.apps/pom.xml as well.

For Projects Using Maven Archetype 18 and Above

To include the core components package into your own project using AEM Archetype 18+, add it as a dependency to your build like so:

<dependency>
    <groupId>com.adobe.cq</groupId>
    <artifactId>core.wcm.components.all</artifactId>
    <type>zip</type>
    <version>2.7.0</version>
</dependency>

Then add it as a subpackage

 <subPackage>
     <groupId>com.adobe.cq</groupId>
     <artifactId>core.wcm.components.all</artifactId>
     <filter>true</filter>
 </subPackage>

inside the configuration of the filevault-package-maven-plugin.

For more information on how to setup the Adobe Maven Repository (repo.adobe.com) for your maven build, please have a look at the related Knowledge Base article