A set of standardized components for AEM 6.4+ that can be used to speed up development of websites.
You will require a latest version of aemdesign-aem-compose that has the base dialog's configuration content.
If you're curious about how the next generation of components looks like, a tech preview is made available in the
develop
branch.
Contributions are welcome! Read the Contributing Guide for more information.
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 / Content Fragment | Content Fragment |
Content / Content Template | Content Template |
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 / Generic Details | Generic Details |
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 Map | Google Map |
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 |
Replication / Akamai Cache Flush | Akamai Cache Flush |
The components' versioning scheme is documented on the AEM Core WCM Components' versioning policies wiki page.
Following is a description of each repo and their purpose.
For more information see Project Artifacts
Repo | Notes |
---|---|
aemdesign-aem-author/ | has all of the components and configurations that modify/update AEM |
aemdesign-aem-common/ | has all of the components code |
aemdesign-aem-core-deploy/ | monolith package for all projects |
aemdesign-aem-services/ | has all of the code that compiled and installed by common project |
The latest version of the Core Components, require the below system requirements:
AEM Version | 2.0.0 |
---|---|
6.4 | yes |
6.5 | yes |
To install everything, excluding examples, the released aggregate package aemdesign-aem-core-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.
Following packages are dependencies and should be installed on your AEM instance before installing AEM.Design:
- ACS Twitter 1.0.0
- ACS Commons 4.4.0
- Core Components 2.8.0
- Core Components Extension 1.0.12
- Netcentric Access Control Tool 2.3.2
- Adobe Vanity URL 1.0.2
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:
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-core-deploy package to your local AEM instance running on port 4502deploy-local-publish
- deploy aemdesign-aem-core-deploy package to your local AEM instance running on port 4503
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.
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-core-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-core-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-core-deploy</artifactId>
<filter>true</filter>
</subPackage>
inside the configuration of the content-package-maven-plugin
.
Following section describes some of the development topics
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 when you make small incremental changes
aemdesign-aem-core-deploy
module creates an aem package for deployment which contains:
aemdesign-aem-author
amedesign-aem-common
aemdesign-aem-common
module embeds bundles:
aemdesign-aem-services
To ensure the project builds correctly locally run:
mvn -Dvault.useProxy=false -DskipTests -e -U clean package
To build and deploy the project to your local aem instance (default localhost:4502), in the project root run:
./deploy-local
Releases are managed via the maven plugins versions-maven-plugin
and maven-scm-plugin
Version numbers should follow the SemVer convention.
Release versions are automated and based on Tags in format MAJOR.MINOR 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 a new tag for your current version MAJOR.MINOR, the rest will be automated:
git tag 2.1 -f -m "2.1"
To create a release all you need to do is create a tag MAJOR.MINOR on master branch and push it.
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.
Please review the change log for all version history.
Please ensure you have GPG setup and you sign all of your commits.