Spree commerece product import usecases
1 / 9

Spree Product Import Usecases - PowerPoint PPT Presentation

  • Uploaded on

My experience with Spree Commerce Product Import using Datashift Spree\n

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Spree Product Import Usecases' - vinsol

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Spree commerece product import usecases

Spree Commerece Product Import Usecases


  • Recently we worked on re-platforming an E-commerce store that we wanted to move to SpreeCommerce to expand their offering & to cater to existing customers better.

  • As we analysed their ambitious requirements and the desire to launch in a very short period of time, we evaluated existing Spree Commerce extensions that we could use to get work done in the shortest possible period of time.

  • One big task in the migration, was moving over their existing product catalog to SpreeCommerce.

  • Our search for an already proven solution for this led us to datashift_spree which looked very promising. datashiftspree is a part of datashift which is a set of tools which help import and export from generic Ruby on Rails application. Datashift has very well defined conventions across representation of data in various cases.

The run warmup
The Run - existing product catalog to Warmup

  • As we started evaluating datashift_spree for the capabilities it mentions, we started seeing some roadblocks as with any integration. Thankfully the roadblaocks were code-critical which we are most comfortable dealing with:

Just to mention few
Just to mention few: existing product catalog to

  • datashifthas undergone drastic refactoring which has rendered datashift_spree incompatible with latest datashift 0.40.0 version.

  • Next datashift 0.16.0 version posed some challenges while running thor list commands and datashift_spree:product:load

  • Refer datashift-branch-diff

  • Refer datashift-spree-branch-diff

Spree product import usecases
Spree Product Import existing product catalog to Usecases

  • Dummy Run helps to find & fix errors without corrupting database with invalid values

  • In case of errors, a detailed report of what/when/how related to steps execution is invaluable for the developer and operations guy for the confidence in import process and its correctness.

  • A uniform convention for data representation catering to different usecases makes the api/changes intuitive for not documented cases and help extend with minimum effort.

  • Syntax-summary

  • Defining-and-importing-Complex-Associations

  • Spree-Import-Export-Tips

  • Spree-Specific-Loader-Syntax

Dev setup with updated branches on github forks
Dev Setup with updated branches on existing product catalog to Githubforks

  • Ruby 2.2.1

  • Spree 3.0.4

  • Rails 4.2.5

  • Rails Engine to wrap datashift_spree functionality and add Admin interface

  • datashift_spree 0-2-stable github branch

  • datashift0-16-stable github branch

  • Though above is tested with above setup, it should work on latest ruby and latest Spree 3.0.x version

Let us know any difficulties in comments
Let us know any difficulties in comments existing product catalog to

  • To see in live action without much effort

  • Clone Spree Store AT https://github.com/vinsol-spree-contrib/spree_datashift_store

  • Run bundle install

  • Run bundle exec rake db:create && bundle exec rake db:migrate && bundle exec rake db:seed

  • Run bundle exec rails existing product catalog to

  • Log on to Admin Section using credentials as entered during seed above

  • Open http://localhost:3000/admin/product_import

  • See more at - http://vinsol.com/blog/2016/10/20/import-product-data-spree-commerce/