Hoe wordt de Rapid Development Environment gebruikt
Leer hoe te om het Snelle Milieu van de Ontwikkeling (RDE) in AEM as a Cloud Service te gebruiken. Stel code en inhoud voor snellere ontwikkelingscycli van uw bijna-definitieve code aan RDE, van uw favoriete Geïntegreerde Milieu van de Ontwikkeling (winde) op.
Gebruikend  AEM WKND Project van Plaatsen  leert u hoe te om diverse artefacten van AEM aan RDE op te stellen door AEM-RDE install bevel van uw favoriete winde in werking te stellen.
- Implementatie van AEM-code en -inhoudspakket (alle, ui.apps)
 - Implementatie van OSGi-bundel- en configuratiebestanden
 - Implementatie van Apache- en Dispatcher-configuraties als ZIP-bestand
 - Afzonderlijke bestanden, zoals HTML- en 
.content.xml(dialoogvenster XML)-implementatie - Andere RDE-opdrachten controleren, zoals 
status, reset and delete 
Vereiste
$ git clone git@github.com:adobe/aem-guides-wknd.git
            Vervolgens bouwt u de toepassing en implementeert u deze in de lokale AEM-SDK door de volgende gemodelleerde opdracht uit te voeren.
$ cd aem-guides-wknd/
$ mvn clean package
            AEM-artefacten implementeren met de AEM-RDE-plug-in
Eerst, zorg ervoor u de  recentste geïnstalleerde aio CLI module  hebt.
Gebruik vervolgens de opdracht aio aem:rde:install om verschillende AEM-artefacten te implementeren.
Pakketten all en dispatcher implementeren
        Een gangbaar uitgangspunt is om eerst de pakketten all en dispatcher in te voeren door de volgende opdrachten uit te voeren.
# Install the 'all' content package (zip file)
$ aio aem:rde:install all/target/aem-guides-wknd.all-2.1.3-SNAPSHOT.zip
# Install the 'dispatcher' deployment artifact (zip file)
$ aio aem:rde:install dispatcher/target/aem-guides-wknd.dispatcher.cloud-2.1.3-SNAPSHOT.zip
            Verifieer de WKND-site op zowel de auteur- als de publicatieservices bij een geslaagde implementatie. U moet de inhoud op de WKND-sitepagina's kunnen toevoegen, bewerken en publiceren.
Een component verbeteren en implementeren
Verbeter Hello World Component en stel het aan RDE op.
- 
                  
Dialoogvenster-XML (
.content.xml) openen vanuitui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/_cq_dialog/-map - 
                  
Het tekstveld
Descriptiontoevoegen na het bestaande dialoogvensterTextcode language-xml ... <description jcr:primaryType="nt:unstructured" sling:resourceType="granite/ui/components/coral/foundation/form/textfield" fieldLabel="Description" name="./description"/> ... - 
                  
Open het bestand
helloworld.htmlvanuit de mapui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld. - 
                  
Render de eigenschap
Descriptionna het bestaande<div>-element van de eigenschapText.code language-html ... <div class="cmp-helloworld__item" data-sly-test="${properties.description}"> <p class="cmp-helloworld__item-label">Description property:</p> <pre class="cmp-helloworld__item-output" data-cmp-hook-helloworld="property">${properties.description}</pre> </div> ... - 
                  
Controleer de wijzigingen op de lokale AEM SDK door de Maven-build uit te voeren of afzonderlijke bestanden te synchroniseren.
 - 
                  
Implementeer de wijzigingen in de RDE via het
ui.apps-pakket of door de afzonderlijke Dialog- en HTML-bestanden te implementeren:code language-shell # Using 'ui.apps' package $ cd ui.apps $ mvn clean package $ aio aem:rde:install target/aem-guides-wknd.ui.apps-2.1.3-SNAPSHOT.zip # Or by deploying the individual HTL and Dialog XML # HTL file $ aio aem:rde:install ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/helloworld.html -t content-file -p /apps/wknd/components/helloworld/helloworld.html # Dialog XML $ aio aem:rde:install ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/_cq_dialog/.content.xml -t content-xml -p /apps/wknd/components/helloworld/_cq_dialog/.content.xml - 
                  
Controleer de wijzigingen op de RDE door de
Hello World Componenttoe te voegen of te bewerken op een WKND-sitepagina. 
Controleer de opdrachtopties voor install
        In het bovenstaande voorbeeld met afzonderlijke opdrachten voor bestandsimplementatie worden de markeringen -t en -p gebruikt om respectievelijk het type en de bestemming van het JCR-pad aan te geven. Bekijk de beschikbare install bevelopties door het volgende bevel in werking te stellen.
$ aio aem:rde:install --help
            De vlaggen zijn duidelijk, is de -s vlag nuttig om de plaatsing enkel aan de auteur of de publicatieservices te richten. Gebruik de -t vlag wanneer het opstellen van inhoud-dossier of inhoud-xml dossiers samen met de -p vlag om de weg van bestemmingsJCR in het milieu van AEM te specificeren RDE.
OSGi-bundel implementeren
Om te leren hoe te om de bundel OSGi op te stellen, verbeteren wij de HelloWorldModel klasse Java™ en stellen het aan RDE op.
- 
                  
Open het bestand
HelloWorldModel.javavanuit de mapcore/src/main/java/com/adobe/aem/guides/wknd/core/models. - 
                  
Werk de methode
init()als volgt bij:code language-java ... message = "Hello World!\n" + "Resource type is: " + resourceType + "\n" + "Current page is: " + currentPagePath + "\n" + "Changes deployed via RDE, lets try faster dev cycles"; ... - 
                  
Verifieer de wijzigingen op lokaal AEM-SDK door de
core-bundel te implementeren via de maven-opdracht - 
                  
Stel de veranderingen in RDE op door het volgende bevel in werking te stellen
code language-shell $ cd core $ mvn clean package $ aio aem:rde:install target/aem-guides-wknd.core-2.1.3-SNAPSHOT.jar - 
                  
Controleer de wijzigingen op de RDE door de
Hello World Componenttoe te voegen of te bewerken op een WKND-sitepagina. 
OSGi-configuratie implementeren
U kunt de individuele config- dossiers of het volledige config- pakket, bijvoorbeeld opstellen:
# Deploy individual config file
$ aio aem:rde:install ui.config/src/main/content/jcr_root/apps/wknd/osgiconfig/config/org.apache.sling.commons.log.LogManager.factory.config~wknd.cfg.json
# Or deploy the complete config package
$ cd ui.config
$ mvn clean package
$ aio aem:rde:install target/aem-guides-wknd.ui.config-2.1.3-SNAPSHOT.zip
            -s om een OSGi-configuratie alleen op een auteur- of publicatieinstantie te installeren.Apache- of Dispatcher-configuratie implementeren
Apache of Dispatcher config- dossiers kunnen niet individueel worden opgesteld, maar de volledige de omslagstructuur van Dispatcher moet in de vorm van een dossier van het PIT worden opgesteld.
- 
                  
Breng een gewenste wijziging aan in het configuratiebestand van de module
dispatcheren werk voor demodoeleinden dedispatcher/src/conf.d/available_vhosts/wknd.vhostbij om de bestanden vanhtmlslechts gedurende 60 seconden in cache te plaatsen.code language-none ... <LocationMatch "^/content/.*\.html$"> Header unset Cache-Control Header always set Cache-Control "max-age=60,stale-while-revalidate=60" "expr=%{REQUEST_STATUS} < 400" Header always set Surrogate-Control "stale-while-revalidate=43200,stale-if-error=43200" "expr=%{REQUEST_STATUS} < 400" Header set Age 0 </LocationMatch> ... - 
                  
Verifieer de veranderingen plaatselijk, zie  Looppas Dispatcher  voor meer details.
 - 
                  
Stel de veranderingen in RDE op door het volgende bevel in werking te stellen:
code language-shell $ cd dispatcher $ mvn clean install $ aio aem:rde:install target/aem-guides-wknd.dispatcher.cloud-2.1.3-SNAPSHOT.zip - 
                  
Verifieer veranderingen op RDE.
 
Configuratiebestanden (YAML) implementeren
De CDN, onderhoudstaken, het logboek door:sturen en de configuratiedossiers van de AEM API authentificatie kunnen aan RDE worden opgesteld gebruikend het install bevel. Deze configuraties worden beheerd als dossiers YAML in de config omslag van het project van AEM, zie  Ondersteunde Configuraties  voor meer details.
Om te leren hoe te om de configuratiedossiers op te stellen, verbeteren wij het cdn configuratiedossier en stellen het aan RDE op.
- 
                  
Open het bestand
cdn.yamlvanuit de mapconfig. - 
                  
Werk de gewenste configuratie bij, bijvoorbeeld, werk de tariefgrens aan 200 verzoeken per seconde bij
code language-yaml kind: "CDN" version: "1" metadata: envTypes: ["dev", "stage", "prod"] data: trafficFilters: rules: # Block client for 5m when it exceeds an average of 100 req/sec to origin on a time window of 10sec - name: limit-origin-requests-client-ip when: reqProperty: tier equals: 'publish' rateLimit: limit: 200 # updated rate limit window: 10 count: fetches penalty: 300 groupBy: - reqProperty: clientIp action: log ... - 
                  
Stel de veranderingen in RDE op door het volgende bevel in werking te stellen
code language-shell $ aio aem:rde:install -t env-config ./config - 
                  
Wijzigingen op de RDE controleren
 
Aanvullende opdrachten voor AEM RDE-insteekmodule
Laten we de extra opdrachten voor AEM RDE-insteekmodules bekijken die u kunt beheren en communiceren met de RDE van uw lokale computer.
$ aio aem:rde --help
Interact with RapidDev Environments.
USAGE
$ aio aem rde COMMAND
COMMANDS
aem rde delete   Delete bundles and configs from the current rde.
aem rde history  Get a list of the updates done to the current rde.
aem rde install  Install/update bundles, configs, and content-packages.
aem rde reset    Reset the RDE
aem rde restart  Restart the author and publish of an RDE
aem rde status   Get a list of the bundles and configs deployed to the current rde.
            Met behulp van de bovenstaande opdrachten kan uw RDE worden beheerd vanaf uw favoriete IDE voor een snellere ontwikkeling/implementatie levenscyclus.
Volgende stap
Leer over de  ontwikkeling/de cyclus van het plaatsingsleven gebruikend RDE  om eigenschappen met snelheid te leveren.
Aanvullende bronnen
 de opstelling van het Project van AEM