Skip to content
Go to file

Latest commit

* CQ-4299472 Add UI Test module

* Removed usages of term eaas

* Remove debug logging

* Update WDIO dependencies to latest major versions

* Make file upload functions a WDIO custom command and add related Convention variables

* Docker image reflects project coordinates

* Improve upload file test case

* Fix Copyright headers

* Remove comment

* Fox references to internal links in documentation

* Refactor init of WDIO custom commands

* Add test for ui.content sample page

* Make tests agnostic to AEM language

* Add linting feature

* Linting

* Fix specs list for local execution

* Removed test not relevant for cloud context

* Enforce shell script as execution permission

* Only generate ui.tests module when AEM version is cloud

* Add support in tests for browser headless mode

* Add "Testing" feature

* Add profile for local execution of the tests (without Docker)

* Removed obsolete reference of ui.tests + list ordering

* Use dynamic template values for Docker test image

* Make ui.tests module available whatever aemVersion is used

* Add test for sample content page

* Add default value for AEM_AUTHOR_URL parameter

* Documentation

* Fix profile names

* Make test reset changes after execution

* Documentation

* Fix test for Windows platform

* Make test agnostic to AEM language

* Fix indentation

* Fix Docker image naming to support uppercases

* Typo

* Optimize WDIO configuration files

* Add filename prefix parameter to the saveScreenshot function

* Handle AEM Survey dialog

* Fix Windows specifics

* Increase default timeouts to handle slow first-time rendering of AEM pages

* Disable "save password" popup in Chrome

* Handle AEM tutorial popups

* Minor refactor for headless mode

* Comment

* Minor refactor for headless mode

* Extract Assets test in dedicated spec file

* Increase WDIO default wait timeout

* Refactor handling of user onboarding dialogs

Co-authored-by: David Catalan <catalan@Davids-MacBook-Pro.local>
Co-authored-by: David Catalan <catalan@davids-macbook-pro-1.home>
Co-authored-by: David Catalan <catalan@davids-mbp-1.home>

Git stats


Failed to load latest commit information.

AEM Project Archetype


Maven template that creates a minimal, best-practices-based Adobe Experience Manager (AEM) project as a starting point for your website.


  • Archetype Documentation: Overview of the archetype architecture and its different modules.
  • Following tutorials are based off this archetype:
    • WKND Site: Learn how to start a fresh new website.
    • WKND Single Page App: Learn how to build a React or Angular webapp that is fully authorable in AEM.


  • Best Practice: Bootstrap your site with all of Adobe's latest recommended practices.
  • Low-Code: Edit your templates, create content, deploy your CSS, and your site is ready for go-live.
  • Cloud-Ready: If desired, use AEM as a Cloud Service to go-live in few days and ease scalability and maintenance.
  • Dispatcher: A project is complete only with a Dispatcher configuration that ensures speed and security.
  • Multi-Site: If needed, the archetype generates the content structure for a multi-language and multi-region setup.
  • Core Components: Authors can create nearly any layout with our versatile set of standardized components.
  • Editable Templates: Assemble virtually any template without code, and define what the authors are allowed to edit.
  • Responsive Layout: On templates or individual pages, define how the elements reflow for the defined breakpoints.
  • Header and Footer: Assemble and localize them without code, using the localization features of the components.
  • Style System: Avoid building custom components by allowing authors to apply different styles to them.
  • Front-End Build: Front-end devs can mock AEM pages and build client libraries with Webpack, TypeScript, and SASS.
  • WebApp-Ready: For sites using React or Angular, use the SPA SDK to retain in-context authoring of the app.
  • Commerce Enabled: For projects that want to use Commerce Integration Framework (CIF) to integrate with commerce solutions like Magento.
  • Testing: ready-to-use Functional and UI testing modules, start adding your own tests
  • Example Code: Checkout the HelloWorld component, and the sample models, servelets, filters, and schedulers.
  • Open Sourced: If something is not as it should, contribute your improvements!


To generate a project, adjust the following command line to your needs:

  • Set aemVersion=cloud for AEM as a Cloud Service;
    Set aemVersion=6.5.0 for Adobe Managed Services, or on-premise. The Core Components dependency is only added for non cloud aem versions as the Core Components are provided OOTB for AEM as a Cloud Service.
  • Adjust appTitle="My Site" to define the website title and components groups.
  • Adjust appId="mysite" to define the Maven artifactId, the component, config and content folder names, as well as client library names.
  • Adjust groupId="com.mysite" to define the Maven groupId and the Java Source Package.
  • Lookup the list of available properties to see if there's more you want to adjust.
mvn -B archetype:generate \
 -D archetypeGroupId=com.adobe.granite.archetypes \
 -D archetypeArtifactId=aem-project-archetype \
 -D archetypeVersion=23 \
 -D aemVersion=cloud \
 -D appTitle="My Site" \
 -D appId="mysite" \
 -D groupId="com.mysite" \
 -D frontendModule=general \
 -D includeExamples=n

Available Properties

Name Default Description
appTitle Application title, will be used for website title and components groups (e.g. "My Site").
appId Technical name, will be used for component, config and content folder names, as well as client library names (e.g. "mysite").
artifactId ${appId} Base Maven artifact ID (e.g. "mysite").
groupId Base Maven group ID (e.g. "com.mysite").
package ${groupId} Java Source Package (e.g. "com.mysite").
version 1.0-SNAPSHOT Project version (e.g. 1.0-SNAPSHOT).
aemVersion 6.5.0 Target AEM version (can be cloud for AEM as a Cloud Service; or 6.5.0, 6.4.4, or 6.3.3 for Adobe Managed Services or on-premise).
sdkVersion latest When aemVersion=cloud an SDK version can be specified (e.g. 2020.02.2265.20200217T222518Z-200130).
includeDispatcherConfig y Includes a dispatcher configuration either for cloud or for AMS/on-premise, depending of the value of aemVersion (can be y or n).
frontendModule none Includes a Webpack frontend build module that generates the client libraries (can be general or none for regular sites; can be angular or react for a Single Page App that implements the SPA Editor).
languageCountry en_us Language and country code to create the content structure from (e.g. en_us).
singleCountry y Includes a language-master content structure (can be y, or n).
includeExamples y Includes a Component Library example site (can be y, or n).
includeErrorHandler n Includes a custom 404 response page that will be global to the entire instance (can be y or n).
includeCommerce n Includes CIF Core Components dependecies and generates corresponding artifacts.
commerceEndpoint Required for CIF only. Optional endpoint of the commerce system GraphQL service to be used (e.g.

System Requirements

Archetype AEM as a Cloud Service AEM 6.5 AEM 6.4 AEM 6.3 Java SE Maven
23 Continual 8, 11 3.3.9+

Setup your local development environment for AEM as a Cloud Service SDK or for older versions of AEM.

Known Issues

When running on Windows and generating the dispatcher configuration, you should be running in an elevated command prompt or the Windows Subsystem for Linux (see #329).

When executing the archetype in interactive mode (without the -B parameter), the properties with default values cannot be changed, unless the final confirmation gets dismissed, which then repeats the questions by including the properties with default values in the questions (see ARCHETYPE-308 for details).

You can’t perform that action at this time.