O Editor universal universal-editor
Saiba mais sobre a flexibilidade do Universal Editor e como ele pode ajudar a potencializar suas experiências headless usando o AEM 6.5.
Visão geral overview
O Universal Editor é um editor visual versátil que faz parte do Adobe Experience Manager Sites. Ele permite que os autores façam a edição "o que você vê é o que você obtém" (WYSIWYG) de qualquer experiência headless.
- Os autores se beneficiam da flexibilidade do Universal Editor, pois ele oferece suporte à mesma edição visual consistente para todas as formas de conteúdo headless do AEM.
- Os desenvolvedores se beneficiam da versatilidade do Universal Editor, pois ele também suporta a verdadeira dissociação da implementação. Ele permite que os desenvolvedores utilizem praticamente qualquer estrutura ou arquitetura de sua escolha, sem impor restrições de SDK ou tecnologia.
Consulte a documentação do AEM as a Cloud Service sobre o Universal Editor para obter mais detalhes.
Arquitetura architecture
O Editor universal é um serviço que trabalha em conjunto com o AEM para criar conteúdo em headless.
- O Editor Universal está hospedado em
https://experience.adobe.com/#/aem/editor/canvase pode editar páginas renderizadas pelo AEM 6.5. - A página do AEM é lida pelo Editor universal por meio do dispatcher da instância do autor do AEM.
- O Universal Editor Service, que é executado no mesmo host que a Dispatcher, grava as alterações de volta na instância de autor do AEM.
Requisitos requirements
O Editor Universal é compatível com:
- AEM 6.5
- Há suporte para hospedagem local e AMS*.
- AEM 6.5 LTS
- Há suporte para hospedagem local e AMS*.
- AEM as a Cloud Service
Este documento se concentra no suporte do AEM 6.5 ao Universal Editor. Para usar o Editor universal com o AEM 6.5, será necessário:
- AEM 6.5 with service pack 23 or higher
- Service packs 21 and 22 are also supported with a feature pack..
- Dispatcher properly configured
Configurar setup
Para testar o Editor universal, será necessário:
Após concluir a instalação, você pode instrumentar seus aplicativos para usar o Editor Universal.
Configure Services configure-services
The Universal Editor leverages several packages for which additional configuration is needed.
Set the SameSite Attribute for the login-token cookie. samesite-attribute
- Abra o Gerenciador de configurações.
http://<host>:<port>/system/console/configMgr
- Localize o Manipulador de autenticação de token do Adobe Granite na lista e clique em Alterar os valores de configuração.
- Na caixa de diálogo, altere o atributo SameSite do cookie de token de logon (
token.samesite.cookie.attr) paraPartitioned. - Clique em Salvar.
Remova a opção X-Frame de cabeçalhos SAMEORIGIN. sameorigin
- Abra o Gerenciador de configurações.
http://<host>:<port>/system/console/configMgr
- Locate Apache Sling Main Servlet in the list and click Edit the configuration values.
- Exclua o valor
X-Frame-Options=SAMEORIGINdo atributo () Cabeçalhos de resposta adicionaissling.additional.response.headersse ele existir. - Clique em Salvar.
Configure o Manipulador de autenticação de parâmetro de consulta do Adobe Granite. query-parameter
- Abra o Gerenciador de configurações.
http://<host>:<port>/system/console/configMgr
- Localize o Manipulador de Autenticação de Parâmetro de Consulta do Adobe Granite na lista e clique em Editar os valores de configuração.
- No campo Caminho (
path), adicione/para habilitar.- Um valor vazio desativa o manipulador de autenticação.
- Clique em Salvar.
Define for which content paths or sling:resourceTypes the Universal Editor shall be opened. paths
-
Abra o Gerenciador de configurações.
http://<host>:<port>/system/console/configMgr
-
Locate Universal Editor URL Service in the list and click Edit the configuration values.
-
Defina para quais caminhos de conteúdo ou
sling:resourceTypeso Editor Universal deve ser aberto.- In the Universal Editor Opening Mapping field, provide the paths for which the Universal Editor is opened.
- In the Sling:resourceTypes which shall be opened by Universal Editor field, provide a list of resources which are opened directly by the Universal Editor.
-
Clique em Salvar.
-
Check your externalizer configuration and ensure at a minimum you have the local, author, and publish environments set as in the following example.
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]"
Once those configuration steps are complete, AEM will open the Universal Editor for pages in the following order.
- O AEM verificará os mapeamentos em
Universal Editor Opening Mappinge se o conteúdo estiver em qualquer caminho definido nele, o Editor Universal será aberto para ele. - Para conteúdo não nos caminhos definidos em
Universal Editor Opening Mapping, o AEM verifica se oresourceTypedo conteúdo corresponde aos definidos em Sling:resourceTypes que devem ser abertos pelo Universal Editor e se o conteúdo corresponde a um desses tipos, o Universal Editor será aberto para ele em${author}${path}.html. - Caso contrário, o AEM abrirá o Editor de páginas.
As variáveis a seguir estão disponíveis para definir seus mapeamentos em Universal Editor Opening Mapping.
path: Caminho de conteúdo do recurso a ser abertolocalhost: Entrada do externalizador paralocalhostsem esquema, ex.:localhost:4502author: Entrada externalizadora para autor sem esquema, ex.:localhost:4502publish: Entrada do externalizador para publicação sem esquema, ex.:localhost:4503preview: Entrada do externalizador para visualização sem esquema, ex.:localhost:4504env:prod,stage,devcom base nos modos de execução do Sling definidostoken: Token de consulta necessário paraQueryTokenAuthenticationHandler
Exemplo de mapeamentos:
-
Abrir todas as páginas em
/content/foono Autor do AEM:/content/foo:${author}${path}.html?login-token=${token}- Isto resulta na abertura de
https://localhost:4502/content/foo/x.html?login-token=<token>
-
Abrir todas as páginas em
/content/barem um servidor NextJS remoto, fornecendo todas as variáveis como informações/content/bar:nextjs.server${path}?env=${env}&author=https://${author}&publish=https://${publish}&login-token=${token}- Isto resulta na abertura de
https://nextjs.server/content/bar/x?env=prod&author=https://localhost:4502&publish=https://localhost:4503&login-token=<token>
Configurar o Serviço do Editor Universal set-up-ue
Com o AEM atualizado e configurado, você pode configurar um Serviço local do Universal Editor para desenvolvimento e teste locais.
-
Instale o Node.js versão >=20.
-
Baixe e descompacte o Serviço Universal Editor mais recente da Distribuição de Software
-
Configure o Universal Editor Service por meio de variáveis de ambiente ou arquivo
.env.- Consulte a documentação do AEM as a Cloud Service Universal Editor para obter detalhes.
- Observe que talvez seja necessário usar a opção
UES_MAPPINGse for necessária a regravação interna do IP.
-
Executar
universal-editor-service.cjs
Update the Dispatcher update-dispatcher
With AEM configured and a local Universal Editor service running, you will need to allow a reverse proxy for the new service in the dispatcher.
-
Adjust the vhost file of author instance to include a reverse proxy.
code language-html <IfModule mod_proxy.c> ProxyPass "/universal-editor" "http://localhost:8080" ProxyPassReverse "/universal-editor" "http://localhost:8080" </IfModule>note note NOTE 8080 is the default port. Se você alterou isto usando o parâmetro UES_PORTem seu arquivo.env, ajuste o valor da porta aqui de acordo. -
Reinicie o Apache.
Instrumentar o aplicativo instrumentation
Com o AEM atualizado e um Serviço do editor universal local em execução, você pode começar a editar conteúdo headless usando o editor universal.
No entanto, seu aplicativo deve ser instrumentado para aproveitar o Editor universal. Isso envolve a inclusão de metatags para instruir o editor sobre como e onde persistir o conteúdo. Os detalhes desta instrumentação estão disponíveis na documentação do Universal Editor para AEM as a Cloud Service.
Observe que, ao seguir a documentação do Universal Editor com AEM as a Cloud Service, as seguintes alterações se aplicam ao usá-lo com o AEM 6.5.
-
O protocolo na meta tag deve ser
aem65em vez deaem.code language-html <meta name="urn:adobe:aue:system:aemconnection" content={`aem65:${getAuthorHost()}`}/> -
O ponto de extremidade do Serviço do Editor Universal deve ser anunciado por meio de uma meta tag.
code language-html <meta name="urn:adobe:aue:config:service" content={`${getAuthorHost()}/universal-editor`}/> -
Na seção
pluginsda definição de componentes, deve ser usadoaem65em vez deaem.
Diferenças entre o AEM 6.5 e o AEM as a Cloud Service differences
O Editor universal no AEM 6.5 funciona amplamente da mesma forma que no AEM as a Cloud Service, incluindo a interface do usuário e grande parte da configuração. Há, no entanto, diferenças que devem ser observadas.
- O Universal Editor no 6.5 é compatível apenas com o caso de uso headless.
- Setup of the Universal Editor varies slightly for 6.5 (as described in the current document).
- The Universal Editor in 6.5 uses a different asset picker and a different Content Fragment picker than AEM as a Cloud Service.