Download assets from Adobe Experience Manager download-assets-from-aem

Version
Article link
AEM 6.5
Click here
AEM as a Cloud Service
This article

You can download assets including static and dynamic renditions. Alternatively, you can send emails with links to assets directly from Adobe Experience Manager Assets. Downloaded assets are bundled in a ZIP file.

The following asset types cannot be downloaded: Image Sets, Spin Sets, Mixed Media Sets, and Carousel Sets.

You can download assets from Experience Manager using the following methods:

Download assets using Experience Manager interface download-assets

Experience Manager optimizes the download experience based on the asset quantity and size. Smaller files are downloaded from the user interface in real time. Experience Manager directly downloads single asset requests for the original file rather than enclosing single assets in a ZIP archive to allow for faster downloads. Experience Manager supports large downloads with asynchronous requests. Download requests larger than 100 GB are split into multiple ZIP archives with a maximum size of 100 MB each.

By default, Experience Manager triggers a notification in the Experience Manager Inbox upon generation of a download archive.

Inbox notification

Enable email notifications for large downloads enable-emails-for-large-downloads

Asynchronous downloads are triggered in any of the following cases:

  • If there are more than ten assets
  • If the download size is more than 100 MB
  • If the download takes more than 30 seconds to prepare

While the asynchronous download runs at the backend, the user can continue to explore and work further in Experience Manager. In addition to the Experience Manager inbox notifications, Experience Manager can send emails to notify the user upon completion of the download process. To enable this feature, the administrators can configure email service by configuring an SMTP server connection.

Once the email service is configured, the administrators and users can enable email notifications from the Experience Manager interface.

To enable email notifications:

  1. Log in to Experience Manager Assets.

  2. Click the user icon from the upper-right corner and then click My Preferences to open the User Preferences window.

  3. Select the Asset Download email notifications checkbox and click Accept.

    enable-email-notifications-for-large-downloads

To download assets, follow these steps:

  1. In Experience Manager user interface, click Assets > Files.

  2. Navigate to the assets that you want to download. Select the folder or select one or more assets within the folder. On the toolbar, click Download.

    Available options when downloading assets from Experience Manager Assets

  3. In the download dialog box, select the download options that you want.

    table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
    Download option Description
    Create separate folder for each asset Select this option to create a folder for each asset containing all downloaded renditions for the asset. If unselected, each asset (and its renditions if selected for download) is contained in the parent folder of the generated archive.
    Email

    Select this option to send an email notification (containing a link to your download) to another user. The recipient user must be a member of the dam-users group. Standard emails templates are available at the following locations:

    • /libs/settings/dam/workflow/notification/email/downloadasset.
    • /libs/settings/dam/workflow/notification/email/transientworkflowcompleted.

    Templates that you customize during deployment are available at the following locations:

    • /apps/settings/dam/workflow/notification/email/downloadasset.
    • /apps/settings/dam/workflow/notification/email/transientworkflowcompleted.

    You can store tenant-specific custom templates at the following locations:

    • /conf/<tenant_specific_config_root>/settings/dam/workflow/notification/email/downloadasset.
    • /conf/<tenant_specific_config_root>/settings/dam/workflow/notification/email/transientworkflowcompleted.
    Asset(s) Select this option to download the asset in its original form.
    The subassets option is available if the original asset has subassets.
    Rendition(s) A rendition is the binary representation of an asset. Assets have a primary representation - that of the uploaded file. They can have any number of representations.
    With this option, you can select the renditions you want downloaded. The renditions that are available depend on the asset you selected.
    Smart Crops Select this option to download all the smart crop renditions of the selected asset from within Experience Manager. A zip file with the Smart Crop renditions is created and downloaded to your local computer.
    Dynamic Rendition(s) Select this option to generate a series of alternate renditions in real time. When you select this option, you also select the renditions that you want to create dynamically by selecting from the Image Preset list.
    In addition, you can select the size and unit of measurement, format, color space, resolution, and any optional image modifiers such as inverting the image. The option is only available if you have Dynamic Media enabled.
  4. In the dialog box, click Download.

    If email notification is enabled for large downloads, an email containing a download URL of the archived zip folder appears in your inbox. Click the download link from the email to download the zip archive.

    email-notifications-for-large-downloads

    You can also view the notification in your Experience Manager Inbox.

    inbox-notifications-for-large-downloads

Sharing assets using a link is a convenient way to make it available to interested people without them having to log in to Assets. See Link Share functionality.

When users download assets from shared links, Assets uses an asynchronous service that offers faster and uninterrupted downloads. The assets to be downloaded are queued in the background in an inbox into ZIP archives of manageable file size. For larger downloads, the download is chunked into files of 100 GB.

The Download Inbox displays the processing status of each archive. Once the processing is complete, you can download the archives from the inbox.

Download inbox

Enable asset download servlet enable-asset-download-servlet

The default servlet in Experience Manager allows authenticated users to issue arbitrarily large, concurrent download requests to create ZIP files of assets. The download preparation can have performance implications or can even overload the server and the network. To mitigate such potential DoS-like risks caused by this feature, AssetDownloadServlet OSGi component is disabled for publish instances. If you do not need the download feature on author instances, disable the servlet on author.

To allow downloading assets from your DAM, say when using something like Asset Share Commons or other portal-like implementation, manually enable the servlet via an OSGi configuration. Adobe recommends setting the permissible download size as low as possible without affecting the day-to-day download requirements. A high value may impact performance.

  1. Create a folder with a naming convention that targets the publish run mode, that is, config.publish:

    /apps/<your-app-name>/config.publish

  2. In the config folder, create a file of type nt:file named com.day.cq.dam.core.impl.servlet.AssetDownloadServlet.config.

  3. Populate com.day.cq.dam.core.impl.servlet.AssetDownloadServlet.config with the following. Sets a maximum size (in bytes) for the download as value of asset.download.prezip.maxcontentsize. The below sample configures the maximum size of the ZIP download to not exceed 100 KB.

    code language-java
    enabled=B"true"
    asset.download.prezip.maxcontentsize=I"102400"
    

Disable asset download servlet disable-asset-download-servlet

If you do not need the download functionality, then disable the servlet to prevent any DoS-like risks. The Asset Download Servlet can be disabled on an Experience Manager author and publish instances by updating the dispatcher configuration to block any asset download requests. The servlet can also be manually disabled via the OSGi console directly.

  1. To block asset download requests via a dispatcher configuration edit the dispatcher.any configuration and add a new rule to the filter section.

    /0100 { /type "deny" /url "*.assetdownload.zip/assets.zip*" }

OnTime or OffTime rendition on-off-time-rendition

To enable the OnOffTimeAssetAccessFilter service, you need to create an OSGi configuration. This service allows the blocking of access to renditions and metadata in addition to the asset itself based on on/off time settings. The OSGi configuration should be for com.day.cq.dam.core.impl.servlet.OnOffTimeAssetAccessFilter. Follow the steps below:

  1. In your project code in Git, create a configuration file at /apps/system/config/com.day.cq.dam.core.impl.servlet.OnOffTimeAssetAccessFilter.cfg.json. The file should contain {} as its content, signifying an empty OSGi configuration for the corresponding OSGi component. This action enables the service.
  2. Deploy your code, including this new configuration, through Cloud Manager.
  3. Once deployed, the renditions and metadata are accessible according to the on/off time settings of the assets. If the current date or time falls before the on-time or after the off-time, an error message is displayed.
    For more details on adding an empty OSGi configuration, see this guide.

Tips and limitations tips-limitations

  • If you download an empty folder, Experience Manager conveys a success message about creating a ZIP archive, but the archive is not created.

See also

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab