由于fmPostProcessedAt属性过时,DITA映射或主题引用中断
在具有AEM Guides的Adobe Experience Manager as a Cloud Service (AEMaaCS)或AEM 6.5中工作时,DITA映射或主题引用可能显示为已损坏,并且UI中可能缺少输出预设。 这通常发生在资产因fmPostProcessedAt
属性过期而无法同步时 — 通常在手动部署或迁移之后。 要解决此问题,请使用DAM更新资产工作流重新处理受影响的资产。
描述 description
环境
- 产品: Adobe Experience Manager (AEM) — 站点
- 版本: AEM 6.5、AEM as a Cloud Service (AEMaaCS)
问题/症状
-
部署后,即使存储库中存在主题,DITA映射主题引用在创作UI中显示为损坏(红色)。
-
由于主题引用未解析或损坏,PDF或其他输出生成失败。
-
在刷新页面或生成文档后,新创建的输出预设从AEM Guides UI中消失,但在CRXDE中可见。
-
/bin/guides/presets
终结点返回受影响映射的 500服务器 错误。 -
警告/错误日志包含如下消息:
- 已找到ref GUID-xxxx.ditamap的节点……但由于不同步而返回null
- com.adobe.fmdita.rest.presets.PresetsAPI错误: {"errorCode":"DXML_MESSAGE_0004"}
- java.lang.NullPointerException…
-
在环境之间手动DITA内容包部署或迁移会导致DITA资产不同步。
原因
当DITA资产不同步(通常是由于jcr:created
和fmPostProcessedAt
属性不匹配)时,会出现此问题。 这种不匹配会导致Guides UI和API无法正确解析主题引用和输出预设。
导致这种不同步状态的常见原因包括:
- 通过包或管道迁移DITA内容而不触发后处理。
- 在AEM中手动导入或编辑DITA资源。
- 部署后资源工作流处理不完整或失败。
解决方法 resolution
要解决此问题,请执行以下步骤:
-
通过检查错误日志中是否存在不匹配的 和 值,识别标记为
jcr:created
不同步fmPostProcessedAt
的资源。 -
使用AEM中的标准DAM更新资产工作流重新处理受影响的资产,该工作流包括DXML后处理启动器(
com.adobe.fmdita.postprocess.PostProcessJobInitiator
)步骤,可确保fmPostProcessedAt
值正确更新。 -
创建自定义工作流(如有必要):
- 在AEM中配置仅包含 DXML后处理启动器 步骤的新工作流模型。
- 在受影响的映射或主题上执行此工作流以更新其同步状态。
-
验证中断的主题引用是否已得到解析,输出生成是否成功完成,预设是否在AEM Guides UI中正确显示,
/bin/guides/presets
是否返回预期的结果。