Expand my Community achievements bar.

July 31st AEM Gems Webinar: Elevate your AEM development to master the integration of private GitHub repositories within AEM Cloud Manager.
SOLVED

Workflows - Is it Possible to Manipulate the Original Image/Asset Rather than Create a Rendition?

Avatar

Level 4

Hello,

I am needing to create a Workflow that automatically resizes an Asset upon upload if it is above a particular size. I understand how to create "Renditions", but I need to be able to provide transformations (using the CommandLine or other Step) on the original image. Is this possible? If so, how can it be achieved?

Thanks.

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

@KMarchewa. If you are on cloud service, you can utilize the transformation capability provided by Web Optimized Image Delivery.
In general, it is not a good idea to replace the original binary of the image unless you are creating a new version itself, as it leads to inconsistency between renditions and the original binary.

You may look for options supporting transformations on the fly. 
1. Recommend you to explore Dynamic media to support transformation use case. example for flip: https://experienceleague.adobe.com/docs/dynamic-media-developer-resources/image-serving-api/image-se...

2. Named Image Transformation Servlet: Named Transform Image Servlet (adobe-consulting-services.github.io)

View solution in original post

3 Replies

Avatar

Community Advisor

You need to create a workflow which takes the original image and then converts the image to a specific dimension based on some rule. Also, you need to disable the DAM Update Asset workflow in the launcher.

Avatar

Level 4

Thanks for the response. I understand the how to create a Workflow that will process the image. However, I cannot figure out how to make the Workflow actually replace the original image. For example, if I configure the "CommandLine" Step with the following process arguments: "convert ${file} -flip ${file}" I would expect the original image to get flipped when the Workflow runs. However, this is not the case; the original image is not modified. Yet if I passed the following: `convert ${directory}/${filename} -flip ${directory}/${basename}_flipped.jpg` a Rendition gets created. How do I replace the original image? Using the same filename (as in the first example) does not work as expected.

 

Thanks.

Avatar

Correct answer by
Community Advisor

@KMarchewa. If you are on cloud service, you can utilize the transformation capability provided by Web Optimized Image Delivery.
In general, it is not a good idea to replace the original binary of the image unless you are creating a new version itself, as it leads to inconsistency between renditions and the original binary.

You may look for options supporting transformations on the fly. 
1. Recommend you to explore Dynamic media to support transformation use case. example for flip: https://experienceleague.adobe.com/docs/dynamic-media-developer-resources/image-serving-api/image-se...

2. Named Image Transformation Servlet: Named Transform Image Servlet (adobe-consulting-services.github.io)