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 that previously required third-party solutions like 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.
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.
Experience Manager allows for the following levels of processing.
Option | Description | Use cases covered |
---|---|---|
Default configuration | It is available as is and cannot be modified. This configuration provides very basic rendition generation capability. |
|
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. |
|
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. |
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.
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.
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.
To create a standard processing profile, follow these steps:
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 Standard tab, enable Create FPO Rendition. Input a Quality value between 1 and 100.
To generate other renditions, click Add New and provide the following information:
Click Save.
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 via 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:
You cannot edit the standard metadata using the custom applications. You can only modify custom metadata.
To create a custom profile, following these steps:
Administrators access Tools > Assets > Processing Profiles. Click Create.
Click Custom tab. Click Add New. Provide the desired file name of the rendition.
Provide the following information.
Click Save.
The custom applications are headless Project Firefly apps. Custom application gets all the provided files if they are setup with a processing profile. The application must filter the files.
If the Firefly app and Experience Manager account are not from the same organization, the integration does not work.
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 leverages 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.
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:
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 it’s 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.
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. This allows for adding fully customized processing on top of the configurable processing using asset microservices.
Post-processing workflows, 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:
To add a post-processing workflow configuration to Experience Manager, follow these steps:
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.
Processing steps should be added based on needs. You can use any supported steps available, as well as 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.
To configure the post-processing workflow models to be executed for assets uploaded or updated in the system after the asset microservices processing finishes, the Custom Workflow Runner service needs to be configured.
The Adobe CQ DAM Custom Workflow Runner (com.adobe.cq.dam.processor.nui.impl.workflow.CustomDamWorkflowRunnerImpl
) is an OSGi service and provides two options for configuration:
postProcWorkflowsByPath
): Multiple workflow models can be listed, based on different repository paths. Paths and models should be separated by a colon. Simple repository paths are supported and should be mapped to a workflow model in the /var
path. For example: /content/dam/my-brand:/var/workflow/models/my-workflow
.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(/.*/?lang=en)(marketing/seasonal)(/.*?lang=en):/var/workflow/models/my-workflow
.Configuration of the Custom Workflow Runner is a configuration of an OSGi service. See deploy to Experience Manager for information on how to deploy an OSGi configuration.
OSGi web console, unlike in on-premise and managed services deployments of Experience Manager, is not directly available in the cloud service deployments.
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.