AEMaaCSの一括翻訳ジョブでのカスタム PageEvent ハンドラーの断続的なエラー

Adobe Experience Manager as a Cloud Service(AEMaaCS)では、一括翻訳ジョブが完了した後、翻訳されたページのカスタム後処理が常にトリガーするとは限りません。 その結果、翻訳が正常に完了したにもかかわらず、一部の翻訳ページでエイリアスの更新とプレビューレプリケーションが実行されません。 この問題は、一括処理中にカスタムロジックが完了した翻訳を検出できない場合に発生します。 この問題を解決するには、サポートされているジョブレベル APIを使用して、完了した翻訳を検出します。

説明 description

環境

  • 製品:Adobe Experience Manager as a Cloud Service (AEMaaCS) - Sites
  • シナリオ: 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で文書化されたサポートされているTranslation REST API エンドポイントを通じて翻訳ジョブステータスをクエリし、返されたジョブステータスを使用して、エイリアスの更新やプレビューレプリケーションなどの必要な後処理アクションをトリガーすることで、完了した翻訳をページレベルでプログラムによって検出します。
  5. HTTP呼び出しよりも内部Java APIが優先される場合、この目的でサポートされている内部Java APIは現在存在せず、この制限に対処するためにAdobe エンジニアリングに拡張リクエストが提出されています。
  6. サポートされているAPIとシグナルのみに依存するように検出ロジックを更新した後、一括翻訳ジョブに従って、意図するすべての後処理アクションが確実に実行されることを確認します。

注意:

  • 内部JCR プロパティの変更または特定のサービスユーザーによるイベント処理の依存はサポートされておらず、プラットフォームの更新で壊れる可能性があります。
  • 公開翻訳REST APIは現在、すぐに使用できる翻訳プロジェクトをサポートしており、サードパーティ製コネクタプロジェクトのサポートは、将来の機能強化まで制限される可能性があります。

関連トピックス

getTranslationJob

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