Falha intermitente do manipulador PageEvent personalizado em trabalhos de tradução em massa no AEMaaCS
No Adobe Experience Manager as a Cloud Service (AEMaaCS), o pós-processamento personalizado para páginas traduzidas não é acionado de forma consistente após a conclusão dos trabalhos de tradução em massa. Como resultado, as atualizações de alias e a replicação de visualização não são executadas para algumas páginas traduzidas, mesmo que a tradução seja concluída com sucesso. O problema ocorre quando a lógica personalizada não consegue detectar traduções concluídas durante o processamento em massa. Para resolver o problema, detecte traduções concluídas usando APIs de nível de trabalho compatíveis.
Descrição description
Ambiente
- Produto: Adobe Experience Manager as a Cloud Service (AEMaaCS) - Sites
- Cenário: trabalhos de tradução em massa executados usando conectores de tradução de terceiros, como a Lionbridge
- Restrições: o problema ocorre intermitentemente e afeta apenas ambientes específicos, incluindo preparo e produção
Problema/Sintomas
- A configuração de alias não é aplicada a algumas páginas traduzidas depois que uma tradução em massa é concluída.
- A replicação de visualização não é acionada para determinadas páginas traduzidas.
- O problema ocorre intermitentemente e não afeta todas as páginas em um trabalho de tradução em massa.
- Todas as páginas afetadas aparecem totalmente traduzidas e exibem as propriedades corretas do JCR.
- O manipulador de eventos e o pipeline de pós-processamento relacionado não são chamados para as páginas afetadas.
Resolução resolution
Para resolver o problema, siga as etapas abaixo:
- Revise a lógica de detecção usada pelo manipulador PageEvent personalizado e observe que a implementação atual depende incorretamente da correspondência do
PageModification.getUserId()com um usuário de serviço específico e da detecção de propriedades internas, comocq:translationStatus, nos caminhos de modificação. - Esteja ciente de que, no AEM as a Cloud Service, o
PageModification.getUserId()pode retornaroak:unknown, tornando as verificações baseadas no usuário não confiáveis, e que propriedades internas comocq:translationStatusnão estão consistentemente presentes em todos os eventos de modificação devido ao agrupamento e à gravação assíncrona de tradução. - Atualize a abordagem de detecção da conclusão da tradução, evitando depender de propriedades JCR internas ou não documentadas ou IDs de usuário específicas, pois esses mecanismos não são compatíveis e estão sujeitos a alterações. Em vez disso, use sinais compatíveis, como eventos de Trabalho de tradução, juntamente com a API REST de tradução pública.
- Detecte traduções concluídas de forma programática no nível da página consultando o status do trabalho de tradução por meio dos pontos de extremidade da API REST de tradução compatíveis documentados pelas APIs do Adobe Experience Manager e usando o status do trabalho retornado para acionar as ações de pós-processamento necessárias, como atualizações de alias ou replicação de visualização.
- Observe que se uma API Java interna for preferível em relação a chamadas HTTP, nenhuma API Java interna compatível existe para essa finalidade no momento, e uma solicitação de aprimoramento foi apresentada à engenharia do Adobe para lidar com essa limitação.
- Verifique se, após atualizar a lógica de detecção para depender apenas das APIs e sinais compatíveis, todas as ações de pós-processamento desejadas são executadas de forma confiável após trabalhos de tradução em massa.
Notas:
- Depender de alterações internas de propriedade do JCR ou de usuários de serviço específicos para a manipulação de eventos não é compatível e pode causar falhas nas atualizações da plataforma.
- A API REST de tradução pública atualmente é compatível com projetos de tradução prontos para uso, e o suporte para projetos de conectores de terceiros pode permanecer limitado até melhorias futuras.
experience-cloud-kcs-help-kbarticles