Notes: Optimizely uses the Optimizely asset system by default. To enable the legacy asset management system, set the UseLegacyAssetSystem configuration setting to true in the web.config files of both the Commerce Manager and the front-end sites.
Be aware that the legacy asset system is not available in Commerce version 11 and up. Also, Optimizely recommends using the Service API instead of Asset importer to import assets and link them to products.
This topic describes how to import assets into the Optimizely Commerce asset management, using the AssetImporter command-line tool, and associate the assets with catalog content.
Downloading Asset Importer
The Asset importer is available on GitHub.
- Browse to https://github.com/episerver/AssetImporter.
- Clone the repository.
Using Asset Importer
Syntax of AssetImporter command
AssetImporter <mapping_asset_file> <asset_folder> <commerce_core_site_path> [asset_root] [-uselegacy] [-byasset] [-verbose]
- mapping_asset_file. A CSV file that contains mapping between products/variants and assets.
- asset_folder. The folder that contains assets to be imported.
- commerce_core_site_path. The physical path to the Commerce site.
- asset_root (optional): The name of the asset folder to which assets will be imported. If not provided, the default is Catalogs.
- -uselegacy (optional). Indicates whether the AssetImporter uses the legacy asset system.
- -byasset (optional). Indicates that the file structure from the asset_folder is kept intact for the import. The default when importing is to create a structure with the products, groups and, finally, assets.
- -verbose (optional). Enables detailed logging of the asset import process.
Structure of CSV asset file
- The first row of the file contains headers.
- There are at least 2 columns in the file: the Catalog Node/Entry code and the asset file name. The first column is the Catalog Node/Entry code that the asset is associated with. But if the first header contains the word asset, the content of the first column is interpreted as the asset file name.
- The third column is optional. It is the asset sort order if the Catalog Node/Entry has more than one asset.
CSV file example
Variation Code,Image ID Jackets-Peacoats-Hooded,Jackets-Peacoats-Hooded.jpg Jackets-Peacoats-Ruffle,Jackets-Peacoats-Ruffle.jpg Jackets-Peacoats-Asymmetrical,Jackets-Peacoats-Asymmetrical.jpg 65990B,400x300.png 72008B,400x300.png 24215B,400x300.png Fashion,400x300.png,0 Fashion,980x150.png,2 Fashion,980x300.png,1
Note: If you have multiple groups in the asset folder, you only need to have one line in the CSV file. The import automatically imports files with the same name from the existing asset groups.
Importing assets as CMS-based content
In this case, Optimizely Commerce uses the Optimizely asset system. To import using Asset Management as CMS-based content, use the following command:
AssetImporter <mapping_asset_file> <asset_folder> <commerce_core_site_path> [asset_root]
If the CMS already has asset-based content, use the -mappingonly parameter to associate asset content with Catalog Node/Entry.
AssetImporter <mapping_asset_file> '' <commerce_core_site_path> -mappingonly
Importing assets as legacy ECF assets
In this case, Optimizely Commerce is using the ECF BLOB Provider to manage the asset files and adding the asset to Catalog Node/Entry through the Asset tab in Catalog Management.
To import using the legacy Asset Management system, use the uselegacy parameter:
AssetImporter <mapping_asset_file> <asset_folder> <commerce_core_site_path> [asset_root] uselegacy
Last updated: Oct 24, 2016