/aemdesign-aem-support

support suite for aem design core project

Primary LanguageGroovyApache License 2.0Apache-2.0

aemdesign-aem-support

build_status Quality Gate Status codecov Maven Central github license github issues github last commit github repo size github repo size github release Visit AEM.Design Gitter

A set of content and support projects that should be deploy alongside aemdesign-aem-support.

Documentation

Contributing

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

Available Components

Detailed table of component can be found here Component List.

Component Category Link
Cloud Services / Rest Rest
Cloud Services / Salesforce API Salesforce API
Common / Redirection Notification Redirection Notification
Common / Static Content Include Static Content Include
Common / Timing Component Timing Component
Content / File Download Link File Download Link
Content / Embed Source Embed Source
Content / External External
Content / Link Link
Content / Content Reference Content Reference
Content / Table Table
Content / Rich Text Rich Text
Content / Tool Tip Tool Tip
Content / Page Author Page Author
Content / Page Date Page Date
Content / Page Description Page Description
Content / Page Tags Page Tags
Content / Page Title Page Title
Details / Contact Details Contact Details
Details / Event Details Event Details
Details / Location Details Location Details
Details / News Details News Details
Details / Page Details Page Details
Layout / Article Article
Layout / Aside Aside
Layout / Breadcrumb Breadcrumb
Layout / Columns Columns
Layout / Content Block Content Block
Layout / Content Block Lock Content Block Lock
Layout / Content Block Menu Content Block Menu
Layout / Content Tabs Content Tabs
Layout / Footer Footer
Layout / Header Header
Layout / Nav Bar Nav Bar
Layout / Container Container
Lists / Asset List Asset List
Lists / Contact List Contact List
Lists / Event List Event List
Lists / Lang Nav Lang Nav
Lists / List List
Lists / List Nav List Nav
Lists / Location List Location List
Lists / News List News List
Lists / Page List Page List
Lists / Search Results List Search Results List
Lists / Tag List Tag List
Lists / Nav List Nav List
Media / Audio Audio
Media / Image Image
Media / Video Video
Analytics / Analytics Data Layer Analytics Data Layer
Template / AEM.Design Base Page AEM.Design Base Page
Template / Cloud Config / AddThis AddThis
Template / Cloud Config / Google Analytics Google Analytics
Template / Cloud Config / Google Maps Google Maps
Template / Column / AEM.Design One Column Page AEM.Design One Column Page
Template / Column / AEM.Design Three Column Page AEM.Design Three Column Page
Template / Column / AEM.Design Two Column Page AEM.Design Two Column Page
Template / Common / Design Importer Design Importer
Template / Experience Fragment / AEM.Design Experience Fragment AEM.Design Experience Fragment
Widgets / AddThis / Addthis Button Addthis Button
Widgets / Online Media Online Media
Widgets / Search Box Search Box
Workflow / Process Payload Process Payload
Workflow / Project Task Manager Project Task Manager
Workflow / Project Update Project Update
Workflow / Rest Rest
Workflow / Salesforce API Salesforce API
Workflow / Send Email Send Email
Coral / Common/Form / Tag Field Tag Field
Coral / Datasources / Forms Forms
Coral / Datasources / Tags Tags
Coral / Foundation / Accordion Accordion
Coral / Widgets/Form / Asset Options Asset Options

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:

AEM Version 2.0.0
6.4 yes
6.5 yes

Installation

To install everything, excluding examples, the released aggregate package aemdesign-aem-support-deploy 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.

Package Dependencies

Following packages are dependencies and should be installed on your AEM instance before installing AEM.Design:

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:

  • deploymentpackage - activates packaging of aemdesign-aem-support-deploy
  • installdeploymentpackage - installs the deploy package/bundle to an existing AEM author instance

You can use helper script for ease of local deployment

  • deploy-local - deploy aemdesign-aem-support-deploy package to your local AEM instance running on port 4502
  • deploy-local-publish - deploy aemdesign-aem-support-deploy package to your local AEM instance running on port 4503

UberJar

This project relies on the AEM 6.4 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.

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 framework are available on the public maven repository at https://repo1.maven.org/maven2/design/aem/aemdesign-aem-support-deploy/

To include the deploy package into your own project's maven build using maven you can add the dependency to your pom.xml like this

<dependency>
    <groupId>design.aem</groupId>
    <artifactId>aemdesign-aem-support-deploy</artifactId>
    <type>zip</type>
    <version>2.0.100</version>
</dependency>

and then add this subpackage to your sub package section

 <subPackage>
     <groupId>design.aem</groupId>
     <artifactId>aemdesign-aem-support-deploy</artifactId>
     <filter>true</filter>
 </subPackage>

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

Development Notes

Following section describes some of the development topics

Release Versions

Release versions are automated and based on Tags and Commit count from Tag using the git describe command

To test git versioning run

git describe

this will show you generated version message with latest tag and how many commits since tag.

If you get an error:

fatal: No annotated tags can describe

create or overwrite an existing tag with a message:

git tag 1.0 1.0^{} -f -m "initial tag"

Version Convention

Version numbers for Git Tags should follow semver format:

  • MAJOR version when you make incompatible API changes,
  • MINOR version when you add functionality in a backwards-compatible manner, and
  • PATCH version is automatically generated based on git commit count from last Tag

Please use MAJOR and MINOR version in Tags, PATCH version will be automatically added as a commit count since the last tag using the git describe.

Release history

Please review Versions for all version history