Come utilizzare l’ambiente di sviluppo rapido

Scopri come utilizzare l'ambiente di sviluppo rapido (RDE) in AEM as a Cloud Service. Distribuisci codice e contenuti per velocizzare i cicli di sviluppo del codice quasi finale nell’RDE, dall’ambiente di sviluppo integrato (IDE) preferito.

Utilizzando il progetto WKND Sites dell'AEM, imparerai a distribuire vari artefatti dell'AEM nell'RDE eseguendo il comando install dell'AEM-RDE dall'IDE preferito.

  • Implementazione del pacchetto di codice e contenuti AEM (all, ui.apps)
  • Distribuzione del bundle OSGi e del file di configurazione
  • Apache e Dispatcher configurano la distribuzione come file zip
  • Singoli file come HTL, .content.xml (finestra di dialogo XML) distribuzione
  • Rivedi altri comandi RDE come status, reset and delete

Prerequisito

Clona il progetto WKND Sites e aprilo nell'IDE preferito per distribuire gli artefatti AEM nell'RDE.

$ git clone git@github.com:adobe/aem-guides-wknd.git

Quindi, generalo e implementalo nell’AEM-SDK locale eseguendo il seguente comando maven.

$ cd aem-guides-wknd/
$ mvn clean package

Distribuire gli artefatti AEM utilizzando il plug-in AEM-RDE

Utilizzando il comando aem:rde:install, distribuiamo vari artefatti AEM.

Distribuisci all e dispatcher pacchetti

Un punto di partenza comune è la distribuzione dei pacchetti all e dispatcher mediante l'esecuzione dei seguenti comandi.

# Install the 'all' package
$ aio aem:rde:install all/target/aem-guides-wknd.all-2.1.3-SNAPSHOT.zip

# Install the 'dispatcher' zip
$ aio aem:rde:install dispatcher/target/aem-guides-wknd.dispatcher.cloud-2.1.3-SNAPSHOT.zip

In caso di distribuzioni corrette, verifica il sito WKND sia nei servizi di authoring che in quelli di pubblicazione. Dovresti essere in grado di aggiungere, modificare e pubblicare il contenuto delle pagine del sito WKND.

Migliorare e distribuire un componente

Miglioriamo Hello World Component e implementiamolo nell'RDE.

  1. Apri il file XML della finestra di dialogo (.content.xml) dalla cartella ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld/_cq_dialog/

  2. Aggiungi il campo di testo Description dopo il campo di dialogo Text esistente

    code language-xml
    ...
    <description
        jcr:primaryType="nt:unstructured"
        sling:resourceType="granite/ui/components/coral/foundation/form/textfield"
        fieldLabel="Description"
        name="./description"/>
    ...
    
  3. Apri il file helloworld.html dalla cartella ui.apps/src/main/content/jcr_root/apps/wknd/components/helloworld

  4. Eseguire il rendering della proprietà Description dopo l'elemento <div> esistente della proprietà Text.

    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>
    ...
    
  5. Verifica le modifiche su AEM-SDK locale eseguendo la build Maven o sincronizzando i singoli file.

  6. Distribuire le modifiche al RDE tramite il pacchetto ui.apps o distribuendo i singoli file Dialog e HTL.

    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
    
  7. Verificare le modifiche nell'RDE aggiungendo o modificando Hello World Component in una pagina del sito WKND.

Rivedi le opzioni del comando install

Nell'esempio di comando di distribuzione di singoli file sopra riportato, i flag -t e -p vengono utilizzati rispettivamente per indicare il tipo e la destinazione del percorso JCR. Esaminiamo le opzioni di comando install disponibili eseguendo il comando seguente.

$ aio aem:rde:install --help

I flag sono auto-esplicativi. Il flag -s è utile per indirizzare la distribuzione solo ai servizi di authoring o pubblicazione. Utilizza il flag -t quando distribuisci i file content-file o content-xml insieme al flag -p per specificare il percorso JCR di destinazione nell'ambiente AEM RDE.

Distribuire il bundle OSGi

Per informazioni su come distribuire il bundle OSGi, miglioriamo la classe Java™ HelloWorldModel e distribuiamola all'RDE.

  1. Apri il file HelloWorldModel.java dalla cartella core/src/main/java/com/adobe/aem/guides/wknd/core/models

  2. Aggiorna il metodo init() come segue:

    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";
    ...
    
  3. Verificare le modifiche su AEM-SDK locale distribuendo il bundle core tramite il comando maven

  4. Distribuire le modifiche all'RDE eseguendo il comando seguente

    code language-shell
    $ cd core
    $ mvn clean package
    $ aio aem:rde:install target/aem-guides-wknd.core-2.1.3-SNAPSHOT.jar
    
  5. Verificare le modifiche nell'RDE aggiungendo o modificando Hello World Component in una pagina del sito WKND.

Distribuire la configurazione OSGi

Puoi distribuire i singoli file di configurazione o il pacchetto di configurazione completo, ad esempio:

# 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
TIP
Per installare una configurazione OSGi solo in un'istanza Autore o Publish, utilizza il flag -s.

Distribuire la configurazione di Apache o Dispatcher

Impossibile distribuire singolarmente i file di configurazione Apache o Dispatcher , ma è necessario distribuire l'intera struttura di cartelle Dispatcher sotto forma di file ZIP.

  1. Apportare la modifica desiderata nel file di configurazione del modulo dispatcher. A scopo dimostrativo, aggiornare dispatcher/src/conf.d/available_vhosts/wknd.vhost in modo da memorizzare nella cache i file html solo per 60 secondi.

    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>
    ...
    
  2. Verificare le modifiche localmente. Per ulteriori dettagli, vedere Eseguire Dispatcher localmente.

  3. Distribuire le modifiche apportate all'RDE eseguendo il comando seguente:

    code language-shell
    $ cd dispatcher
    $ mvn clean install
    $ aio aem:rde:install target/aem-guides-wknd.dispatcher.cloud-2.1.3-SNAPSHOT.zip
    
  4. Verificare le modifiche nell'RDE

Comandi aggiuntivi del plug-in AEM RDE

Esaminiamo i comandi aggiuntivi del plug-in AEM RDE per gestire e interagire con l’RDE dal computer locale.

$ 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.

Utilizzando i comandi di cui sopra, il tuo RDE può essere gestito dall’IDE preferito per velocizzare il ciclo di sviluppo/implementazione.

Passaggio successivo

Scopri il ciclo di vita di sviluppo/distribuzione utilizzando RDE per distribuire funzionalità in modo rapido.

Risorse aggiuntive

Documentazione sui comandi RDE

Plug-in CLI di Adobe I/O Runtime per interazioni con ambienti di sviluppo rapido AEM

Configurazione del progetto AEM

recommendation-more-help
4859a77c-7971-4ac9-8f5c-4260823c6f69