AEM: DAM Asset Preview and Edit failures after DITA upgrade in DEV/STAGE/PROD
This article addresses issues with DAM asset preview and edit functionality in Adobe Experience Manager environments.
Description description
Environment
Adobe Experience Manager (AEM) (all versions)
Issue/Symptoms
In AEM Assets Admin UI, previewing some images (For example: clicking on the asset) may briefly show the asset, and then the preview becomes blank. The issue is usually limited to specific assets, while other assets in the same environment may continue to preview normally.
Browser network traces for affected assets show a failed Dynamic Media viewer request similar to:
GET /is/image/content/dam/<asset-path>?req=set,json,UTF-8&handler=s7viewerss7sdkJSONResponse
The request returns:
HTTP 404
No preview server defined for root ID referenced in net path
Related AEM logs may contain:
Unable to forward request for root [ content] , no preview servlet defined for [ content]
Resolution resolution
Follow these steps to resolve the issue:
-
Inspect the affected asset’s Dynamic Media metadata Open the asset metadata node and verify the following properties under:
code language-none /content/dam/<asset-path>/jcr:content/metadataCheck these fields specifically:
dam:scene7FileStatusdam:scene7Filedam:scene7IDdam:scene7Domaindam:scene7CloudConfigPathdam:scene7APIServerdam:scene7Type
A healthy asset should normally have:
dam:scene7FileStatus = PublishCompletedam:scene7Filepopulateddam:scene7IDpopulated
-
Compare against a working asset If possible, compare the failing asset to another image in the same environment that previews correctly. In most cases, the failing asset will be missing one or more required
dam:scene7*properties, ordam:scene7FileStatuswill be set to a non-healthy value such as:NeedsReuploadPublishIncompleteUploadFailedUploadStartReprocessStart
-
Re-upload or reprocess the affected asset Re-uploading or reprocessing the asset forces AEM/Dynamic Media to regenerate the missing Scene7 linkage metadata. In the validated case, re-uploading changed the asset from:
dam:scene7FileStatus = NeedsReupload- Missing
dam:scene7File - Missing
dam:scene7ID
to a healthy state with:
dam:scene7FileStatus = PublishComplete- Populated
dam:scene7File - Populated
dam:scene7ID
-
If the asset was introduced by content copy, package install, or migration, reprocess the affected assets in the target environment Assets copied from another environment can retain stale or incomplete Dynamic Media metadata, or bypass normal Dynamic Media ingestion in the target environment. Re-uploading or reprocessing in the target environment regenerates the correct local
dam:scene7*metadata. -
Validate preview recovery After re-upload or reprocess:
- Confirm the asset preview works in Asset Details.
- Confirm the asset no longer issues a failing preview request to:
code language-none /is/image/content/dam/<asset-path>?req=set,json,UTF-8&handler=s7viewerss7sdkJSONResponse- Confirm the asset now resolves using a valid Scene7 handle in
dam:scene7File.
-
For bulk impact, identify similar assets by status If multiple assets are affected, query for assets with unhealthy
dam:scene7FileStatusvalues and reprocess that subset, rather than the entire DAM tree.
Cause
The issue is caused by the affected asset being in an incomplete or stale Dynamic Media synchronization state. In this condition, the asset exists in AEM, but is missing the valid Scene7 linkage metadata required for Asset Details preview resolution, such as dam:scene7File, dam:scene7ID, or a healthy dam:scene7FileStatus.
As a result, Asset Details attempts to load the Dynamic Media preview using a repository path under /content/dam/... instead of a valid Scene7 asset handle, and the preview request fails, causing the preview area to go blank.
This state is commonly introduced when:
- Dynamic Media sync/upload didn’t complete cleanly.
- The asset was copied or migrated from another environment.
- Stale
dam:scene7*metadata was carried over from another environment. - The asset wasn’t fully reprocessed in the target environment after migration or content copy.