Het gebruiken van het AEM Project Archetype

Laatste update: 2024-01-25
  • Gemaakt voor:
  • Developer
    Admin

In dit document wordt uitgelegd hoe u het AEM Project Archetype kunt gebruiken om een minimaal Adobe Experience Manager-project op basis van best practices te maken als startpunt voor uw eigen AEM projecten.

Het richt zich op algemene gebruikspatronen en wat het archetype voor u doet. Voor gedetailleerde bouwstijlopties en technische instructies, te zien gelieve de documentatie in de bewaarplaats GitHub van archetype.

TIP

Het nieuwste AEM Projectarchetype en de bijbehorende technische documentatie kan op GitHub worden gevonden.

Aan de slag

Het project archetype maakt het gemakkelijk om zich op AEM te beginnen ontwikkelen. U kunt uw eerste stappen met archetype op een aantal manieren nemen.

Het gebruiken van Archetype

De eerste stap die archetype gebruikt moet een project tot stand brengen, dat produceert de modules in een lokale bestandsstructuur. Als deel van projectgeneratie, kan een aantal eigenschappen voor uw project worden bepaald zoals projectnaam, versie, toelatend diverse opties, enz.

TIP

Wanneer u het archetype bouwt, zal het ook een reeks lezingen produceren, die u van de technische details en het gebruik van elke module voorzien zoals is hieronder gekoppeld.

Het bouwen van het project met Maven leidt tot de artefacten (pakketten en bundels OSGi), die aan AEM kunnen worden opgesteld. De extra Gemaakt bevelen en de profielen kunnen worden gebruikt om de projectartefacten aan een AEM instantie op te stellen.

Wat u krijgt met Archetype

Het archetype bestaat uit modules, die allen automatisch worden gecreeerd wanneer het gebruiken van archetype.

  • kern is een bundel van Java die alle kernfunctionaliteit zoals de diensten OSGi, luisteraars, en planners, evenals component-verwante code van Java zoals servlets en verzoekfilters bevat.
  • it.tests zijn op Java gebaseerde integratietests.
  • ui.apps bevat de /apps en /etc delen van het project, d.w.z. JS en CSS clientlibs, componenten, en malplaatjes.
  • ui.content bevat voorbeeldinhoud met behulp van de componenten uit de module ui.apps.
  • ui.config bevat runtime-specifieke OSGi vormen voor het project.
  • ui.frontend.general bevat de artefacten die worden vereist om de algemene Web-pack-gebaseerde voorste bouwstijlmodule (facultatief) te gebruiken.
  • ui.frontend.response (optioneel) bevat de artefacten die wanneer het gebruiken van archetype worden vereist om SPA tot stand te brengen die op React (facultatief, hangt van bouwstijlparameters af) worden gebaseerd.
  • ui.frontend.angular (optioneel) bevat de artefacten die wanneer het gebruiken van archetype worden vereist om een SPA tot stand te brengen die op Angular (facultatief, hangt van bouwstijlparameters af) worden gebaseerd.
  • ui.tests bevat op selenium gebaseerde UI-tests.
  • alles is één enkel inhoudspakket dat alle gecompileerde modules (bundels en inhoudspakketten) met inbegrip van om het even welke verkopersgebiedsdelen inbedt.
  • dispatcher.ams bevat de basisconfiguraties van de verzender voor projecten AMS/on-prem (facultatief, hangt van bouwstijlparameters af).
  • dispatcher.cloud bevat de basisconfiguraties van de verzender voor projecten AEMaaCS (facultatief, hangt van bouwstijlparameters af).

Inhoudspakketorganisatie

De modules van archetype in Maven worden vertegenwoordigd opgesteld aan AEM als inhoudspakketten die de toepassing, de inhoud, en de noodzakelijke bundels OSGi vertegenwoordigen.

Bovenliggende POM

De pom.xml aan de basis van het project (<src-directory>/<project>/pom.xml) staat bekend als de bovenliggende POM en drijft de structuur van het project en beheert afhankelijkheden en bepaalde algemene eigenschappen van het project.

Algemene projecteigenschappen

De <properties> sectie van ouderPOM bepaalt verscheidene globale eigenschappen die voor de plaatsing van uw project op een AEM instantie zoals gebruikersnaam/wachtwoord, gastheernaam/haven, enz. belangrijk zijn.

Deze eigenschappen worden opstelling om aan een lokale AEM instantie op te stellen, aangezien dit de gemeenschappelijkste bouwstijl is die de ontwikkelaars zullen doen. Er zijn eigenschappen die in een auteurinstantie en een publicatieinstantie moeten worden geïmplementeerd. Dit is ook waar de geloofsbrieven worden geplaatst om met de AEM instantie voor authentiek te verklaren. De standaardwaarde admin:admin referenties worden gebruikt.

Deze eigenschappen zijn opstelling zodat zij kunnen worden met voeten getreden wanneer het opstellen aan hogere niveaumilieu's. Op deze manier hoeven de POM-bestanden niet te worden gewijzigd, maar variabelen zoals aem.host en sling.password kan worden overschreven via opdrachtregelargumenten:

mvn -PautoInstallPackage clean install -Daem.host=production.hostname -Dsling.password=productionpasswd

Modulestructuur

De <modules> de sectie van ouderPOM bepaalt de modules die het project zal bouwen. Standaard wordt het project gebouwd de eerder gedefinieerde standaardmodules. Meer modules kunnen altijd worden toegevoegd aangezien een project evolueert.

Afhankelijkheden

De <dependencyManagement> sectie van ouderPOM bepaalt alle gebiedsdelen en versies van APIs die in het project worden gebruikt. Versies moeten worden beheerd in de bovenliggende POM. Submodules mogen geen versiegegevens bevatten.

Uber-Jar

Een van de belangrijkste afhankelijkheden is de AEM Java API Jar. Dit omvat alle AEM APIs met enkel één enkele gebiedsdeelingang voor de versie van AEM.

OPMERKING

Als beste praktijken zou u de uber-jar versie moeten bijwerken om de doelversie van AEM aan te passen. Als u bijvoorbeeld wilt implementeren op AEM 6.5, moet u de versie van de uber-jar bijwerken naar 6.5.X, waar X is het recentste de dienstpak.

Kernonderdelen

Het archetype maakt natuurlijk gebruik van de Core Components. Daarom is het, om de Componenten van de Kern in alle plaatsingen te gebruiken, een beste praktijk om hen als deel van het Maven project te omvatten.

core.wcm.components.examples zijn een reeks steekproefpagina's die voorbeelden van de Componenten van de Kern illustreren. Als beste praktijken, wanneer het opstellen van een project voor productiegebruik zou u deze gebiedsdeel en subpackage opneming moeten verwijderen.

OPMERKING

De Componenten van de Kern en het archetype worden gehandhaafd als afzonderlijke projecten GitHub en als dusdanig verschillen hun versies.

Elke versie van het archetype zal de recentste versie van de Componenten van de Kern gebruiken beschikbaar op het tijdstip van de versie. U kunt de afhankelijkheid van de kerncomponenten echter handmatig bijwerken.

Testen

Het project bevat drie testniveaus en omdat het verschillende typen tests zijn, worden deze op verschillende manieren of op verschillende plaatsen uitgevoerd.

  • Eenheidstests - Klassieke eenheidstests van de code in de bundel
  • Integratietests - integratietests aan de serverzijde die eenheidstests in de AEM-omgeving, d.w.z. op de AEM server in werking stellen
  • UI-tests - Op selenium gebaseerde browserzijtests die browsergedrag controleren

Op deze pagina