Automation of asset processing in AEM

Challenges in the automation of asset or image editing processes

Digital assets - more important than ever

Today, digital marketing requires significantly more images and videos than just a few years ago. There are many reasons for this: There is a multitude of device types on which assets are played out. There are different screen sizes - from smartwatches to 8k monitors. In addition, you need an enormous number of assets for target group-specific personalization. Imagine, for example, the content page of a car insurance company. Ideally, each target group, be it a single, a family, a corporate customer, male, female, from the city, from the country, etc. gets its personal address - and also visual language.

Machines can help deliver assets in different versions in an automated way. I will explain how to automate asset processing in AEM in this blog article.

Structureless and processless filing

Assets are typically created in a wide variety of ways, obtained from a wide variety of sources, and ultimately loaded into a digital asset management (DAM) system. As a result, image and metadata quality often varies. In the further use of the assets, this can lead to assets being difficult to find and use.

In addition, storage in a DAM is usually unstructured. The "content first, structure later" approach means that assets can be uploaded to the system and used very quickly and easily. However, the problems arise downstream because the storage is unstructured. As an example, I would like to mention the uploading of images in different formats or aspect ratios. As a result, several variants of the same image exist in Asset Management that are not related to each other. Redundancies are created. Without a predefined structure or process, it is difficult to automate this process.

Image editing

Processes outside of DAM

Another challenge is that despite a central repository in the DAM, many image editing processes still take place outside the system. Many steps are performed with local tools, such as cropping images. If you want to automate such a process, you need some kind of intelligence that can handle the different types of images

Various file formats

When you think about automating individual image processing steps, you are quickly confronted with the problem that there is an abundance of file formats. The handling can be completely different depending on the file format. In addition, there are also significant differences in file format types: there are vector and raster graphics, or document formats such as the PDF. In addition, the files can be in compressed or uncompressed formats.

Image editing costs resources

In the case of image processing itself, the complicating factor is that processing assets within a system consumes resources. Especially when processing many assets in parallel, a scalable system is needed to cover the necessary memory and CPU requirements without affecting the system itself. Ideally, the user should not notice that after uploading several dozen assets, the system is busy processing the images.

Image editing is complicated

Already for the reasons mentioned above, one recognizes a basic complexity when editing images. In addition, one quickly realizes that software for image editing contains a certain complexity for a reason. As a rule, editing images is complicated.

AEM

In this context, it must be honestly stated that AEM is not an image editing software either. Simple image editing, such as rotating and cropping, can be done within AEM, but more complex image editing still takes place in dedicated tools such as Photoshop, InDesign or Illustrator.

What answers can we find in the AEM environment?

AEM Workflow

 

An answer can be given with the help of workflows within AEM. AEM offers an extensible workflow engine that can be used to automate many processes. Classically, review and approval processes are implemented in this way, for example, in order to be able to update metadata or copyright information in a process-supported manner. In addition, dark processing can also be used, for example to apply a watermark. AEM offers a so-called workflow step "Add Watermark" for this purpose. This can be integrated directly in AEM in the "Update Asset" workflow. This way the original asset and all renditions are watermarked, see figure.

AEM Workflows
Add Watermark Process

Further image processing can be implemented via specially implemented workflows. For this purpose, the workflows contained in AEM can be extended, see

https://experienceleague.adobe.com/docs/experience-manager-65/developing/extending-aem/extending-workflows/workflows.html

 

Since the implementation of such workflows is done in the Java programming language, an Image API is used for image processing. In the case of Java, the AWT API is usually used, see

https://docs.oracle.com/javase/7/docs/api/java/awt/package-summary.html.

This API can be used for simple image processing. For more complex image processing requirements, however, one will resort to special libraries such as OpenCV (https://opencv.org/ ), BootCV (http://boofcv.org/index.php?title=Main_Page ) or JavaCV (https://github.com/bytedeco/javacv ).

Using the Photoshop API and Sensei

Another way to automate image processing in AEM is to use the Adobe I/O platform and its associated services and APIs.

 

Among these is the Photoshop API, where Adobe combines the capabilities of Photoshop with the intelligence of Adobe Sensei. AEM as a Cloud Service can integrate this API via so-called asset compute workers, see https://experienceleague.adobe.com/docs/asset-compute/using/introduction.html. Configuration has also been simplified at this point. Instead of awkwardly connecting individual folders to the API via workflows, you can simply configure it per folder via so-called Processing Profiles, see figure.

 

By the way - if you want to get an insight into the world of Adobe I/O and how you can easily connect Adobe products and services there, I would like to refer you to my next blog article.

Processing Profiles

Such integration can leverage the capabilities of the Photoshop API. The services developed and operated by Adobe provide much of the functionality available in Photoshop and Lightroom. In addition, there are a number of intelligent services that can, for example, crop objects and people in an image without much configuration, or brighten images and make them more color intensive, see figures. These services offer real added value and can significantly speed up the processing of images.

Image

More information about the Photoshop API and its capabilities can be found at https://www.adobe.io/photoshop/api/.

And what about the AEM on-premise installation?

Although Adobe does not provide a direct integration of the Photoshop API, the Photoshop API can also be used beyond AEM as a Cloud Service. In this case, the integration can be done via a separate workflow implementation in AEM.

Conclusion

In recent years, Adobe has recognized the challenges mentioned at the beginning of this article and has provided customers in the AEM environment with a comprehensive toolbox for solving them. However, it takes time to find one's way around the many possibilities.

Most recently, a very powerful tool has emerged in the form of the Photoshop API, which not only extends the possibilities of AEM, but also simplifies many processes in the processing and editing of images. The worlds of Experience Cloud and Creative Cloud are thus continuing to grow ever closer together. The potential for me is enormous.