Start a new topic
Implemented

Advanced Asset Management

Goals

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.


Implementation

·  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