Start a new topic

Advanced Asset Management


Main asset management features in Commerce Manager:

·  remote files and folders browsing;

·  file download;

·  file upload;

·  image file preview.

File upload

File upload feature in Commerce Manager application should be a convenient way to relate assets to other e-commerce entities. Required features:

·  should be convenient and smoothly integrate into e-commerce managing processes;

·  UI should be work the same on all environments (Azure, file system storage);

·  access to this feature should be controlled by Commerce Manager permissions; no other configuration changes should be needed;

·  file upload should report progress for large files; TODO: create UI design for such approach

·  should support drag&drop from local file system;

·  should support simultaneous multiple files upload.


Note: It's done directly in an environment that a manager is a familiar with. Single dialog for asset upload and select (relate or download) makes the most effective use of it.


·  IAssetService should be used for all asset related operations. Some methods are implemented already and won't be included in this document.

·  Separate implementation is needed for every asset storage environment. Azure Blob and file system based storage environments are currently supported.

File upload

·  IAssetService.Upload method should be created and used from the Commerce Manager for uploading.

·  Method signature: void Upload(UploadStreamInfo info);

·  If an image was uploaded, a thumbnail should be generated for it.

Image file preview

·  IAssetService.GetImagePreview method should be created and used from the Commerce Manager for displaying an image asset preview.

·  Method signature: byte[] GetImagePreview(string blobKey);

·  Method should search for pregenerated thumbnail and return it if found. A new thumbnail should be generated, saved it to the storage and returned otherwise.

·  Generated thumbnail should be 100 pixels width. Height should be recalculated in proportion to width.

·  Generated thumbnail should be less than 8KB size.

Azure Blob implementation

·  The generated thumbnail should be saved as Blob metadata as it's less than 8KB. ("The whole metadata item (key and value together) cannot exceed 8K in size.")

File system implementation

·  The generated thumbnail should be saved in a separate file. File name is constructed as <file name> + ".thumb" + <file extention>. (e.g. file.png and file.thumb.png).


Login or Signup to post a comment