AEMaaCS의 벌크 번역 작업에서 사용자 지정 PageEvent 처리기가 간헐적으로 실패했습니다.

Adobe Experience Manager as a Cloud Service(AEMaaCS)에서 번역된 페이지에 대한 사용자 지정 사후 처리는 벌크 번역 작업이 완료된 후에 일관되게 트리거되지 않습니다. 결과적으로 번역이 성공적으로 완료되더라도 일부 번역된 페이지에 대해 별칭 업데이트 및 미리보기 복제가 실행되지 않습니다. 이 문제는 벌크 처리 중에 사용자 지정 로직이 완료된 번역을 감지하지 못할 때 발생합니다. 이 문제를 해결하려면 지원되는 작업 수준 API를 사용하여 완료된 번역을 검색하십시오.

설명 description

환경

  • 제품: Adobe Experience Manager as a Cloud Service(AEMaaCS) - 사이트
  • 시나리오: Lionbridge와 같은 서드파티 번역 커넥터를 사용하여 실행되는 대량 번역 작업
  • 제약 조건: 이 문제는 간헐적으로 발생하며 스테이징 및 프로덕션을 포함한 특정 환경에만 영향을 줍니다

문제/증상

  • 벌크 번역이 완료된 후 일부 번역된 페이지에는 별칭 설정이 적용되지 않습니다.
  • 번역된 특정 페이지에 대해서는 미리 보기 복제가 트리거되지 않습니다.
  • 이 문제는 간헐적으로 발생하며 벌크 번역 작업 내의 모든 페이지에 영향을 주지 않습니다.
  • 영향을 받는 모든 페이지는 완전히 번역된 상태로 표시되며 올바른 JCR 속성을 표시합니다.
  • 영향을 받는 페이지에 대해 이벤트 처리기 및 관련 후처리 파이프라인이 호출되지 않습니다.

해결 방법 resolution

문제를 해결하려면 아래 단계를 수행합니다.

  1. 사용자 지정 PageEvent 처리기에서 사용되는 감지 논리를 검토하고 현재 구현이 특정 서비스 사용자와 일치하는 PageModification.getUserId()과(와) 수정 경로에서 cq:translationStatus과(와) 같은 내부 속성을 감지하는 것에 잘못 의존한다는 점을 참고하십시오.
  2. AEM as a Cloud Service에서 PageModification.getUserId()은(는) oak:unknown을(를) 반환할 수 있으므로 사용자 기반 검사를 신뢰할 수 없으며, 일괄 처리 및 비동기 번역 다시 쓰기로 인해 cq:translationStatus과(와) 같은 내부 속성이 모든 수정 이벤트에 일관되게 있지 않습니다.
  3. 내부 또는 문서화되지 않은 JCR 속성 또는 특정 사용자 ID에 대한 의존성을 피하고 이러한 메커니즘은 지원되지 않으며 변경될 수 있으므로 번역 완료 감지 접근 방식을 업데이트하고 대신 공용 번역 REST API와 함께 번역 작업 이벤트와 같은 지원되는 신호를 사용합니다.
  4. Adobe Experience Manager API로 문서화된 지원되는 번역 REST API 끝점을 통해 번역 작업 상태를 쿼리하고 반환된 작업 상태를 사용하여 별칭 업데이트 또는 미리보기 복제와 같은 필수 사후 처리 작업을 트리거하여 페이지 수준에서 완료된 번역을 프로그래밍 방식으로 검색합니다.
  5. 내부 Java API가 HTTP 호출보다 선호되는 경우 현재 이를 위해 지원되는 내부 Java API가 없으며, 이 제한을 해결하기 위해 Adobe 엔지니어링과 함께 개선 요청이 접수되었습니다.
  6. 지원되는 API 및 신호에만 의존하도록 감지 논리를 업데이트한 후 대량 번역 작업 후 의도한 모든 사후 처리 작업이 안정적으로 실행되는지 확인합니다.

참고:

  • 내부 JCR 속성 변경 사항 또는 특정 서비스 사용자에게 이벤트 처리에 대한 의존은 지원되지 않으며 플랫폼 업데이트로 중단될 수 있습니다.
  • 공개 번역 REST API는 현재 기본 번역 프로젝트를 지원하며, 향후 개선될 때까지 서드파티 커넥터 프로젝트에 대한 지원이 제한될 수 있습니다.

관련 읽기

getTranslationJob

recommendation-more-help
3d58f420-19b5-47a0-a122-5c9dab55ec7f