Monday, 12 February 2018

Modifying Digital Assets using Adobe Experience Manager Workflows

When working with Adobe Experience Manager digital assets, you can use workflows to achieve business requirements. Not all business requirements can be achieved by using out of the box Experience Manager components. To achieve some requirements, you need to build custom workflows. In some cases, you need to build custom workflow steps by using Experience Manager Workflow API.

For example, consider a business requirement when a digital asset has to be archived prior to deleting it. That is, you want to place an asset into a trash folder before deleting it. Using out of the box workflow steps, you cannot achieve this use case. To achieve this requirement, you need to build a custom workflow step that moves the asset to a folder named trash under /content/dam.

The following illustration show the workflow model that moves a digial asset to the trash folder and then deletes the asset.

In this model, the step that moves the digital asset to the trash folder is a custom workflow step that uses AEM APIs. To create a custom workflow step for Experience Manager 6.3, you need to use Declarative Services annotations as opposed to Apache Felix - SCR Annotations (this is shown in this article).

This development article uses these APIs to achieve this use case: 

  • Workflow API - to handle the payload that represents the digital asset
  • JCR API - to get the node and read the jcr:data property to obtain an InputStream 
  • AssetManager API - to place the asset into the Trash folder.
To read this development article, click

Join the Experience League

To become an Experience Business, you need more than just great tools and online help. You need a partner. Experience League is a new enablement program with guided learning to help you get the most out of Adobe Experience Cloud. With training materials, one-to-one expert support, and a thriving community of fellow professionals, Experience League is a comprehensive program designed to help you become your best.

Join the Adobe Experience League by clicking this banner.

I (Scott Macdonald) am a Senior Experience League Community Manager at Adobe Systems with 20 years in the high tech industry. I am also a programmer with knowledge in Java, JavaScript, C#,C++, HTML, XML and ActionScript. If  you would like to see more AEM or other end to end articles like this, then leave a comment and let me know what content you would like to see.

Linked In:

YouTube: Subscribe to the AEM Community Channel.