Het gebruiken van het AEM Project Archetype using-the-archetype
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.
Aan de slag getting-started
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.
- WKND Leerprogramma - voor een grote inleiding aan het ontwikkelen op AEM met inbegrip van hoe te hefboomwerking het archetype zien Begonnen het WKND Leerprogrammavoor een praktisch voorbeeld dat u door het gebruiken van archetype loopt om een eenvoudig project uit te voeren.
- het Leerprogramma van de Gebeurtenissen van WKND - als u bijzonder in de ontwikkeling van één enkele paginatoepassing (SPA) op AEM geinteresseerd bent, ben zeker om het specifieke WKND leerprogramma van Gebeurtenissen te controleren.
- Begin alleen! - U kunt het huidige project archetype gemakkelijk downloaden beschikbaar op GitHuben uw eerste project op uw tot stand brengen.
Het gebruiken van Archetype how-to-use-the-archetype
De eerste stap die archetype gebruikt moet een project tot stand brengen, dat de modulesin een lokale dossierstructuur produceert. Als deel van projectgeneratie, kan een aantal eigenschappen voor uw project worden bepaald zoals projectnaam, versie, toelatend diverse opties, enz.
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 what-you-get
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 diensten OSGi, luisteraars, en planners, evenals op component betrekking hebbende code van Java zoals servlets en verzoekfilters bevatten.
- 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 steekproefinhoud gebruikend de componenten van de module ui.apps.
- ui.config bevat runtime-specifieke OSGi vormt 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(facultatief) bevat de artefacten die wanneer het gebruiken van archetype worden vereist om SPA projecten tot stand te brengen die op React (facultatief, afhangt van bouwstijlparameters) worden gebaseerd.
- ui.frontend.angular(facultatief) bevat de artefacten die wanneer het gebruiken van archetype worden vereist om tot SPA projecten te leiden die op Angular (facultatief, afhangt van bouwstijlparameters) worden gebaseerd.
- ui.tests bevat op selenium-Gebaseerde tests UI.
- allen is één enkel inhoudspakket dat alle gecompileerde modules (bundels en inhoudspakketten) met inbegrip van om het even welke verkopersgebiedsdelen inbedt.
- dispatcher.ams bevat de basisberichtcherconfiguraties voor AMS/op-prem projecten (facultatief, hangt van bouwstijlparameters af).
- dispatcher.cloud bevat de basis verzender configuraties voor projecten AEMaaCS (facultatief, hangt van bouwstijlparameters af).
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 parent-pom
pom.xml
bij de wortel van het project (<src-directory>/<project>/pom.xml
) is gekend als ouder POM en drijft de structuur van het project evenals beheert gebiedsdelen en bepaalde globale eigenschappen van het project.
Algemene projecteigenschappen global-properties
Het gedeelte <properties>
van de bovenliggende POM definieert verschillende algemene eigenschappen die belangrijk zijn voor de implementatie van uw project op een AEM instantie, zoals gebruikersnaam/wachtwoord, hostnaam/poort, enz.
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 standaardreferenties admin:admin
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
kunnen worden overschreven via opdrachtregelargumenten:
mvn -PautoInstallPackage clean install -Daem.host=production.hostname -Dsling.password=productionpasswd
Modulestructuur module-structure
De <modules>
sectie van ouderPOM bepaalt de modules die het project zal bouwen. Door gebrek bouwt het project de eerder bepaalde standaardmodules. Er kunnen altijd meer modules worden toegevoegd terwijl een project evolueert.
Afhankelijkheden dependencies
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 uber-jar
Één van de belangrijkste gebiedsdelen is AEM Java API Jar. Dit omvat alle AEM API's met slechts één afhankelijkheidsitem voor de versie van AEM.
X
het meest recente servicepack is.Kernonderdelen core-components
Het archetype van cursus hefboomwerkingen de Componenten van de Kern. Daarom is het raadzaam om deze componenten op te nemen in het Maven-project, zodat ze bij alle implementaties kunnen worden gebruikt.
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.
Testen testing
Het project bevat drie testniveaus en omdat het verschillende typen tests zijn, worden deze op verschillende manieren of op verschillende plaatsen uitgevoerd.
- Tests van de Eenheid- Klassieke eenheidstests van de code bevat in de bundel
- Tests van de Integratie- server-zijintegratietests die eenheid-als tests in werking stellen in het AEM-milieu, d.w.z. op de AEM server
- Tests UI- Op selenium-Gebaseerde browser-zijtests die browser-zijgedrag verifiëren