Scaling DAM migrations in Adobe Experience Manager: tracking affected resources after asset moves | Community
Skip to main content
Level 1
May 18, 2026
Question

Scaling DAM migrations in Adobe Experience Manager: tracking affected resources after asset moves

  • May 18, 2026
  • 2 replies
  • 42 views

Hi everyone,

I’m working on a large-scale DAM migration in Adobe Experience Manager using CopyMoveAssetCommandBuilder.

The main issue is that while references are updated during asset moves, I can’t find a way to retrieve all modified resources/paths affected by the operation.

Example:

  1. Asset is moved

  2. Content Fragment references are updated

  3. Pages consuming those fragments are indirectly affected

  4. But I can’t reliably identify everything that should be republished

At scale, this creates publish consistency concerns because Content Fragments and pages may remain published with stale references.

What I’m trying to achieve:

  • Detect impacted resources recursively

  • Republish in controlled batches

  • Track errors/audit results in DAM

  • Retry failed republishes safely

Questions:

  • Is there a supported way to retrieve modified resources from CopyMoveAssetCommandBuilder?

  • Are there recommended APIs/services for resolving downstream dependencies efficiently?

  • Is Reference Search the recommended approach for handling dependency chains like Asset → Content Fragment → Page?

  • Any best practices for maintaining author/publish consistency during large DAM restructures?

Would appreciate any insights from teams that have handled large migrations in AEM Cloud.

Thanks!

    2 replies

    Adobe Employee
    May 18, 2026
    sarav_prakash
    Community Advisor
    Community Advisor
    May 20, 2026

    Cheers ​@PabloSe1 , I too did a similar massive DAM project, with heavy taxonomy and move operations. Ended with production server crash, and taking multiple adobe support for prod issues. Then had to redo taxonomy to reduce MOVE operation.

     

    We separated MOVE operation; Needing reference update and NOT needing reference update. Used `resolver.move(sourcePath, destinationPath)` for no reference updates. But used same CopyMoveCommandBuilder for needing updates. Implemented splitting payload to chunks and run in batches. 

    There is an article for same https://techrevel.blog/2025/10/07/rename-move-an-aem-asset-programmatically-and-update-references/