Add digital assets to Adobe Experience Manager as a Cloud Service Assets add-assets-to-experience-manager

Adobe Experience Manager Assets accepts many types of digital assets from many sources. It stores the binaries and created renditions, can do asset processing using various workflow and Adobe Sensei services, allows for distribution through many channels across many surfaces.

Adobe Experience Manager enriches the binary content of the uploaded digital files with rich metadata, smart tags, renditions, and other Digital Asset Management (DAM) services. You can upload various types of files, such as images, documents, and raw image files, from your local folder or a network drive to Experience Manager Assets.

In addition to the most commonly used browser upload, other methods of adding assets to the Experience Manager repository exist. These other methods include desktop clients, like Adobe Asset Link or Experience Manager desktop app, upload and ingestion scripts that customers would create, and automated ingestion integrations added as Experience Manager extensions.

While you can upload and manage any binary file in Experience Manager, most commonly used file formats have support for additional services, like metadata extraction or preview/rendition generation. See supported file formats for details.

You can also choose to have additional processing done on the uploaded assets. Several asset processing profiles can be configured on the folder, into which assets are uploaded, to add specific metadata, renditions, or image-processing services. See process assets when uploaded.

Assets provide the following upload methods. Adobe recommends that you understand your use case and applicability of an upload option before using it.

Upload method
When to use?
Primary Persona
Assets Console user interface
Occasional upload, ease of press and drag, finder upload. Do not use to upload many assets.
All users
Upload API
For dynamic decisions during upload.
Experience Manager desktop app
Low volume asset ingestion, but not for migration.
Administrator, Marketer
Adobe Asset Link
Useful when creatives and marketers work on assets from within the supported Creative Cloud desktop apps.
Creative, Marketer
Asset bulk ingestor
Recommended for large-scale migrations and occasional bulk ingestions. Only for supported datastores.
Administrator, Developer

Upload assets upload-assets

To upload a file (or multiple files), you can either select them on your desktop and drag on the user interface (web browser) to the destination folder. Alternatively, you can initiate upload from the user interface.

Assets that you upload into Experience Manager that have a file name greater than 100 characters have a shortened name when they are used in Dynamic Media.
The first 100 characters in the file name are used as is; any remaining characters are replaced by an alphanumeric string. This renaming method ensures a unique name when the asset is used in Dynamic Media. It is also meant to accommodate the maximum asset file name length allowed in Dynamic Media.
  1. In the Assets user interface, navigate to the location where you want to add digital assets.

  2. To upload the assets, do one of the following:

    • On the toolbar, click Create > Files. You can rename the file in the presented dialog if needed.
    • In a browser that supports HTML5, drag the assets directly on the Assets user interface. The dialog to rename file is not displayed.


    To select multiple files, select the Ctrl or the Command key and select the assets in the file picker dialog. When using an iPad, you can select only one file at a time.

  3. To cancel an ongoing upload, click close (X) next to the progress bar. When you cancel the upload operation, Assets deletes the partially uploaded portion of the asset.
    If you cancel an upload operation before the files are uploaded, Assets stops uploading the current file and refreshes the content. However, files that are already uploaded are not deleted.

  4. The upload progress dialog in Assets displays the count of successfully uploaded files and the files that failed to upload.
    In addition, the Assets user interface displays the most recent asset that you upload or the folder that you created first.

To upload nested folder hierarchies, see bulk upload assets.

Handling uploads for existing assets handling-upload-existing-file

You can upload an asset with the same path (same name and same location) as an existing asset. However, a warning dialog is displayed with the following options:

  • Replace existing asset: If you replace an existing asset, the metadata for the asset and any prior modifications (for example, annotations and cropping) you made to the existing asset are deleted.

    note note
    The option to replace assets is not available if the asset is locked or checked out.
  • Create another version: A new version of the existing asset is created in the repository. You can view the two versions in the Timeline and can revert to the previously existing version if necessary.

  • Keep both: If you choose to keep both assets, the new asset is renamed.

To retain the duplicate asset in Assets, click Keep. To delete the duplicate asset you uploaded, click Delete.

Filename handling and forbidden characters filename-handling

Experience Manager Assets prevents you from uploading assets with the forbidden characters in their filenames. If you try to upload an asset with filenames containing a disallowed character or more, Assets displays a warning message and stops the upload until you remove these characters or upload with an allowed name.

To suit specific file-naming conventions for your organization, the Upload Assets dialog lets you specify long names for the files that you upload. The following (space-separated list of) characters are not supported:

  • Invalid characters for asset name: * / : [ \\ ] | # % { } ? &
  • Invalid characters for asset folder name: * / : [ \\ ] | # % { } ? \" . ^ ; + & \t

Bulk upload assets bulk-upload

The bulk asset ingestor can handle many assets efficiently. However, a large-scale ingestion is not just a broad file dump or a casual migration. For a large-scale ingestion to be a meaningful project that serves your business purpose and is efficient, plan the migration and curate the assets organization. All ingestions are different so instead of generalizing, factor in the nuanced repository composition and business needs. The following are some overarching suggestions to plan and execute a bulk ingestion:

  • Curate assets: Remove assets that are not needed in the DAM. Consider removing unused, obsolete, or duplicate assets. Such housekeeping reduces the data transferred and assets ingested leading to faster ingestions.
  • Organize assets: Consider organizing the content in some logical order, say by file size, file format, use case, or priority. In general, large complex files require more processing. You can also consider ingesting large files separately using the file size filtering option (described below).
  • Stagger ingestions: Consider breaking up your ingestion into multiple bulk ingestion projects. q lets you see content sooner and update your ingestion as necessary. For example, you can ingest processing-intensive assets during non-peak hours or gradually in multiple chunks. However, you can ingest smaller and simpler assets that do not require much processing in one go.

To upload larger number of files, use one of the following approaches. Also, see the use cases and methods

  • Asset upload APIs: Use a custom upload script or tool that uses APIs to add additional handling of assets (for example, translate metadata or rename files), if necessary.
  • Experience Manager desktop app: Useful for creative professionals and marketers who upload assets from their local file system. Use it to upload nested folders available locally.
  • Bulk ingestion tool: Use for ingestion of large amounts of assets either occasionally or initially when deploying Experience Manager.

Asset Bulk Import tool asset-bulk-ingestor

The tool is provided only to the administrators’ group to use for large-scale ingestion of assets from Azure or S3 datastores. See a video walk-through of the configuration and ingestion.

The following image illustrates the various stages when you ingest assets to Experience Manager from a data store:

Bulk Ingestion Tool


An external storage account or bucket from Azure or AWS is required to use this feature.

Create the storage account container or bucket as private and accept connections only from authorized requests. However, additional restrictions on ingress network connections are not supported.
External storage accounts may have different file/folder name rules than the Bulk Import tool. See Handling filenames during bulk import for more details on disallowed/escaped names.

Configure the Bulk Import tool configure-bulk-ingestor-tool

To configure the Bulk Import tool, follow these steps:

  1. Navigate to Tools > Assets > Bulk Import. Select the Create option.

  2. Specify a title for the bulk import configuration in the Title field.

  3. Select the data source type from the Import Source drop-down list.

  4. Provide the values to create a connection with the data source. For example, if you select Azure Blob Storage as the data source, specify the values for Azure storage account, Azure blob container, and Azure access key.

  5. Select the required authentication mode from the drop-down list. Azure Access Key provides complete access to the Azure storage account, whereas Azure SAS Token allows the administrator to limit the capabilities of the token using permissions and expiration policies.

  6. Provide the name of the root folder that contains assets in the data source in the Source Folder field.

  7. (Optional) Provide the minimum file size of assets in MB to include them in the ingestion process in the Filter by Min Size field.

  8. (Optional) Provide the maximum file size of assets in MB to include them in the ingestion process in the Filter by Max Size field.

  9. (Optional) Specify comma-separated list of MIME types to exclude from the ingestion in the Exclude MIME Types field. For example, image/jpeg, image/.*, video/mp4. See all supported file formats.

  10. Specify comma-separated list of MIME types to include from the ingestion in the Include MIME Types field. See all supported file formats.

  11. Select the Delete source file after import option to delete the original files from the source data store after the files are imported into Experience Manager.

  12. Select the Import Mode. Select Skip, Replace, or Create Version. Skip mode is the default and in this mode, the ingestor skips to import an asset if it exists already. See the meaning of replace and create version options.

  13. To define a location in DAM where assets are to be imported using the Assets Target Folder field, specify a path. For example, /content/dam/imported_assets.

  14. (Optional) Specify the metadata file to import, provided in CSV format, in the Metadata File field. Specify the CSV file in the source blob location and refer to the path while configuring Bulk Import tool. The CSV file format referenced in this field is the same as the CSV file format when you Import and export asset metadata in bulk. If you select the Delete source file after import option, filter CSV files either using the Exclude or Include MIME Type or Filter by Path/File fields. You can use a regular expression to filter CSV files in these fields.

  15. Click Save to save the configuration.

Manage the Bulk Import tool configuration manage-bulk-import-configuration

After creating the Bulk Import tool configuration, you can perform tasks to evaluate the configuration before bulk ingesting assets to your Experience Manager instance. To view the available options to manage your Bulk Import tool configuration, select the configuration available at Tools > Assets > Bulk Import.

Edit the configuration edit-configuration

To edit the configuration details, select the configuration, and then click Edit. You cannot edit the title of the configuration and the import data source while performing the edit operation.

Delete the configuration delete-configuration

Select the configuration and click Delete to delete the Bulk Import configuration.

Validate connection to the data source validate-connection

To validate the connection to the data source, select the configuration, and then click check. If the connection is successful, Experience Manager displays the following message:

Bulk Import success message

Invoke a test run for the Bulk Import job invoke-test-run-bulk-import

Select the configuration and click Dry Run to invoke a test run for the Bulk Import job. Experience Manager displays the following details about the Bulk Import job:

Dry Run Result

Handling filenames during bulk import filename-handling-bulkimport

When you import assets or folders in bulk, Experience Manager Assets imports the whole structure of what exists in the import source. Experience Manager follows the inbuilt rules for special characters in the asset and folder names, therefore these filenames need sanitization. For both folder name and asset name, the title defined by the user remains unchanged and is stored in jcr:title.

During bulk import, Experience Manager look for the existing folders to avoid reimporting the assets and folders, and also verifies the sanitization rules applied in the parent folder where the import takes place. If the sanitization rules are applied in the parent folder, the same rules are applied to the import source. For new import, the following sanitization rules are applied to manage the filenames of assets and folders.

Disallowed names in bulk import

The following characters are not allowed in file and folder names:

  • Control and Private Use Characters (0x00 to 0x1F, \u0081, \uE000)
  • File or folder names ending with a dot (.)

Files or folders with names matching these conditions are skipped during the import process and marked as failed.

Handling asset name in bulk import

For asset filenames, the JCR name and path is sanitized using the API: JcrUtil.escapeIllegalJcrChars.

  • Unicode characters are not changed

  • Replace the special characters with their URL Escape Code, for example, new%asset.png is updated to new%25asset.png:

    code language-none
                    URL escape code
    "               %22
    %               %25
    '               %27
    *               %2A
    /               %2F
    :               %3A
    [               %5B
    \n              %0A
    \r              %0D
    \t              %09
    ]               %5D
    |               %7C

Handling folder name in bulk import

For folder filenames, the JCR name and path is sanitized using the API: DamUtil.getSanitizedFolderName.

  • Upper case characters are converted to lower case

  • Unicode characters are not changed

  • Replace the special characters with dash (‘-’), for example, new folder is updated to new-folder:

    code language-none
    /         It is used for split folder in cloud storage and is pre-handled, no conversion here.
    \         Not allowed in Azure, allowed in AWS.
    space     It is the space character.

Schedule a one-time or a recurring bulk import schedule-bulk-import

To schedule a one-time or a recurring bulk import, execute the following steps:

  1. Create a bulk import configuration.

  2. Select the configuration and select Schedule from the toolbar.

  3. Set a one-time ingestion or schedule an hourly, a daily, or a weekly schedule. Click Submit.

    Schedule bulk ingestor job

View the Assets target folder view-assets-target-folder

To view the Assets target location where the assets are imported after running the Bulk Import job, select the configuration, and then click View Assets.

Run the Bulk Import tool run-bulk-import-tool

After configuring the Bulk Import tool and optionally managing the Bulk Import tool configuration, you can run the configuration job to start the bulk ingestion of assets.

To start the Bulk Import process, navigate to Tools > Assets > Bulk Import, select the Bulk Import configuration, and then click Run. Click Run again to confirm.

Experience Manager updates the status of the job to Processing and to Succeeded upon successful completion of the job. To view the imported assets in Experience Manager, click View Assets.

When the job is in progress, you can also select the configuration and click Stop to stop the bulk ingestion process. Click Run again to resume the process. You can also click Dry Run to know the details of the assets that are still pending import.

Manage jobs after execution manage-jobs-after-execution

Experience Manager enables you to see the history of the bulk import jobs. The Job history comprises the status of the job, job creator, logs, along with other details such as the start date and time, create date and time, and finish date and time.

To access the job history for a configuration, select the configuration and click Job History. Select a job and click Open.

Schedule bulk ingestor job

Experience Manager displays the job history. On the Bulk Import job history page, you can also click Delete to delete that job for the Bulk Import configuration.

Upload assets using desktop clients upload-assets-desktop-clients

In addition to web browser user interface, Experience Manager supports other clients on desktop. They also provide upload experience without the need to go to the web browser.

  • Adobe Asset Link provides access to assets from Experience Manager in Adobe Photoshop, Adobe Illustrator, and Adobe InDesign desktop applications. You can upload the currently open document into Experience Manager directly from Adobe Asset Link user interface from within these desktop applications.
  • Experience Manager desktop app simplifies working with assets on desktop, independent on their file type or native application that handles them. It is useful to upload files in nested folder hierarchies from your local file system, as browser upload only supports uploading flat file lists.

Process assets when uploaded process-when-uploaded

To do additional processing on the uploaded assets, you can apply processing profiles on the upload folders. The profiles are available in the Properties page of a folder in Assets. A digital asset without an extension or with an incorrect extension is not processed as desired. For example, when uploading such assets, either nothing happens or an incorrect processing profile may apply to the asset. Users can still store the binary files in the DAM.

Properties of an asset folder with options to add a processing profile

The following tabs are available:

  • Metadata profiles let you apply default metadata properties to assets uploaded into that folder.
  • Processing profiles let you generate more renditions than are possible by default.

Also, if Dynamic Media is enabled on your deployment, the following tabs are available:

Dynamic Media cropping and other operations on assets are non-destructive, that is, the operations do not change the uploaded original. Instead, it provides parameters to crop or transform when delivering the assets.

For folders that have a processing profile assigned, the profile name appears on the thumbnail in the card view. In the list view, the profile name appears in the Processing Profile column.

Upload or ingest assets using APIs upload-using-apis

Technical details of the upload APIs and protocol, and links to open-source SDK and sample clients is provided in asset upload section of the developer reference.

Tips, best practices, and limitations tips-limitations

  • Direct binary upload is a new method to upload assets. It is supported by default by the product capabilities and clients, like Experience Manager user interface, Adobe Asset Link, and Experience Manager desktop app. Any custom code that is customized or extended by customers technical teams must use the new upload APIs and protocols.

  • Adobe recommends adding not more than 1000 assets in each folder in Experience Manager Assets. If you try to do so, you may get an alert message saying, “This directory contains 1000+ items. Uploads and new folder creations may be delayed.” While you can still add more assets to a folder, you may experience performance issues such as slower navigation to such folders.

  • When you select Replace in the Name Conflict dialog, the asset ID is regenerated for the new asset. This ID is different from the ID of the previous asset. If Assets Insights is enabled to track impressions or clicks with Adobe Analytics, the regenerated asset ID invalidates the data-captured for the asset on Analytics.

  • Some upload methods do not stop you from uploading assets with forbidden characters in the filenames. The characters are replaced with - symbol.

  • Uploading assets using the browser only supports flat file lists and not nested folder hierarchies. To upload all assets inside nested folder, consider using desktop app.

  • Bulk import method imports the entire folder structure as it exists on the data source. However, only the non-empty folders are created in Experience Manager.

See also