Silverstripe & E-commerce
History●   Originally started by Silverstripe Ltd at least five    years ago – abandoned due to lack of    community buy-i...
Today●   Four über-developed modules, including    demo sites, installers, tests, in-depth    documentation     ●  Do you ...
Modules out there●   Silvertripe Shop:      ●   Jeremy, NZ●   SwipeStripe:      ●   Frank, NZ●   Silvercart:      ●   Rola...
Silverstripe Shop●   Author: Jeremy Shipman●   Excellent documentation●   Best practice release process●   Quality tests t...
SwipeStripe●   Author: Frank Mullenger●   Lots of tests●   Innovative CMS features●   Xero integration●   Virtual products...
SilverCart●   Author: Roland Lehmann et al.●   Probably most polished documentation and out-of-    the-box solution●   Doe...
select an e-commerce module●   What features do I need?●   What is the smallest code base to achieve this      ●   The big...
E-commerce is Zpeshial
E-commerce is zpeshial 1●   My experience: all parties underestimate the work    involved      ●   Site owner:            ...
E-commerce is zpeshial 2●   Back-end developer:     ●   this is more an application than a website           ● Keep a reco...
Silverstripe E-commerce Module
Silverstripe E-commerce●   Based on the original e-commerce●   Developers include: Sean, Romain, Jeremy,    Nicolaas and m...
Data Structure●   Config                                             ●   Sales             EcommerceDBConfig              ...
Product (buyable) Features●   Product Categories CMS customisation    ●   products to show, filter, sorting●   Full Site T...
Cart / Checkout Features●   All cart functions “ajaxified”●   Currency conversion●   Editable checkout steps (one to many ...
Post Sale Features●   Ability to pay again / later●   Customisable Order Steps (Jeremys idea) from    “creation” through t...
A few add-ons we have built●   also recommended - if you buy         ●   corporate account (approve account,    this, also...
Features in the pipe-line●   3.0 !●   Xero Connectivity●   PDF invoices●   Many Images for each product●   Improved import...
Development tools●   YAML configuration●   /dev/ecommerce/●   Templates broken up into smaller snippets for    mix and mat...
YAML example
/dev/ecommerce
Settings review
Coding challenges in e-commerce●   Versioning / rules about                    ●   Keep code flexible enough    changing d...
Silverstripe improvements needed●   ModelAdmin: better presentation and easier to    customise      ●   Solution: gridfiel...
THANK YOU – QUESTIONS?
Upcoming SlideShare
Loading in...5
×

Silverstripe Ecommerce

2,925

Published on

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

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
2,925
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
13
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Silverstripe Ecommerce

  1. 1. Silverstripe & E-commerce
  2. 2. History● Originally started by Silverstripe Ltd at least five years ago – abandoned due to lack of community buy-in ● Payment module continued to be developed by 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. 3. Today● Four über-developed modules, including demo sites, installers, tests, in-depth documentation ● Do you see this level of development in any of the other modules ?● Lots of developers (and their clients) are keen to be develop e-commerce applications ● Are they confused by the options? ● Do they use Magento or other applications rather than Silverstripe ones?
  4. 4. Modules out there● Silvertripe Shop: ● Jeremy, NZ● SwipeStripe: ● Frank, NZ● Silvercart: ● Roland, Germany● Silverstripe E-commerce ● Nicolaas, New Zealand
  5. 5. Silverstripe Shop● Author: Jeremy Shipman● Excellent documentation● Best practice release process● Quality tests through TravisCI● Code simplicity as well as strong usage of Silverstripe core code base and Best Practice● http://ss-shop.org/
  6. 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. 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 the variations can be independently maintained● PDF invoices● Most usage of third-party tools (e.g. DataObjectManager, the YAML CSS framework) and most intrusive (e.g. Page extends SilvercartPage)● http://www.silvercart.org/
  8. 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 to develop / test / maintain● Documentation● Tests● DYI vs Pre-Baked● Can I get help? How much will it cost?
  9. 9. E-commerce is Zpeshial
  10. 10. E-commerce is zpeshial 1● My experience: all parties underestimate the work involved ● 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 category pages work with few or many – definitely diverse - products
  11. 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. 12. Silverstripe E-commerce Module
  13. 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. 14. Data Structure● Config ● Sales EcommerceDBConfig Order ● ● ● YAML file replaces traditional static variables ● Order has many OrderAttributes (abstract● Product Pages / Objects class) ● Product Category ● Item (ProductGroupPage) ● Modifier ● Can show all sorts of combination of products ● Order has one Billing + ● Product Page Shipping 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. 15. Product (buyable) Features● Product Categories CMS customisation ● products to show, filter, sorting● Full Site Tree Sorting ● retain product sorting outside of traditional structure● 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. 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 “print invoice” page.● Ability to add zero to many forms / fields for collecting additional info in checkout● Optional password field ● Customer has option but does not feel like they have to create an account● Remember previous addresses for Member● Shop Admin (separate security group) can create also create full Order from CMS
  17. 17. Post Sale Features● Ability to pay again / later● Customisable Order Steps (Jeremys idea) from “creation” through to “archiving” ● Allows connectivity with third-party applications at “precise” 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. courier code)● Customer can cancel Order (if configured this way)● Nicely formatted emails with logo, shop address, etc...● Restful API
  18. 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 coupon including round-up donation ● product tags: alternative product grouping● check product availability: place order, but hold to confirm ● product variations with colours● club order: place order for a group ● repeat orders of people ● stock control● combination product: combine ● tax – per country / per product products into a package ● quick add system● complex pricing: pricing based on country or member security group ● delivery costings for NZ + AU based on postal system● delivery based on weight, price, ● reward system country, etc... ● Favourites● electronic download product ● Quick Checkout: fastest way to add lots of products
  19. 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. 20. Development tools● YAML configuration● /dev/ecommerce/● Templates broken up into smaller snippets for mix and match● Migration task takes you from 0.5 to 1.0● Variables for Ajax html classes and Ids
  21. 21. YAML example
  22. 22. /dev/ecommerce
  23. 23. Settings review
  24. 24. Coding challenges in e-commerce● Versioning / rules about ● Keep code flexible enough changing data to work with many requirements ● canCreate, canEdit, canDelete are carefully ● Add lots of “hooks” defined ● Allow class replacement ● Keep version number ● e.g. Order = new relating to sales $MyOrderClassName ● Referential integrity ● Many objects relationship ● can we delete a product? ● BAD: one Order HasMany ● “De-normalisation” Products ● product price changes != ● GOOD: one Order price in old orders for this product HasMany “Buyables” ● Save ClassName + ID (+ Version) ● Challenge: Buyable Form Field
  25. 25. Silverstripe improvements needed● ModelAdmin: better presentation and easier to customise ● Solution: gridfield?● Versioning and staging ● Clearer documentation ● Easier to implement● Forms more flexible● Many of these features are available in 3.0!
  26. 26. THANK YOU – QUESTIONS?
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×