Archétype de projet AEM

L’archétype de projet AEM est un modèle Maven qui crée un projet Adobe Experience Manager (AEM) minimal qui s’appuie sur des bonnes pratiques pour démarrer votre site web.

CONSEIL

Le dernier archétype de projet AEM est disponible sur GitHub.

Ressources

  • Documentation de l’archétype (ce document) : présentation de l’architecture de l’archétype et de ses différents modules.
  • Les tutoriels suivants sont basés sur cet archétype :
    • Site WKND : apprenez à créer un site web attrayant.
    • Application monopage WKND : découvrez comment concevoir une application web React ou Angular offrant des fonctions de création complètes dans AEM.

Fonctions

Utilisation

Pour générer un projet, ajustez la ligne de commande suivante en fonction de vos besoins :

mvn -B org.apache.maven.plugins:maven-archetype-plugin:3.2.1:generate \
 -D archetypeGroupId=com.adobe.aem \
 -D archetypeArtifactId=aem-project-archetype \
 -D archetypeVersion=XX \
 -D appTitle="My Site" \
 -D appId="mysite" \
 -D groupId="com.mysite" \
  • Remplacez XX par le dernier numéro de version de l’archétype.
  • Définissez aemVersion=cloud pour AEM as a Cloud Service.
    Définissez aemVersion=6.5.0 pour Adobe Managed Services ou On-Premise.
    La dépendance des composants principaux n’est ajoutée que pour les versions d’AEM hors du cloud, car ils sont fournis prêts à l’emploi pour AEM as a Cloud Service.
  • Ajustez appTitle="My Site" de façon à définir le titre du site web et les groupes de composants.
  • Ajustez appId="mysite" afin de définir l’artifactId Maven, les noms des dossiers de composants, de configurations et de contenu, ainsi que les noms des bibliothèques clientes.
  • Ajustez groupId="com.mysite" pour définir le groupId Maven et le package source Java.
  • Parcourez la liste des propriétés disponibles pour déterminer si d’autres doivent être modifiées.

Propriétés disponibles

Nom Valeur par défaut Description
appTitle Titre de l’application qui sera utilisé comme titre du site web et des groupes de composants (par exemple, "My Site").
appId Nom technique qui sera utilisé pour les noms des dossiers de composants, de configurations et de contenu, ainsi que pour les noms des bibliothèques clientes (par exemple, "mysite").
artifactId ${appId} ID d’artefact Maven de base (par exemple, "mysite").
groupId ID de groupe Maven de base (par exemple, "com.mysite"). Cette valeur doit être un nom de package Java valide.
package ${groupId} Package source Java (par exemple, "com.mysite").
version 1.0-SNAPSHOT Version du projet (par exemple, 1.0-SNAPSHOT).
aemVersion cloud Version d’AEM cible (par exemple, cloud pour AEM as a Cloud Service ; ou 6.5.0 ou 6.4.4 pour Adobe Managed Services ou On-Premise).
sdkVersion latest Lorsque aemVersion=cloud, une version de SDK peut être spécifiée (par exemple, 2020.02.2265.20200217T222518Z-200130).
includeDispatcherConfig y Inclut une configuration du Dispatcher pour le cloud ou pour AMS/On-Premise, selon la valeur de aemVersion (par exemple, y ou n).
frontendModule general Comprend un module de création front-end Webpack qui génère les bibliothèques clientes (par exemple, general ou none pour les sites standard ; ou angular ou react pour une application monopage qui implémente l’éditeur d’application monopage).
language en Code de langue (ISO 639-1) pour créer la structure de contenu (ex. en, deu).
country us Code de pays (ISO 3166-1) pour créer la structure de contenu (ex. US).
singleCountry y Inclut une structure de contenu servant de gabarit de langue (par exemple, y ou n).
includeExamples n Inclut un exemple de site de bibliothèque de composants (par exemple, y ou n).
includeErrorHandler n Inclut une page de réponse personnalisée 404 qui sera globale pour l’ensemble de l’instance (par exemple, y ou n).
includeCommerce n Inclut des dépendances Composants principaux CIF et génère les artefacts correspondants.
commerceEndpoint Requis pour CIF uniquement. Point d’entrée facultatif du service GraphQL du système commercial à utiliser (par ex. https://hostname.com/grapql).
includeFormscommunications n Inclut les dépendances, modèles, modèles de données de formulaire et thèmes des Composants principaux de Forms, et génère les artefacts correspondants pour les programmes de communication de Forms.
includeFormsenrollment n Inclut les dépendances, modèles, modèles de données de formulaires et thèmes des Composants principaux de Forms, et génère les artefacts correspondants pour les programmes d’inscription de Forms.
sdkFormsVersion latest Quand aemVersion=cloud et l’un des includeFormsenrollment=y ou des includeFormscommunications=y, une version SDK Forms peut être spécifiée (par exemple, 2020.12.17.02).
datalayer y Activez l’intégration avec la couche de données client Adobe.
amp n Activez la prise en charge AMP pour les modèles de projets générés.
enableDynamicMedia n Active les composants Dynamic Media de base dans les paramètres de règles de projet et active les fonctionnalités Dynamic Media dans les règles du composant Image de base.
enableSSR n Option permettant d’activer le rendu côté serveur pour le projet front-end
precompiledScripts n Option permettant de précompiler les scripts côté serveur à partir de ui.apps et de les joindre à la version en tant qu’artefact de bundle secondaire dans le projet ui.apps. aemVersion doit être défini sur cloud.
includeFormsheadless n Inclut les dépendances Composants principaux de Forms, ui.frontend.react.forms.af et les artefacts découplés.

Configuration requise

Archétype AEM as a Cloud Service AEM 6.5 Java SE Maven
41 En continu 6.5.7.0+ 8, 11 3.3.9+

Configurez votre environnement de développement local pour le SDK AEM as a Cloud Service ou pour les versions antérieures d’AEM.

Problèmes connus

Lorsque vous exécutez Windows et générez la configuration du Dispatcher, vous devez utiliser une invite de commande avec élévation de privilèges ou le sous-système Windows pour Linux (voir le problème 329).

Lors de l’exécution de l’archétype en mode interactif (sans le paramètre -B), les propriétés avec des valeurs par défaut ne peuvent pas être modifiées, sauf si la confirmation finale est rejetée, ce qui répète les questions en incluant les propriétés avec des valeurs par défaut (voir ARCHETYPE-308 pour plus de détails).

Vous ne pouvez pas utiliser cet archétype dans Eclipse lors du démarrage d’un nouveau projet avec File -> New -> Maven Project, car le script de post-génération archetype-post-generate.groovy ne sera pas exécuté en raison d’un problème concernant Eclipse. La solution consiste à utiliser la ligne de commande ci-dessus, puis, dans Eclipse, à utiliser File -> Import -> Existing Maven Project.

Informations complémentaires

Pour plus d’informations sur l’utilisation de l’archétype, notamment ses avantages, ses options et le fonctionnement de ses modules, consultez le document Utilisation de l’archétype.

Sur cette page