Use asset microservices and processing profiles get-started-using-asset-microservices

Asset microservices provides for scalable and resilient processing of assets using cloud-native applications (also called workers). Adobe manages the services for optimal handling of different asset types and processing options.

Asset microservices lets you process a broad range of file types covering more formats out-of-the-box than what is possible with previous versions of Experience Manager. For example, thumbnail extraction of PSD and PSB formats is now possible but previously required third-party solutions such as ImageMagick.

Asset processing depends on the configuration in Processing Profiles. Experience Manager provides a basic default set up and let administrators add more specific asset processing configuration. Administrators create, maintain, and modify the configurations of post-processing workflows, including optional customization. Customizing the workflows lets developers extend the default offering.

A high-level view of asset processing

The asset processing described here replaces the DAM Update Asset workflow model that exists in the previous versions of Experience Manager. Most of the standard rendition generation and metadata-related steps are replaced by the asset microservices processing, and remaining steps, if any, can be replaced by the post-processing workflow configuration.

Understand asset processing options get-started

Experience Manager allows for the following levels of processing.

Use cases covered
Default configuration
It is available as is and cannot be modified. This configuration provides very basic rendition generation capability.
  • Standard thumbnails used by Assets user interface (48, 140, and 319 pixels)
  • Large preview (web rendition - 1280 pixels)
  • Metadata and text extraction.
Custom configuration
Configured by administrators via user interface. Provides more options for rendition generation by extending the default option. Extend the out-of-the-box option to provide different formats and renditions.
  • FPO rendition.
  • Change file format and resolution of images
  • Conditionally apply to configured file types.
Custom profile
Configured by administrators via user interface to use custom code through custom applications to call Asset Compute Service. Supports more complex requirements in a cloud-native and scalable method.
See allowed use cases.

Supported file formats supported-file-formats

Asset microservices provide support for a wide variety of file formats to process, generate renditions, or extract metadata. See supported file formats for the full list of MIME types and the functionality supported for each type.

Default configuration default-config

Some defaults are pre-configured to ensure that the default renditions required in Experience Manager are available. The default configuration also ensure that metadata extraction and text extraction operations are available. Users can start uploading or updating assets immediately and basic processing is available by default.

With the default configuration, only the most basic processing profile is configured. Such a processing profile is not visible on the user interface and you cannot modify it. It always executes to process uploaded assets. Such a default processing profile ensures that the basic processing required by Experience Manager is completed on all assets.

Standard configuration standard-config

Experience Manager provide capabilities to generate more specific renditions for common formats as per user’s needs. An administrator can create additional Processing Profiles to facilitate such rendition creation. Users then assign one or more of the available profiles to specific folders to get the additional processing done. Say for example, the additional processing can generate renditions for web, mobile, and tablet. The following video illustrates how to create and apply Processing Profiles and how to access the created renditions.

  • Rendition width and height: Rendition width and height specification provides maximum sizes of the generated output image. Asset microservices tries to produce the largest possible rendition, which width and height is not bigger than the specified width and height, respectively. The aspect ratio is preserved, that is the same as the original. An empty value means that asset processing assumes the pixel dimension of the original.

  • MIME type inclusion rules: When an asset with a specific MIME type is processed, the MIME type is first checked against the excluded MIME types value for the rendition specification. If it matches that list, this specific rendition is not generated for the asset (blocked list). Otherwise, the MIME type is checked against the included MIME type, and if it matches the list, the rendition is generated (allowed list).

  • Special FPO rendition: When placing large-sized assets from Experience Manager into Adobe InDesign documents, a creative professional waits for a substantial time after they place an asset. Meanwhile, the user is blocked from using InDesign. This interrupts creative flow and negatively impacts the user experience. Adobe enables temporarily placing small-sized renditions in InDesign documents to begin with, which can be replaced with full-resolution assets on-demand later. Experience Manager provides renditions that are used for placement only (FPO). These FPO renditions have a small file size but are of the same aspect ratio.

The processing profile can include a FPO (For Placement Only) rendition. See Adobe Asset Link documentation to understand if you need to turn it on for your processing profile. For more information, see Adobe Asset Link complete documentation.

Create a standard profile create-standard-profile

To create a standard processing profile, follow these steps:

  1. Administrators access Tools > Assets > Processing Profiles. Click Create.

  2. Provide a name that helps you uniquely identify the profile when applying to a folder.

  3. To generate FPO renditions, on the Image tab, enable Create FPO Rendition. Input a Quality value from 1–100.

  4. To generate other renditions, click Add New and provide the following information:

    • File name of each rendition.
    • File format (PNG, JPEG, GIF, or WebP) of each rendition.
    • Width and height in pixels of each renditions. If the values are not specified, the full pixel size of the original image is used.
    • Quality in percent of each JPEG and WebP rendition.
    • Included and excluded MIME types to define the applicability of a profile.


  5. Click Save.

Custom profile and use cases custom-config

The Asset Compute Service supports a variety of use cases such as default processing, processing Adobe-specific formats like Photoshop files, and implementing custom or organization-specific processing. The DAM Update Asset workflow customization required in the past, are either handled automatically or by way of processing profiles configuration. If the business needs are not met by these processing options, Adobe recommends developing and using Asset Compute Service to extend the default capabilities. For an overview, see understand extensibility and when to use it.

Adobe recommends using a custom application only when the business requirements cannot be accomplished using the default configurations or the standard profile.

It can transform image, video, document, and other file formats into different renditions including thumbnails, extracted text and metadata, and archives.

Developers can use the Asset Compute Service to create custom applications for the supported use cases. Experience Manager can call these custom applications from the user interface by using custom profiles that administrators configure. Asset Compute Service supports the following use cases of invoking external services:

  • Use Adobe Photoshop’s ImageCutout API and save the result as rendition.
  • Call third-party systems to update data, for example, a PIM system.
  • Use Photoshop API to generate variety of renditions based on Photoshop template.
  • Use Adobe Lightroom API to optimize the ingested assets and save those as renditions.
You cannot edit the standard metadata using the custom applications. You can only modify custom metadata.

Create a custom profile create-custom-profile

To create a custom profile, following these steps:

  1. Administrators access Tools > Assets > Processing Profiles. Click Create.

  2. Click Custom tab. Click Add New. Provide the desired file name of the rendition.

  3. Provide the following information.

    Click Save.

The custom applications are headless Project App Builder apps. Your custom application gets all the provided files if they are setup with a processing profile. The application must filter the files.

If the App Builder app and Experience Manager account are not from the same organization, the integration does not work.

An example of a custom profile custom-profile-example

To illustrate custom profile’s usage, let’s consider a use case to apply some custom text to campaign images. You can create a processing profile that uses the Photoshop API to edit the images.

Asset Compute Service integration allows Experience Manager to pass these parameters to the custom application using the Service Parameters field. The custom application then calls Photoshop API and passes these values to the API. For example, you can pass font name, text color, text weight and text size to add the custom text to campaign images.


Figure: Use Service Parameters field to pass added information to predefined parameters build into the custom application. In this example, when campaign images are uploaded, the images are updated with Jumanji text in Arial-BoldMT font.

Use processing profiles to process assets use-profiles

Create and apply the additional, custom processing profiles to specific folders for Experience Manager to process for assets uploaded to or updated in these folders. The default, in-built standard processing profile is always executed but is not visible on the user interface. If you add a custom profile, then both profiles are used to process the uploaded assets.

Apply processing profiles to folders using one of the following methods:

  • Administrators can select a processing profile definition in Tools > Assets > Processing Profiles, and use Apply Profile to Folders action. It opens a content browser that allow you to navigate to specific folders, select them and confirm the application of the profile.

  • Users can select a folder in the Assets user interface, use Properties action to open folder properties screen, click the Asset Processing tab, and in the Processing Profile list, select the appropriate processing profile for that folder. To save the changes, click Save & Close.
    Apply processing profile to a folder from the Asset Properties tab

  • Users can select folders or specific assets in Assets user interface to apply a processing profile, then select assets reprocess icon Reprocess Assets option from the options available on the top.

Only one processing profile can be applied to a folder. To generate more renditions, add more rendition definitions to the existing processing profile.

After a processing profile is applied to a folder, all the new assets uploaded (or updated) in this folder or any of its sub-folders are processed using the additional processing profile configured. This processing is in addition to the standard, default profile.

A processing profile applied to a folder works for the entire tree, but can be over-ridden with another profile applied to a sub-folder. When assets are uploaded to a folder, Experience Manager checks the containing folder’s properties for a processing profile. If none is applied, a parent folder in the hierarchy is checked for a processing profile to apply.

To verify that assets are processed, preview the generated renditions in the Renditions view in the left rail. Open asset preview and open the left rail to access the Renditions view. The specific renditions in the processing profile, for which the specific asset’s type matches the MIME type inclusion rules, should be visible and accessible.


Figure: Example of two additional renditions generated by a processing profile applied to the parent folder.

Post-processing workflows post-processing-workflows

For a situation, where additional processing of assets is required that cannot be achieved using the processing profiles, additional post-processing workflows can be added to the configuration. Post-processing lets you add completely customized processing on top of the configurable processing using asset microservices.

Post-processing workflows, or Auto-start workflow, if configured, are automatically executed by Experience Manager after the microservices processing finishes. There is no need to add workflow launchers manually to trigger the workflows. The examples include:

  • Custom workflow steps to process assets.
  • Integrations to add metadata or properties to assets from external systems, for example, product or process information.
  • Additional processing done by external services.

To add a post-processing workflow configuration to Experience Manager, follow these steps:

  • Create one or more workflow models. These custom models are referred to as post-processing workflow models in this documentation. Those are regular Experience Manager workflow models.
  • Add the required workflow steps to these models. Review the steps from the default workflow and add all required default steps to the custom workflow. The steps are run on the assets based on a workflow model configuration. For example, if you want smart tagging to happen automatically upon asset upload, add the step to your custom post-processing workflow model.
  • Add DAM Update Asset Workflow Completed Process step at the end. Adding this step ensures that Experience Manager knows when the processing ends and the asset can be marked as processed, that is New is displayed on the asset.
  • Create a configuration for the Custom Workflow Runner Service that allows to configure execution of a post-processing workflow model either by a path (folder location) or by a regular expression.

For details about which standard workflow step can be used in the post-processing workflow, see workflow steps in post-processing workflow in the developer reference.

Create post-processing workflow models create-post-processing-workflow-models

Post-processing workflow models are regular Experience Manager workflow models. Create different models if you need different processing for different repository locations or asset types.

The processing steps are added as required. You can use both, the supported steps that are available, and any custom-implemented workflow steps.

Ensure that the last step of each post-processing workflows is DAM Update Asset Workflow Completed Process. The last step helps ensure that Experience Manager knows when asset processing is completed.

Configure post-processing workflow execution configure-post-processing-workflow-execution

After the asset microservices completes the processing of the uploaded assets, you can define post-processing workflow to further process the assets. To configure post-processing using workflow models, you can do one of the following:

Apply a workflow model to a folder apply-workflow-model-to-folder

For typical post-processing use cases, consider using the method to apply a workflow to a folder. To apply a workflow model in the folder Properties, follow these steps:

  1. Create a workflow model.

  2. Select a folder, click Properties from the toolbar, and then click Assets Processing tab.

  3. Under Auto-start Workflow, select the required workflow, provide a title of the workflow, and then save the changes.

    Apply a post-processing workflow to a folder in its Properties

Configure the Custom Workflow Runner service configure-custom-workflow-runner-service

You can configure the custom workflow runner service for the advanced configurations that cannot be readily fulfilled by applying a workflow to a folder. For example, a workflow that uses a regular expression. The Adobe CQ DAM Custom Workflow Runner (com.adobe.cq.dam.processor.nui.impl.workflow.CustomDamWorkflowRunnerImpl) is an OSGi service. It provides the following two options for configuration:

  • Post-processing workflows by path (postProcWorkflowsByPath): Multiple workflow models can be listed, based on different repository paths. Separate paths and models using a colon. Simple repository paths are supported. Map these to a workflow model in the /var path. For example: /content/dam/my-brand:/var/workflow/models/my-workflow.
  • Post-processing workflows by expression (postProcWorkflowsByExpression): Multiple workflow models can be listed, based on different regular expressions. Expressions and models should be separated by a colon. The regular expression should point to the Asset node directly, and not one of the renditions or files. For example: /content/dam(/.*/)(marketing/seasonal)(/.*):/var/workflow/models/my-workflow.

To know how to deploy an OSGi configuration, see deploy to Experience Manager.

Disable post-processing workflow execution

When post-processing is not needed, create and use an “empty” Workflow Model in the Auto-start Workflow selection.

Create the Disabled Auto-start Workflow Model
  1. Navigate to Tools > Workflow > Models

  2. Select Create > Create Model form the top action bar

  3. Provide a title and name for the new Workflow Model, for example:

    • Title: Disable Auto-start Workflow
    • Name: disable-auto-start-workflow
  4. Select Done to create the Workflow Model

  5. Select and Edit the created Workflow Model

  6. In the Workflow Model editor, select Step 1 from the model definition and delete it

  7. Open the Side Panel, and select Steps

  8. Drag the DAM Update Asset Workflow Completed step into the model definition

  9. Select the Page Information button (next to the Side Panel toggle), and select Open Properties

  10. Under the Basic tab, select Transient Workflow

  11. Select Save & Close from the top action bar

  12. Select Sync in the top action bar

  13. Close the Workflow Model editor

Apply the Disabled Auto-start Workflow Model

Follow the steps outlined in apply a workflow model to a folder and set the Disable Auto-start Workflow as the Auto-start Workflow for folders do not require post-processing of assets.

Best practices and limitations best-practices-limitations-tips

  • Consider your needs for all types of renditions when designing workflows. If you do not foresee the need of a rendition in the future, remove its creation step from the workflow. Renditions cannot be deleted in bulk afterwards. Undesired renditions may take up large amounts of storage space after prolonged use of Experience Manager. For individual assets, you can remove renditions manually from the user interface. For multiple assets, you can either customize Experience Manager to delete specific renditions or delete the assets and upload those again.
  • Currently, the support is limited to generating renditions. Generating new asset is not supported.
  • Currently, the file size limit for metadata extraction is approximately 15 GB. When uploading very large assets, sometimes metadata extraction operation fails.

See also