AEM:在DEV/STAGE/PROD中进行DITA升级后,执行DAM资源预览和编辑失败
本文介绍Adobe Experience Manager环境中DAM资源预览和编辑功能存在的问题。
描述 description
环境
Adobe Experience Manager (AEM)(所有版本)
问题/症状
在AEM Assets管理UI中,预览某些图像(例如:单击资源)可能会短暂显示资源,然后预览会变为空白。 问题通常仅限于特定资产,而同一环境中的其他资产可能会继续正常预览。
受影响资产的浏览器网络跟踪显示失败的Dynamic Media查看器请求,类似于:
GET /is/image/content/dam/<asset-path>?req=set,json,UTF-8&handler=s7viewerss7sdkJSONResponse
该请求会返回:
HTTP 404
No preview server defined for root ID referenced in net path
相关的AEM日志可能包含:
Unable to forward request for root [ content] , no preview servlet defined for [ content]
解决方法 resolution
请按照以下步骤解决问题:
-
检查受影响资产的Dynamic Media元数据打开资产元数据节点,并验证下的以下属性:
code language-none /content/dam/<asset-path>/jcr:content/metadata具体选中以下字段:
dam:scene7FileStatusdam:scene7Filedam:scene7IDdam:scene7Domaindam:scene7CloudConfigPathdam:scene7APIServerdam:scene7Type
正常运行的资产通常应具有:
dam:scene7FileStatus = PublishComplete- 已填充
dam:scene7File - 已填充
dam:scene7ID
-
与正在运行的资源进行比较如果可能,请将失败的资源与正确预览的同一环境中的其他图像进行比较。 在大多数情况下,失败的资源将缺少一个或多个必需的
dam:scene7*属性,或者dam:scene7FileStatus将设置为不正常的值,例如:NeedsReuploadPublishIncompleteUploadFailedUploadStartReprocessStart
-
重新上传或重新处理受影响的资源重新上传或重新处理资源将强制AEM/Dynamic Media重新生成缺少的Scene7链接元数据。 在验证用例中,重新上传将资源从:
dam:scene7FileStatus = NeedsReupload- 缺少
dam:scene7File - 缺少
dam:scene7ID
达到健康状态:
dam:scene7FileStatus = PublishComplete- 已填充
dam:scene7File - 已填充
dam:scene7ID
-
如果资源是由内容复制、包安装或迁移引入的,请在目标环境中重新处理受影响的资源从其他环境复制的Assets可能会保留陈旧或不完整的Dynamic Media元数据,或者绕过目标环境中的正常Dynamic Media引入。 在目标环境中重新上传或重新处理会重新生成正确的本地
dam:scene7*元数据。 -
重新上传或重新处理之后,验证预览恢复:
- 确认资源预览在 资源详细信息 中有效。
- 确认资产不再向以下用户发出失败的预览请求:
code language-none /is/image/content/dam/<asset-path>?req=set,json,UTF-8&handler=s7viewerss7sdkJSONResponse- 确认现在使用
dam:scene7File中的有效Scene7句柄解析资源。
-
对于批量影响,请按状态识别类似的资源如果多个资源受到影响,请查询具有不正常的
dam:scene7FileStatus值的资源,并重新处理该子集,而不是整个DAM树。
原因
问题是由受影响的资产处于 不完整或过时的Dynamic Media同步状态 导致的。 在这种情况下,资源存在于AEM中,但缺少资源详细信息预览解析所需的有效Scene7链接元数据,例如dam:scene7File、dam:scene7ID或健康的dam:scene7FileStatus。
因此,资产详细信息将尝试使用/content/dam/...下的存储库路径而不是有效的Scene7资产句柄来加载Dynamic Media预览,并且预览请求失败,导致预览区域变为空白。
此状态通常在以下情况下引入:
- Dynamic Media同步/上传未干净完成。
- 资源是从其他环境复制或迁移的。
- 从其他环境转移了陈旧的
dam:scene7*元数据。 - 迁移或内容复制后,未在目标环境中完全重新处理资产。