- Notifications
You must be signed in to change notification settings - Fork12
An implementation of AEM.Design component concepts
License
aem-design/aemdesign-aem-core
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
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 ofaemdesign-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 thedevelop
branch.
Contributions are welcome! Read theContributing Guide for more information.
Detailed table of component can be found hereComponent 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 theAEM Core WCM Components' versioning policies wiki page.
Following is a description of each repo and their purpose.
For more information seeProject 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, thereleased aggregate packageaemdesign-aem-core-deploy
can be installed via the AEM Package Manager.
For more information about the Package Manager please have a look atHow 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 onhttps://repo.adobe.com
For more details about the UberJar please head over to theHow 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 athttps://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 thecontent-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 pluginsversions-maven-plugin
andmaven-scm-plugin
Version numbers should follow theSemVer convention.
Release versions are automated and based on Tags in format MAJOR.MINOR and Commit count from Tag using thegit 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 thechange log for all version history.
Please ensure you have GPG setup and you sign all of your commits.
About
An implementation of AEM.Design component concepts