Error intermitente del controlador PageEvent personalizado en los trabajos de traducción masiva en AEMaaCS
En Adobe Experience Manager as a Cloud Service (AEMaaCS), el posprocesamiento personalizado para páginas traducidas no se almacena en déclencheur de forma coherente una vez completados los trabajos de traducción masiva. Como resultado, las actualizaciones de alias y la replicación de previsualización no se ejecutan para algunas páginas traducidas aunque la traducción se complete correctamente. El problema se produce cuando la lógica personalizada no detecta las traducciones completadas durante el procesamiento masivo. Para resolver el problema, detecte las traducciones completadas mediante las API de nivel de trabajo admitidas.
Descripción description
Entorno
- Producto: Adobe Experience Manager as a Cloud Service (AEMaaCS) - Sitios
- Escenario: trabajos de traducción en lotes ejecutados con conectores de traducción de terceros, como Lionbridge
- Restricciones: El problema se produce de forma intermitente y afecta únicamente a entornos específicos, incluidos los de fase y producción
Problema/Síntomas
- La configuración de alias no se aplica a algunas páginas traducidas después de que se complete una traducción masiva.
- La replicación de previsualización no se activa para determinadas páginas traducidas.
- El problema se produce de forma intermitente y no afecta a todas las páginas de un trabajo de traducción masiva.
- Todas las páginas afectadas aparecen completamente traducidas y muestran las propiedades JCR correctas.
- El controlador de eventos y la canalización posterior al procesamiento relacionada no se invocan para las páginas afectadas.
Resolución resolution
Para resolver el problema, siga los pasos a continuación:
- Revise la lógica de detección utilizada por el controlador PageEvent personalizado y tenga en cuenta que la implementación actual se basa incorrectamente en
PageModification.getUserId(), que coincide con un usuario de servicio específico, y en la detección de propiedades internas comocq:translationStatusen las rutas de modificación. - Tenga en cuenta que en AEM as a Cloud Service,
PageModification.getUserId()puede devolveroak:unknown, lo que hace que las comprobaciones basadas en usuarios no sean fiables, y que las propiedades internas comocq:translationStatusno están presentes de forma coherente en todos los eventos de modificación debido al procesamiento por lotes y a la reescritura asincrónica de traducciones. - Actualice el método de detección de finalización de la traducción evitando depender de propiedades JCR internas o indocumentadas o ID de usuario específicos, ya que estos mecanismos no son compatibles y están sujetos a cambios, y utilice en su lugar señales admitidas como eventos de trabajo de traducción junto con la API de REST de traducción pública.
- Detecte traducciones completadas mediante programación en el nivel de página consultando el estado del trabajo de traducción a través de los puntos finales de API de REST de traducción admitidos documentados por las API de Adobe Experience Manager y utilizando el estado del trabajo devuelto para almacenar en déclencheur las acciones posteriores al procesamiento necesarias, como las actualizaciones de alias o la replicación de previsualización.
- Tenga en cuenta que si se prefiere una API de Java interna en lugar de llamadas HTTP, actualmente no existe ninguna API de Java interna compatible con este fin y se ha presentado una solicitud de mejora al equipo de ingeniería de Adobe para solucionar esta limitación.
- Compruebe que, después de actualizar la lógica de detección para depender únicamente de las API y señales admitidas, todas las acciones posteriores al procesamiento previstas se ejecutan de forma fiable después de los trabajos de traducción masiva.
Notas:
- No se puede depender de cambios de propiedad JCR internos o de usuarios de servicio específicos para la administración de eventos, y esto puede romper con las actualizaciones de la plataforma.
- Actualmente, la API de REST de traducción pública admite proyectos de traducción predeterminados, y la compatibilidad con proyectos de conectores de terceros puede permanecer limitada hasta futuras mejoras.
experience-cloud-kcs-help-kbarticles