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:

  1. 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, como cq:translationStatus, nos caminhos de modificação.
  2. Esteja ciente de que, no AEM as a Cloud Service, o PageModification.getUserId() pode retornar oak:unknown, tornando as verificações baseadas no usuário não confiáveis, e que propriedades internas como cq:translationStatus não estão consistentemente presentes em todos os eventos de modificação devido ao agrupamento e à gravação assíncrona de tradução.
  3. 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.
  4. 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.
  5. 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.
  6. 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.

Leitura relacionada

getTranslationJob

recommendation-more-help
experience-cloud-kcs-help-kbarticles