Use asset microservices and processing profiles get-started-using-asset-microservices
Asset microservices provide 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 setup and lets 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.
DAM Update Asset
workflow model that exists in the previous versions of Experience Manager. The asset microservices processing replaces most of the standard rendition generation and metadata-related steps, and the post-processing workflow configuration can replace the remaining steps, if any.Understand asset processing options get-started
Experience Manager allows for the following levels of processing.
- Standard thumbnails used by Assets user interface (48, 140, and 319 pixels)
- Large preview (web rendition - 1280 pixels)
- Metadata and text extraction.
- FPO (For Placement Only) rendition.
- Change file format and resolution of images
- Conditionally apply to configured file types.
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 ensures 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 provides capabilities to generate more specific renditions for common formats as per the 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 provide 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 only for placement. These FPO renditions have a small file size but are of the same aspect ratio.
The processing profile can include an FPO (For Placement Only) rendition. See the Adobe Asset Link documentation to understand if you need to turn it on for your processing profile. For more information, see the Adobe Asset Link complete documentation.
Create a standard profile create-standard-profile
-
Administrators access Tools > Assets > Processing Profiles. Click Create.
-
Provide a name that helps you uniquely identify the profile when applying to a folder.
-
To generate FPO renditions, on the Image tab, enable Create FPO Rendition. Input a Quality value from 1–100.
-
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.
-
Click Save.
Custom profile and use cases custom-config
The Asset Compute Service supports a variety of use cases, including default processing and processing Adobe-specific formats like Photoshop files. It also allows for implementing custom or organization-specific processing. The DAM Update Asset workflow customization required in the past is either handled automatically or by way of Processing Profiles configuration. If these processing options do not meet your business needs, Adobe recommends developing and using the Asset Compute Service to extend the default capabilities. For an overview, see understand extensibility and when to use it.
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 a rendition.
- Call third-party systems to make changes, for example, a PIM system.
- Use the Photoshop API to generate a variety of renditions based on the Photoshop template.
- Use the Adobe Lightroom API to optimize the ingested assets and save them as renditions.
Create a custom profile create-custom-profile
-
Administrators access Tools > Assets > Processing Profiles > Create.
-
On the Processing Profile page, click the Custom tab, then click Add New.
-
In the Name text field, type the desired file name of the rendition, then provide the following information.
- File name of each rendition and a supported file extension.
- Endpoint URL of an App Builder custom app. The app must be from the same organization as the Experience Manager account is.
- Add Service Parameters to pass extra information or parameters to the custom application.
- Included and excluded MIME types to limit the processing to a few specific file formats.
-
Near the upper-right corner of the page, click Save.
The custom applications are headless Project App Builder apps. Your custom application gets all the provided files if they are set up with a processing profile. The application must filter the files.
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 the 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 the 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 additional custom Processing Profiles to specific folders. This workflow allows Experience Manager to process assets that are 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 the Apply Profile to Folders action. It opens a content browser that lets you navigate to specific folders and select them, then confirm the application of the profile.
-
Users can select a folder in the Assets user interface and use the Properties action to open the folder properties screen. On the Asset Processing tab, they can select the appropriate processing profile for that folder from the Processing Profile list. To save the changes, click Save & Close.
-
Users can select folders or specific assets in Assets user interface to apply a processing profile, then select Reprocess Assets option from the options available on the top.
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.
To verify that assets are processed, preview the generated renditions in the Renditions view in the left rail. Open the 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.
After the microservices processing finishes, Experience Manager automatically runs post-processing workflows, or Auto-start workflows, if configured. 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 is 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 called post-processing workflow models in this documentation. They 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 the 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 lets you 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 final step ensures that Experience Manager recognizes when asset processing is complete.
Configure post-processing workflow execution configure-post-processing-workflow-execution
After the asset microservices complete the processing of the uploaded assets, you can define a post-processing workflow to process the assets more. 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:
-
Create a workflow model.
-
Select a folder, click Properties from the toolbar, and then click the Assets Processing tab.
-
Under Auto-start Workflow, select the required workflow, provide a title of the workflow, and then save the changes.
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 them 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. Separate expressions and models with a colon. Point the regular expression to 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
-
Navigate to Tools > Workflow > Models.
-
Click Create > Create Model form the top action bar.
-
Provide a title and name for the new Workflow Model, for example:
- Title: Disable Auto-start Workflow
- Name: disable-auto-start-workflow
-
Click Done to create the workflow model.
-
Select and edit the created Workflow Model
-
In the workflow model editor, click Step 1 from the model definition and delete it.
-
From the side panel, click Steps.
-
Drag the DAM Update Asset Workflow Completed step into the model definition.
-
Click Page Information (next to the Side Panel toggle), and click Open Properties.
-
Under the Basic tab, click Transient Workflow.
-
From the top action bar, click Save & Close.
-
From the top action bar, click Sync.
-
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 that 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 them 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 the metadata extraction operation fails.
See also