L’editor universale universal-editor
Scopri la flessibilità dell’editor universale e come può aiutare a potenziare le esperienze headless utilizzando AEM 6.5.
Panoramica overview
L’editor universale è un editor visivo versatile che fa parte di Adobe Experience Manager Sites. Consente ai creatori di contenuti di modificare gli elementi di WYSIWYG (what-you-see-is-what-you-get) di qualsiasi esperienza headless.
- Gli autori traggono vantaggio dalla flessibilità dell’editor universale in quanto supporta le stesse modifiche visive coerenti per tutte le forme di contenuti headless AEM.
- Gli sviluppatori traggono vantaggio dalla versatilità dell’editor universale, che supporta un vero e proprio disaccoppiamento dell’implementazione. Consente agli sviluppatori di utilizzare virtualmente qualsiasi framework o architettura a loro scelta, senza imporre alcun vincolo di SDK o tecnologia.
Per maggiori dettagli, consulta la documentazione di AEM as a Cloud Service nell'editor universale.
Architettura architecture
L’editor universale è un servizio che funziona insieme ad AEM per creare contenuti in modo headless.
- L'editor universale è ospitato in
https://experience.adobe.com/#/aem/editor/canvas
e può modificare le pagine sottoposte al rendering da parte di AEM 6.5. - La pagina AEM viene letta dall’editor universale tramite Dispatcher partendo dall’istanza di authoring di AEM.
- Il servizio Editor universale, che viene eseguito sullo stesso host di Dispatcher, riscrive le modifiche nell’istanza di authoring di AEM.
Requisiti requirements
L’editor universale è supportato da:
- AEM 6.5
- Sono supportati sia l’hosting locale che l’hosting AMS.
- AEM 6.5 LTS
- Sono supportati sia l’hosting locale che l’hosting AMS.
- AEM as a Cloud Service
Questo documento è incentrato sul supporto di AEM 6.5 dell’editor universale. Per utilizzare l’editor universale con AEM 6.5, è necessario avere:
- AEM 6.5 con service pack 23 o successivo
- I Service Pack 21 e 22 sono supportati anche da un Feature Pack..
- Dispatcher configurato correttamente
Configurazione setup
Per testare l’editor universale è necessario:
Dopo aver completato la configurazione, puoi dotare le applicazioni per l’uso dell’editor universale.
Configurare i servizi configure-services
L’editor universale sfrutta diversi pacchetti per i quali è necessaria una configurazione aggiuntiva.
Imposta l’attributo SameSite per il cookie login-token
. samesite-attribute
- Apri Configuration Manager.
http://<host>:<port>/system/console/configMgr
- Individua la voce Adobe Granite Token Authentication Handler nell’elenco e fai clic su Modifica i valori di configurazione
- Nella finestra di dialogo, modifica l’attributo SameSite per il cookie del token di accesso (
token.samesite.cookie.attr
) inPartitioned
. - Fai clic su Salva.
Rimuovi l’opzione X-Frame delle intestazioni SAMEORIGIN
. sameorigin
- Apri Configuration Manager.
http://<host>:<port>/system/console/configMgr
- Individua il servlet principale di Apache Sling nell’elenco e fai clic su Modifica i valori di configurazione.
- Elimina il valore
X-Frame-Options=SAMEORIGIN
dall’attributo Altre intestazioni di risposta (sling.additional.response.headers
) se esistente. - Fai clic su Salva.
Configura il gestore di autenticazione dei parametri di query di Adobe Granite. query-parameter
- Apri Configuration Manager.
http://<host>:<port>/system/console/configMgr
- Individua il Gestore di autenticazione dei parametri di query di Adobe Granite nell’elenco e fai clic su Modifica i valori di configurazione.
- Nel campo Percorso (
path
), aggiungi/
per abilitare.- Un valore vuoto disattiva il gestore di autenticazione.
- Fai clic su Salva.
Definisci i percorsi di contenuto o sling:resourceTypes
per cui aprire l’editor universale. paths
-
Apri Configuration Manager.
http://<host>:<port>/system/console/configMgr
-
Individua Servizio URL editor universale nell’elenco e fai clic su Modifica i valori di configurazione.
-
Definisci i percorsi di contenuto o
sling:resourceTypes
per cui aprire l’editor universale.- Nel campo Mappatura apertura editor universale, specifica i percorsi per i quali è aperto l’editor universale.
- Nel campo Sling:resourceTypes che verrà aperto dall’editor universale, fornisci un elenco di risorse aperte direttamente dall’editor universale.
-
Fai clic su Salva.
-
Controlla la configurazione di esternalizzazione e assicurati di disporre quantomeno degli ambienti locali, di authoring e di pubblicazione impostati come nell’esempio seguente.
code language-text "local $[env:AEM_EXTERNALIZER_LOCAL;default=http://localhost:4502]", "author $[env:AEM_EXTERNALIZER_AUTHOR;default=http://localhost:4502]", "publish $[env:AEM_EXTERNALIZER_PUBLISH;default=http://localhost:4503]"
Una volta completati questi passaggi di configurazione, AEM aprirà l’editor universale per le pagine nell’ordine seguente.
- AEM controllerà le mappature in
Universal Editor Opening Mapping
e se il contenuto si trova in uno dei percorsi qui definiti, verrà aperto l’editor universale. - Per il contenuto non incluso nei percorsi definiti in
Universal Editor Opening Mapping
, AEM verifica se ilresourceType
dei contenuti corrispondono a quelli definiti in Sling:resourceTypes che verranno aperti dall’editor universale; se il contenuto corrisponde a uno di questi tipi, l’editor universale verrà aperto in${author}${path}.html
. - In caso contrario, AEM apre l’editor di pagine.
Per definire le mappature sono disponibili le seguenti variabili in Universal Editor Opening Mapping
.
path
: percorso del contenuto della risorsa da aprirelocalhost
: voce di Esternalizzazione perlocalhost
senza schema, ad esempiolocalhost:4502
author
: voce di Esternalizzazione per authoring senza schema, ad esempiolocalhost:4502
publish
: voce di Esternalizzazione per pubblicazione senza schema, ad esempiolocalhost:4503
preview
: voce di Esternalizzazione per anteprima senza schema, ad esempiolocalhost:4504
env
:prod
,stage
,dev
in base alle modalità di esecuzione di Sling definitetoken
: token di query richiesto perQueryTokenAuthenticationHandler
Esempi di mappature:
-
Apri tutte le pagine in
/content/foo
in AEM Author:/content/foo:${author}${path}.html?login-token=${token}
- Questo comporta l’apertura di
https://localhost:4502/content/foo/x.html?login-token=<token>
-
Apri tutte le pagine in
/content/bar
su un server NextJS remoto, fornendo come informazioni tutte le variabili/content/bar:nextjs.server${path}?env=${env}&author=https://${author}&publish=https://${publish}&login-token=${token}
- Questo comporta l’apertura di
https://nextjs.server/content/bar/x?env=prod&author=https://localhost:4502&publish=https://localhost:4503&login-token=<token>
Configurare il servizio editor universale set-up-ue
Con AEM aggiornato e configurato, puoi impostare un servizio editor universale locale per le attività locali di sviluppo e testing.
-
Installa Node.js versione >=20.
-
Scarica e decomprimi il servizio editor universale più recente da Distribuzione del software
-
Configura il servizio editor universale tramite variabili di ambiente o un file
.env
.- Per informazioni dettagliate, consulta la documentazione dell’editor universale di AEM as a Cloud Service.
- Nota che potresti dover utilizzare l’opzione
UES_MAPPING
se è richiesta la riscrittura interna dell’IP.
-
Eseguire
universal-editor-service.cjs
Aggiornare Dispatcher update-dispatcher
Se AEM è configurato ed è in esecuzione un servizio editor universale locale, sarà necessario consentire un proxy inverso per il nuovo servizio in Dispatcher.
-
Modifica il file vhost dell’istanza di authoring in modo da includere un proxy inverso.
code language-html <IfModule mod_proxy.c> ProxyPass "/universal-editor" "http://localhost:8080" ProxyPassReverse "/universal-editor" "http://localhost:8080" </IfModule>
note note NOTE La porta predefinita è 8080. Se hai modificato questo elemento usando il parametro UES_PORT
nel tuo file.env
, devi modificare di conseguenza il valore della porta qui. -
Riavvia Apache.
Dotare di strumenti l’app instrumentation
Con AEM aggiornato e un servizio editor universale locale in esecuzione, puoi iniziare a modificare contenuti headless utilizzando l’editor universale.
L’app deve essere dotata di strumenti che consentano di sfruttare i vantaggi dell’editor universale. Questo comporta l’inclusione di tag meta per indicare all’editor come e dove mantenere il contenuto. I dettagli di questa dotazione di strumenti sono disponibili nella documentazione dell’editor universale per AEM as a Cloud Service.
Nella documentazione dell’editor universale per AEM as a Cloud Service vanno applicate le seguenti modifiche per l’utilizzo con AEM 6.5.
-
Il protocollo nel tag meta deve essere
aem65
invece diaem
.code language-html <meta name="urn:adobe:aue:system:aemconnection" content={`aem65:${getAuthorHost()}`}/>
-
L’endpoint del servizio editor universale deve essere annunciato tramite un tag meta.
code language-html <meta name="urn:adobe:aue:config:service" content={`${getAuthorHost()}/universal-editor`}/>
-
Nella sezione
plugins
della definizione dei componenti, è necessario utilizzareaem65
invece diaem
.
Differenze tra AEM 6.5 e AEM as a Cloud Service differences
L’editor universale in AEM 6.5 funziona in generale come in AEM as a Cloud Service, inclusa l’interfaccia utente e gran parte della configurazione. Esistono tuttavia differenze da sottolineare.
- L’editor universale nella versione 6.5 supporta solo il caso d’uso headless.
- La configurazione dell’editor universale varia leggermente per la versione 6.5 (come descritto nel documento corrente).
- L’editor universale nella versione 6.5 utilizza un selettore di risorse e un selettore di frammenti di contenuto diversi rispetto a AEM as a Cloud Service.