AEM Assets:未触发对生产中的特定资源执行标题同步的工作流

本文解决了以下问题:尽管在Adobe Experience Manager Assets中同步资产标题的自定义工作流在较低的环境中工作,但在生产环境中却不会触发某些资产。

描述 description

环境

Adobe Experience Manager (AEM) as a Cloud Service(所有版本)

问题/症状

AEM Assets中配置了一个工作流,用于在更新资产标题时将jcr:title值同步到dc:title。 在生产环境中,某些资产在编辑其标题时不会触发此工作流,而同一路径下复制到较低环境的相同资产会按预期触发工作流。

  • 工作流应通过Assets UI在标题更新时触发。
  • 更新标题后,在生产中未找到受影响资产的工作流实例。
  • 该问题特定于资产:仅某些资产受影响,而非同一文件夹或路径中的所有资产。
  • UI中未显示错误消息,但工作流实例日志不会显示这些资产的任何触发器。

示例资源路径(生产):

  • /content/dam/xxxx/commercial/xxxx/smith/piece/display/static/smith banner 3.png
  • /content/dam/xxxx/commercial/xxxx/smith/piece/direct mail - direct mail/xxxx 2021 V3.html

重现问题的步骤

  1. 在生产环境中,找到受影响的资产。
  2. 使用Assets UI编辑资源的标题。
  3. 检查工作流实例日志,了解与资产相关的任何触发器。
  4. 请注意,不会为标题更新创建工作流实例。

其他说明

  • 相同的资产在复制到较低环境时,会按预期触发工作流。
  • 工作流启动器针对节点修改事件进行配置,通常在jcr:content/metadata上。

原因

该工作流不会触发,因为对于生产环境中的某些资产,标题更新不会修改工作流启动器配置为监视的jcr:content/metadata节点。 这可能是由于节点结构差异、缺少元数据节点或仅应用于这些资源的启动器条件/排除项造成的。

解决方法 resolution

请按照以下步骤解决问题:

  1. 验证工作流启动器配置

    • 在AEM中,导航到工具> 工作流> 启动器
    • 确认工作流启动器已配置为在预期路径(例如: /content/dam/.../jcr:content/metadata)上侦听正确的事件类型(例如: Node Modified)和节点类型(例如: nt:unstructured)。
  2. 比较节点结构

    • 对于生产环境中受影响的资源,请使用CRXDE Lite或类似工具检查jcr:content下的节点结构。
    • 检查metadata节点是否存在,以及jcr:title属性是更新在jcr:content/metadata下还是仅更新在jcr:content下。
    • 请将其与较低环境中正确触发工作流的相同资源进行比较。
  3. 检查工作流启动器条件并排除列表

    • 查看工作流启动器配置中的任何条件或排除列表条目(例如: event-user-data:changedByWorkflowProcess)。
    • 请确保受影响的资产上没有属性或用户数据导致启动器跳过触发。
  4. 启用DEBUG日志记录(如果需要进一步调查)

    • 使用Cloud Manager > 管理日志级别为工作流和启动器相关类临时启用DEBUG日志记录。
    • 请勿通过代码部署启用DEBUG日志记录以进行临时疑难解答。
    • 收集日志后,撤销DEBUG日志记录以避免不必要的日志卷。
    • 有关更多详细信息,请参阅有关管理日志级别🔗的Adobe文档。
  5. 修正资源元数据(如果需要)

    • 如果生产环境中受影响的资源具有不同的节点结构或缺少元数据,请更新资源,以便标题更改可按预期更新metadata节点。
    • 这可能涉及重新保存资源元数据或使用脚本使节点结构与工作资源保持一致。
recommendation-more-help
experience-cloud-kcs-help-kbarticles