silverstripe ecommerce

Download Silverstripe Ecommerce

If you can't read please download the document

Upload: nicolaas-francken

Post on 17-May-2015

2.869 views

Category:

Technology


6 download

DESCRIPTION

Short overview of the silverstripe e-commerce developments (silverstripe module) up to 1 Oct 2012.

TRANSCRIPT

  • 1. Silverstripe & E-commerce

2. History Originally started by Silverstripe Ltd at least fiveyears ago abandoned due to lack ofcommunity buy-in Payment module continued to be developedby Silvertripe (and now part of GSOC) Since then, developed by Nicolaas and Jeremy,Jeremy later starting his own module: shop Silvercart and SwipeStripe are more recent e-commerce modules. 3. Today Four ber-developed modules, includingdemo sites, installers, tests, in-depthdocumentation Do you see this level of development inany of the other modules ? Lots of developers (and their clients) are keento be develop e-commerce applications Are they confused by the options? Do they use Magento or other applications rather than Silverstripe ones? 4. Modules out there Silvertripe Shop: Jeremy, NZ SwipeStripe: Frank, NZ Silvercart: Roland, Germany Silverstripe E-commerce Nicolaas, New Zealand 5. Silverstripe Shop Author: Jeremy Shipman Excellent documentation Best practice release process Quality tests through TravisCI Code simplicity as well as strong usage ofSilverstripe core code base and BestPractice http://ss-shop.org/ 6. SwipeStripe Author: Frank Mullenger Lots of tests Innovative CMS features Xero integration Virtual products Small licensing fee 3.0 ready! http://www.swipestripe.com/ 7. SilverCart Author: Roland Lehmann et al. Probably most polished documentation and out-of-the-box solution Does not use the original e-commerce as code base Master-Slave product relationships product variations can be grouped while thevariations can be independently maintained PDF invoices Most usage of third-party tools (e.g.DataObjectManager, the YAML CSS framework) andmost intrusive (e.g. Page extends SilvercartPage) http://www.silvercart.org/ 8. select an e-commerce module What features do I need? What is the smallest code base to achieve this The bigger the code base, the more todevelop / test / maintain Documentation Tests DYI vs Pre-Baked Can I get help? How much will it cost? 9. E-commerce is Zpeshial 10. E-commerce is zpeshial 1 My experience: all parties underestimate the workinvolved Site owner: entering / importing products: Images, pricing,descriptions, product grouping, variations Policies and business processes: delivery costs, tax,cancellations, customer communication Designer: the amount of screens to design You can save a lot of time by standardising forms, etc...but many web designers are not very good at this. Front-end developer: interaction required Ajax stuff, difficult forms, products and product categorypages work with few or many definitely diverse -products 11. E-commerce is zpeshial 2 Back-end developer: this is more an application than a website Keep a record of transactions (e.g. address of the member at time of order not just today) Many tricky relationships and coding challenges Discounts, delivery, tax, etc... etc... You have to be precise otherwise end customers get upset (websites can be more loosely coded) 12. Silverstripe E-commerce Module 13. Silverstripe E-commerce Based on the original e-commerce Developers include: Sean, Romain, Jeremy,Nicolaas and many others! Original idea: very flexible data structure Currently being developed mainly by Nicolaas Uses Payment Module 14. Data Structure Config Sales EcommerceDBConfig Order YAML file replaces traditional static variables Order has many OrderAttributes (abstract Product Pages / Objectsclass) Product Category Item (ProductGroupPage) Modifier Can show all sorts of combination of products Order has one Billing + Product PageShipping Address Product Variation (many for one Linked to Country + Region Product) Customer (Member extension) Other buyables Create as needed, any Process DataObject can be turned into a buyable OrderStep Other Pages OrderStatusLog CartPage + CheckoutPage + OrderConfirmationPage OrderEmailRecord AccountPage 15. Product (buyable) Features Product Categories CMS customisation products to show, filter, sorting Full Site Tree Sorting retain product sorting outside of traditionalstructure Best Available Image inherit image from parent (be it Product,ProductGroup or Default Image) Optional weight, model (SKU), IsFeatured,quantifier (e.g. per month) Full (hidden) Title for efficient Keyword Searching 16. Cart / Checkout Features All cart functions ajaxified Currency conversion Editable checkout steps (one to many steps) always ending in a confirm and pay then printinvoice page. Ability to add zero to many forms / fields forcollecting additional info in checkout Optional password field Customer has option but does not feel like they have tocreate an account Remember previous addresses for Member Shop Admin (separate security group) can createalso create full Order from CMS 17. Post Sale Features Ability to pay again / later Customisable Order Steps (Jeremys idea) fromcreation through to archiving Allows connectivity with third-party applications atprecise step in order process Admin reviews Orders stuck at each step e.g. 10 orders to mail out, 7 orders to confirm payment Ability to send updates to customer (e.g. couriercode) Customer can cancel Order (if configured this way) Nicely formatted emails with logo, shop address,etc... Restful API 18. A few add-ons we have built also recommended - if you buy corporate account (approve account,this, also buy ...security groups as customers) any price product + donations discount couponincluding round-up donation product tags: alternative productgrouping check product availability: placeorder, but hold to confirm product variations with colours club order: place order for a group repeat ordersof people stock control combination product: combine tax per country / per productproducts into a package quick add system complex pricing: pricing based oncountry or member security group delivery costings for NZ + AU based onpostal system delivery based on weight, price, reward systemcountry, etc... Favourites electronic download product Quick Checkout: fastest way to add lotsof products 19. Features in the pipe-line 3.0 ! Xero Connectivity PDF invoices Many Images for each product Improved importing Twitter + Facebook integration Multi-shop 20. Development tools YAML configuration /dev/ecommerce/ Templates broken up into smaller snippets formix and match Migration task takes you from 0.5 to 1.0 Variables for Ajax html classes and Ids 21. YAML example 22. /dev/ecommerce 23. Settings review 24. Coding challenges in e-commerce Versioning / rules about Keep code flexible enoughchanging data to work with manyrequirements canCreate, canEdit,canDelete are carefully Add lots of hooksdefined Allow class replacement Keep version number e.g. Order = newrelating to sales$MyOrderClassName Referential integrity Many objects relationship can we delete a product? BAD: one Order HasMany De-normalisationProducts product price changes != GOOD: one Order price in old orders for this productHasMany Buyables Save ClassName + ID (+Version) Challenge: Buyable FormField 25. Silverstripe improvements needed ModelAdmin: better presentation and easier tocustomise Solution: gridfield? Versioning and staging Clearer documentation Easier to implement Forms more flexible Many of these features are available in 3.0! 26. THANK YOU QUESTIONS?