I have been actively using and developing on the NetSuite platform for over a year now, yet no matter how much I accomplish, IÂ Â am still continually disappointed at how unnecessarily complicated tasks can be in the Netsuite ERP/CRM framework. Features we take for granted in consumer level products, and the simplicity and relative ease they can be done, are relegated to the realm of additional customizations and third party integrators. My most recent task has been to streamline the process to load product images in NetSuite.
The standard process follows two steps:
- Upload Images into the NetSuite File Cabinet
- Individually upload full size image and thumb nail image
- Bulk upload using a zip file
- Attach these Images to the Item record.
- Display Image
- Thumbnail Image
In our NetSuite deployment, we had SuiteCommerce provide us a MultiImage bundle for our website. In our negotiations with SuiteCommerce it seemed this product was complete, but in actuality, the implementation and process flow leaves much to be desired. Specifically, for each image, it is necessary to have three images:
- Small – Mini thumbnail on item detail page
- Medium – standard image displayed on page
- Large – Zoomed Image
In the simplest cases, to attach a single image to an item, there are a total of 4 image files to link (The three for MultiImage and the thumbnail.)Â The entire process uploading and linking the images takes approximately 1-2 minutes. While this sounds reasonable if you only have several hundred images, it is grossly inefficient since we are dealing with roughly 10,000 products.
Technology should simplify life and provide the simplest and fastest way of getting this job done. To understand the role technology should play in this process, I examined our complete process for this task.
Step 0: Product is photographed and edited.
Step 1: Image is prepared for upload
- a. Image sizes
- b. watermarks
Step 2: Image is uploaded to Amazon S3 Server
Step 3:Amazon S3 Image Link is loaded as a NetSuite File
Step 4: Images are attached to the item record.
Looking at this list, only Step 0 and part of Step 1 really requires human intervention. The rest should be automated. An ideal process for this task should be:
Step 0: Product is photographed and edited. (User)
Step 1: Image is marked for upload. (User)
Step 2: Image is processed and linked. (Automated)
This process flow makes sense. It is the way it should be. To achieve this process I developed a set of scripts coupled with standard operating guidelines.
Step 0: Image is photographed and edited.
This step is really outside of our scope. For our discussions, this is considered a required step with minimal room for improvement in this scope. To facilitate future steps, files our assumed to be saved using the 5 digit product SKU we use in NetSuite.
Step 1: Image is marked for upload.
The fastest and simplistic way of doing this is simply moving a file from one folder to another on your computer. To achieve this idealistic goal, I turned to DropBox, with its ease of installation and use. In my model, the DropBox folder is an interim repository that can be easily interfaced in the automation process. Processing an image becomes simply copying the file to the DropBox folder (drag and drop).
Step 2. Image is Processed and Linked.
Everything in this step is handled but our company’s Amazon EC2 Server.
- Server retrieves the file out of DropBox
- Image is processed, creating the appropriate sizes with watermarks.
- Processed images are uploaded to Amazon S3 which is then replicated onto Amazon CloudFront
- Suing SuiteTalk, Images are added into the NetSuite file cabinet (External URL).
- Images are linked to the Item record based on their 5 digit SKU and image suffix.
Following this process flow, my completed solution to this task takes roughly 5 seconds to drag and drop the image into the DropBox folder. The images are processed and uploaded into NetSuite every 5 minutes. Most importantly the level of complexity for the end user is significantly reduced, with the only real potential place for error being an incorrectly named image.
Stay tuned and I will provide some implementation details.
0 Responses
Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.