古くなった fmPostProcessedAt プロパティにより、DITA マップまたはトピック参照が壊れる
Adobe Experience Manager as a Cloud Service(AEMaaCS)またはAEM 6.5 でAEM Guidesを使用している場合、DITA マップまたはトピック参照が壊れているように見え、UI に出力プリセットが表示されない場合があります。 これは通常、古い fmPostProcessedAt
プロパティが原因でアセットの同期が取れなくなった場合に発生します。多くの場合、手動でのデプロイメントや移行の後に発生します。 この問題を解決するには、DAM アセットの更新ワークフローを使用して、影響を受けるアセットを再処理します。
説明 description
環境
- 製品: Adobe Experience Manager(AEM) – Sites
- バージョン: AEM 6.5、AEM as a Cloud Service(AEMaaCS)
問題/症状
-
配置後のオーサー UI では、トピックがリポジトリ内に存在する場合でも、DITA Map トピック参照が壊れて(赤)表示されます。
-
未解決のトピック参照または壊れたトピック参照が原因で、PDFやその他の出力生成が失敗する。
-
新しく作成された出力プリセットは、ページを更新した後やドキュメントを生成した後はAEM Guides UI に表示されなくなりますが、CRXDE には表示されます。
-
エンドポイント
/bin/guides/presets
、影響を受けるマップに対して 500 server エラーを返します。 -
警告/エラーログには、次のようなメッセージが含まれます。
- 参照 GUID-xxxx.ditamap のノードが見つかりましたが、非同期のため null を返しました
- com.adobe.fmdita.rest.presets.PresetsAPI エラー:{"errorCode":"DXML_MESSAGE_0004"}
- java.lang.NullPointerException…
-
手動の DITA コンテンツパッケージの配備または環境間の移行によって、DITA アセットが同期しなくなる。
原因
この問題は、DITA アセットが同期しなくなる場合に発生します。通常、プロパティと jcr:created
プロパティの不一致が原因 fmPostProcessedAt
す。 この不一致により、ガイド UI と API でトピック参照と出力プリセットが正しく解決されなくなります。
この非同期の状態の一般的な原因は次のとおりです。
- 後処理をトリガーしないパッケージまたはパイプラインを介した DITA コンテンツの移行。
- AEMでの DITA アセットの手動インポートまたは編集。
- デプロイメント後のアセットワークフロー処理が不完全または失敗しました。
解決策 resolution
この問題を解決するには、次の手順に従います。
-
エラーログで 一致しない および
jcr:created
値を確認して、fmPostProcessedAt
非同期とマークされたアセットを識別します。 -
AEMの標準の DAM アセットの更新ワークフローを使用して、影響を受けたアセットを再処理します。このワークフローには、
com.adobe.fmdita.postprocess.PostProcessJobInitiator
の値が正しく更新されていることを確認する DXML 後処理イニシエーター(fmPostProcessedAt
)ステップが含まれています。 -
必要に応じて、カスタムワークフローを作成します。
- DXML ポストプロセスイニシエーター ステップのみを含んだAEMで、新しいワークフローモデルを設定します。
- 影響を受けるマップまたはトピックでこのワークフローを実行して、同期ステータスを更新します。
-
壊れたトピック参照が解決され、出力の生成が正常に完了し、AEM Guides UI にプリセットが正しく表示され、
/bin/guides/presets
が期待どおりの結果を返すことを確認します。
関連資料
- AEM ユーザーガイドの カスタム DITA-OT および DITA 特殊化の使用。
- DITA コンテンツの再利用性- AEM ユーザーガイド