Get started using asset microservices
Asset microservices provide a scalable and resilient processing of assets using cloud services. Adobe manages the services for optimal handling of different asset types and processing options.
Asset processing depends on the configuration in Processing Profiles , which provide a default set up, and allow an administrator to add more specific asset processing configuration. Administrators can create and maintain the configurations of post-processing workflows, including optional customization. Customizing workflows allows for extensibility and full customization.
Asset microservices allows you can 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.
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.
Get started with asset processing
Asset processing with asset microservices is pre-configured with a default configuration, ensuring that the default renditions required by the system are available. It 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.
For specific rendition generation or asset processing requirements, an AEM administrator can create additional Processing Profiles. Users can assign one or more of the available profiles to specific folders to get additional processing done. Say for example, to generate web, mobile, and tablet specific renditions. The following video illustrates how to create and apply Processing Profiles and how to access the created renditions.
Configurations for asset microservices
To configure asset microservices, administrators can use configuration user interface under Tools > Assets > Processing Profiles .
With the default configuration, only the standard processing profile is configured. The standard processing profile is not visible on the user interface and you cannot modify it. It always executes to process uploaded assets. A standard processing profile ensures that all the basic processing required by Experience Manager is completed on all assets.
The standard processing profile provides the following processing configuration:
- Standard thumbnails used by Asset user interface (48, 140, and 319 px)
- Large preview (web rendition - 1280 px)
- Metadata extraction
- Text extraction
Supported file formats
Asset microservices provide support for a wide variety of file formats in terms of the ability to generate renditions or extract metadata. See supported file formats for the full list.
Add additional processing profiles
Additional processing profiles can be added using the Create action.
Each processing profile configuration includes a list of renditions. For each rendition, you can specify the following:
- Rendition name.
- Supported rendition format, such as JPEG, PNG, or GIF.
- Rendition width and height in pixels. If it is not specified, the full pixel size of the original image is used.
- Rendition quality of JPEG in percent.
- Included and excluded MIME types to define the applicability of a profile.
When you create and save a new processing profile it is added to the list of configured processing profiles. You can apply these processing profiles to folders in the folder hierarchy to make them effective for asset uploads and assets processing.
Rendition width and height
Rendition width and height specification provides maximum sizes of the generated output image. Asset microservice 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 ("blacklisting").
Otherwise, the MIME type is checked against the included MIME type, and if it matches the list, the rendition is generated ("whitelisting").
Special FPO rendition
When placing large-sized assets from AEM into Adobe InDesign documents, a creative professional must wait 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.
Use asset microservices to process assets
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.
There are two ways to get processing profiles applied to folders:
- Administrators can select a processing profile definition in Tools > Assets > Processing Profiles , and use Apply Profile to Folder(s) 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 on the Processing Profiles tab, and in the drop-down, select the right processing profile for that folder. The choice will be save upon Save & Close action.
Only one processing profile can be applied to a specific folder. If you need more renditions generated, you can add more rendition definitions to the 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 additional processing is in addition to the standard, default profile. If you apply multiple profiles to a folder, the uploaded or updated assets are processed using each of these profiles.
When assets are uploaded to a folder, Experience Manager checks the containing folder's properties for a processing profile. If none is applied, it goes up in the folder tree until it finds a processing profile applied, and uses it for the asset. That means that 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.
Users can check that the processing actually took place by opening a newly-uploaded asset for which processing has finished, opening asset preview, and clicking on the left-hand rail's 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 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 AEM after the microservices processing finishes. There is no need to add workflow launchers manually to trigger them.
- custom workflow steps for processing assets, for example, Java code to generate renditions from proprietary file formats.
- integrations to add metadata or properties to assets from external systems, for example, product or process information.
- additional processing done by external services
Adding a post-processing workflow configuration to Experience Manager is comprised of the following steps:
- Creating one or more workflow models. We'll call them "post-processing workflow models," but they are regular AEM workflow models.
- Adding specific workflow steps to these models. These steps will be execution on the assets based on workflow model configuration.
- The last step of such a model must be the DAM Update Asset Workflow Completed Process step. This is required to ensure that AEM knows the processing has ended and the asset can be marked as processed ("New")
- Creating a configuration for the Custom Workflow Runner Service, which allows for configuring execution of a post-processing workflow model either by path (folder location) or regular expression
Create post-processing workflow models
Post-processing workflow models are regular AEM 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.
Configure post-processing workflow execution
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 Custom Workflow Runner service ( com.adobe.cq.dam.processor.nui.impl.workflow.CustomDamWorkflowRunnerImpl ) is an OSGi service and provides two options for configuration:
- Post-processing workflows by path ( 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 .
- 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 .
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 AEM, 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.
Best practices and limitations
- 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 a lot 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.