La configurazione rapida AEM Headless ti permette di utilizzare AEM Headless utilizzando il contenuto del progetto di esempio del sito WKND e un esempio di app React (a SPA) che consuma il contenuto sopra AEM API GraphQL headless. Questa guida utilizza AEM SDK as a Cloud Service.
È necessario installare localmente i seguenti strumenti:
Questa configurazione utilizza AEM SDK as a Cloud Service per esplorare AEM API GraphQL. Questa sezione fornisce una guida rapida all’installazione e all’esecuzione dell’SDK AEM in modalità Autore. Una guida più dettagliata per la creazione di un ambiente di sviluppo locale si trova qui.
È inoltre possibile seguire l’esercitazione con un AEM ambiente as a Cloud Service. Durante l’esercitazione sono incluse ulteriori note sull’utilizzo di un ambiente Cloud.
Passa a Portale di distribuzione software > AEM as a Cloud Service e scarica la versione più recente del SDK AEM.
La funzione GraphQL è abilitata per impostazione predefinita solo sull'SDK AEM dal 2021-02-04 o successivo.
Decomprimi il download e copia il jar Quickstart (aem-sdk-quickstart-XXX.jar
) in una cartella dedicata, ovvero ~/aem-sdk/author
.
Rinomina il file jar in aem-author-p4502.jar
.
La author
name specifica che il jar Quickstart verrà avviato in modalità Autore. La p4502
specifica che il server Quickstart verrà eseguito sulla porta 4502.
Apri una nuova finestra terminale e passa alla cartella che contiene il file jar. Esegui il seguente comando per installare e avviare l'istanza AEM:
$ cd ~/aem-sdk/author
$ java -jar aem-author-p4502.jar
Fornisci una password amministratore come admin
. Qualsiasi password amministratore è accettabile, tuttavia il suo consiglio di utilizzare admin
per lo sviluppo locale per ridurre la necessità di riconfigurare.
Dopo alcuni minuti l'istanza AEM terminerà l'installazione e dovrebbe aprire una nuova finestra del browser in http://localhost:4502.
Accedi con il nome utente admin
e la password selezionata durante AEM'avvio iniziale (in genere admin
).
Contenuto di esempio dal Sito di riferimento WKND verrà installato per accelerare l'esercitazione. Il WKND è un marchio fittizio in stile di vita, spesso utilizzato in combinazione con AEM formazione.
Il sito WKND Reference include configurazioni necessarie per esporre un Endpoint GraphQL. In un’implementazione nel mondo reale, segui i passaggi documentati per includere gli endpoint GraphQL nel progetto del cliente. A CORS è stato anche confezionato come parte del sito WKND. È necessaria una configurazione CORS per concedere l’accesso a un’applicazione esterna, ulteriori informazioni su CORS di seguito.
Scarica l'ultimo pacchetto di AEM compilato per il sito WKND: aem-guides-wknd.all-x.x.x.zip.
Assicurati di scaricare la versione standard compatibile con AEM as a Cloud Service e not la classic
versione.
Da Inizio AEM menu vai a Strumenti > Distribuzione > Pacchetti.
Fai clic su Carica pacchetto e scegli il pacchetto WKND scaricato nel passaggio precedente. Fai clic su Installa per installare il pacchetto.
Da Inizio AEM menu vai a Risorse > File.
Fai clic sulle cartelle per passare a Sito WKND > Inglese > Avventure.
Questa è una cartella di tutte le risorse che comprendono le varie Avventure promosse dal marchio WKND. Ciò include i tipi di media tradizionali come immagini e video, nonché i supporti specifici per AEM come Frammenti di contenuto.
Fai clic su Sci in discesa Wyoming e fai clic su Frammento di contenuto per lo sci in discesa scheda:
L’interfaccia utente dell’editor dei frammenti di contenuto si aprirà per l’avventura di sci in discesa nel Wyoming.
Osserva che vari campi, come Titolo, Descrizione e Attività definire il frammento.
Frammenti di contenuto sono uno dei modi in cui il contenuto può essere gestito in AEM. I frammenti di contenuto sono contenuti riutilizzabili e non soggetti a presentazione composti da elementi di dati strutturati quali testo, testo RTF, date o riferimenti ad altri frammenti di contenuto. I frammenti di contenuto verranno esplorati più dettagliatamente più avanti nell’esercitazione.
Fai clic su Annulla per chiudere il frammento. Sentitevi liberi di navigare in alcune delle altre cartelle ed esplorare l'altro contenuto Avventura.
Se utilizzi un ambiente di Cloud Service, consulta la documentazione su come distribuire una base di codice come il sito WKND Reference in un ambiente di Cloud Service.
Uno degli obiettivi di questa esercitazione è quello di mostrare come utilizzare AEM contenuto da un’applicazione esterna utilizzando le API GraphQL. Questa esercitazione utilizza un'app React di esempio che è stata parzialmente completata per accelerare l'esercitazione. Le stesse lezioni e concetti si applicano alle app create con iOS, Android o qualsiasi altra piattaforma. L'app React è intenzionalmente semplice, per evitare inutili complessità; non si tratta di un’implementazione di riferimento.
Apri una nuova finestra del terminale e duplica il ramo iniziale dell’esercitazione utilizzando Git:
$ git clone --branch tutorial/react git@github.com:adobe/aem-guides-wknd-graphql.git
Nell’IDE che preferisci, apri il file . .env.development
a aem-guides-wknd-graphql/react-app/.env.development
. Verifica che REACT_APP_AUTHORIZATION
La riga non viene commentata e il file ha un aspetto simile al seguente:
REACT_APP_HOST_URI=http://localhost:4502
REACT_APP_GRAPHQL_ENDPOINT=/content/graphql/global/endpoint.json
# Use Authorization when connecting to an AEM Author environment
REACT_APP_AUTHORIZATION=admin:admin
Assicurati che React_APP_HOST_URI
corrisponde alla tua istanza AEM locale. In questo capitolo, collegheremo l’app React direttamente al AEM Autore ambiente. Autore gli ambienti per impostazione predefinita richiedono l’autenticazione, in modo che la nostra app si connetta come admin
utente. Si tratta di una pratica comune durante lo sviluppo, in quanto ci consente di apportare rapidamente modifiche all’ambiente AEM e di visualizzarle immediatamente nell’app.
In uno scenario di produzione, l’app si connetterà a un AEM Pubblica ambiente. Questo viene trattato più dettagliatamente nella Distribuzione di produzione capitolo.
Passa a aem-guides-wknd-graphql/react-app
cartella. Installa e avvia l'app:
$ cd aem-guides-wknd-graphql/react-app
$ npm install
$ npm start
Una nuova finestra del browser dovrebbe avviare automaticamente l’app in http://localhost:3000.
Deve essere visualizzato un elenco del contenuto Avventura corrente da AEM.
Fai clic su una delle immagini dell'avventura per visualizzare i dettagli dell'avventura. Viene AEM una richiesta per restituire i dettagli di un'avventura.
Utilizza gli strumenti di sviluppo del browser per ispezionare il Rete richieste. Visualizza la XHR richiede e osserva più richieste POST a /content/graphql/global/endpoint.json
, l’endpoint GraphQL configurato per AEM.
Puoi anche visualizzare i parametri e la risposta JSON controllando la richiesta di rete. Può essere utile installare un’estensione del browser come Ispettore di rete GraphQL per Chrome per comprendere meglio la query e la risposta.
Ora che l’app React è in esecuzione, effettua un aggiornamento al contenuto in AEM e visualizza la modifica riflessa nell’app.
Passa a AEM http://localhost:4502.
Passa a Risorse > File > Sito WKND > Inglese > Avventure > Bali Surf Camp.
Fai clic su Bali Surf Camp frammento di contenuto per aprire l’Editor frammento di contenuto.
Modifica la Titolo e Descrizione dell'avventura
Fai clic su Salva per salvare le modifiche.
Torna all’app React in http://localhost:3000 e aggiorna per visualizzare le modifiche:
GraphiQL è uno strumento di sviluppo e necessario solo in ambienti di livello inferiore come uno sviluppo o un’istanza locale. L'IDE GraphiQL ti consente di testare e perfezionare rapidamente le query e i dati restituiti. GraphiQL fornisce inoltre un facile accesso alla documentazione, facilitando l'apprendimento e la comprensione dei metodi disponibili.
Passa a Portale di distribuzione software > AEM as a Cloud Service.
Cerca "GraphiQL" (assicurati di includere i in GraphiQL.
Scarica la versione più recente Pacchetto di contenuti GraphiQL v.x.x.x
Il file zip è un pacchetto AEM che può essere installato direttamente.
Da Inizio AEM menu vai a Strumenti > Distribuzione > Pacchetti.
Fai clic su Carica pacchetto e scegli il pacchetto scaricato nel passaggio precedente. Fai clic su Installa per installare il pacchetto.
Passa all'IDE GraphiQL in http://localhost:4502/content/graphiql.html e inizia a esplorare le API GraphQL.
Lo strumento GraphiQL e l'API GraphQL è più avanti nell’esercitazione è stato esplorato più dettagliatamente.
Congratulazioni, ora disponi di un’applicazione esterna che consuma AEM contenuti con GraphQL. Puoi controllare il codice nell’app React e continuare a provare a modificare i frammenti di contenuto esistenti.
AEM, essendo sicura per impostazione predefinita, blocca le richieste di origini diverse, impedendo alle applicazioni non autorizzate di connettersi e visualizzare il contenuto.
Per consentire all’app React di questa esercitazione di interagire con AEM endpoint API GraphQL, nel progetto di riferimento del sito WKND è stata definita una configurazione di condivisione delle risorse tra origini diverse.
Per visualizzare la configurazione distribuita:
Passa alla console Web AEM SDK all'indirizzo http://localhost:4502/system/console.
La console Web è disponibile solo nell’SDK. In un ambiente AEM as a Cloud Service queste informazioni possono essere visualizzate tramite Console per sviluppatori.
Nel menu principale fai clic su OSGI > Configurazione per richiamare Configurazioni OSGi.
Scorri verso il basso nella pagina Condivisione risorse tra le origini di Adobe Granite.
Fai clic sulla configurazione per com.adobe.granite.cors.impl.CORSPolicyImpl~wknd-graphql
.
I campi seguenti sono stati aggiornati:
http://localhost:.*
/content/graphql/global/endpoint.json
GET
, HEAD
, POST
POST
è necessario per GraphQL ma gli altri metodi possono essere utili quando si interagisce con AEM in modo headless.Yes
Questa configurazione e gli endpoint GraphQL fanno parte del progetto WKND AEM. È possibile visualizzare tutte le Configurazioni OSGi qui.