Échec intermittent du gestionnaire PageEvent personnalisé dans les tâches de traduction en bloc dans AEMaaCS
Dans Adobe Experience Manager as a Cloud Service (AEMaaCS), le post-traitement personnalisé des pages traduites ne se déclenche pas systématiquement une fois les tâches de traduction en bloc terminées. Par conséquent, les mises à jour d’alias et la réplication de prévisualisation ne s’exécutent pas pour certaines pages traduites, même si la traduction est terminée avec succès. Le problème se produit lorsque la logique personnalisée ne détecte pas les traductions terminées lors du traitement en masse. Pour résoudre ce problème, détectez les traductions terminées à l’aide des API de niveau tâche prises en charge.
Description description
Environnement
- Produit : Adobe Experience Manager as a Cloud Service (AEMaaCS) - Sites
- Scénario : tâches de traduction en bloc exécutées à l’aide de connecteurs de traduction tiers, tels que Lionbridge
- Contraintes : le problème se produit par intermittence et affecte uniquement des environnements spécifiques, y compris d’évaluation et de production
Problème/Symptômes
- Le paramètre d’alias n’est pas appliqué à certaines pages traduites une fois la traduction en bloc terminée.
- La réplication d’aperçu n’est pas déclenchée pour certaines pages traduites.
- Le problème se produit par intermittence et n’affecte pas chaque page d’une tâche de traduction en bloc.
- Toutes les pages affectées apparaissent entièrement traduites et affichent des propriétés JCR correctes.
- Le gestionnaire d’événements et le pipeline de post-traitement associé ne sont pas appelés pour les pages affectées.
Résolution resolution
Pour résoudre ce problème, procédez comme suit :
- Examinez la logique de détection utilisée par le gestionnaire PageEvent personnalisé et notez que l’implémentation actuelle repose incorrectement sur la
PageModification.getUserId()correspondant à un utilisateur de service spécifique et sur la détection des propriétés internes telles que lescq:translationStatusdans les chemins de modification. - Notez que sur AEM as a Cloud Service, les
PageModification.getUserId()peuvent renvoyer desoak:unknown, ce qui rend les vérifications basées sur les utilisateurs et utilisatrices peu fiables, et que les propriétés internes telles quecq:translationStatusne sont pas systématiquement présentes dans tous les événements de modification en raison des traitements par lots et de l’écriture différée asynchrone de traduction. - Mettez à jour l’approche de détection de fin de traduction en évitant de dépendre de propriétés JCR internes ou non documentées ou d’ID d’utilisateur spécifiques, car ces mécanismes ne sont pas pris en charge et peuvent être modifiés, et utilisez plutôt des signaux pris en charge tels que les événements de tâche de traduction avec l’API REST de traduction publique.
- Détectez les traductions terminées par programmation au niveau de la page en interrogeant le statut de la tâche de traduction via les points d’entrée de l’API REST de traduction pris en charge documentés par les API Adobe Experience Manager et en utilisant le statut de la tâche renvoyée pour déclencher les actions de post-traitement requises, telles que les mises à jour d’alias ou la réplication de prévisualisation.
- Notez que si une API Java interne est préférable aux appels HTTP, il n’existe actuellement aucune API Java interne prise en charge à cet effet. Une demande d’amélioration a été déposée auprès de l’ingénierie Adobe pour résoudre cette limitation.
- Vérifiez qu’après la mise à jour de la logique de détection pour qu’elle ne repose que sur les API et les signaux pris en charge, toutes les actions de post-traitement prévues s’exécutent de manière fiable suite aux tâches de traduction en bloc.
Remarques :
- Le fait de dépendre de modifications de propriétés JCR internes ou d’utilisateurs de services spécifiques pour la gestion des événements n’est pas pris en charge et peut interrompre les mises à jour de la plateforme.
- L’API REST de traduction publique prend actuellement en charge les projets de traduction prêts à l’emploi, et la prise en charge des projets de connecteur tiers peut rester limitée jusqu’à de futures améliorations.
3d58f420-19b5-47a0-a122-5c9dab55ec7f