SlideShare a Scribd company logo
1 of 26
Silverstripe & E-commerce
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.
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?
Modules out there
●   Silvertripe Shop:
      ●   Jeremy, NZ
●   SwipeStripe:
      ●   Frank, NZ
●   Silvercart:
      ●   Roland, Germany
●   Silverstripe E-commerce
      ●   Nicolaas, New Zealand
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/
SwipeStripe

●   Author: Frank Mullenger
●   Lots of tests
●   Innovative CMS features
●   Xero integration
●   Virtual products
●   Small licensing fee
●   3.0 ready!
●   http://www.swipestripe.com/
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/
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?
E-commerce is Zpeshial
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
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)
Silverstripe E-commerce Module
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
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
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
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
Post Sale Features

●   Ability to pay again / later
●   Customisable Order Steps (Jeremy's 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
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
Features in the pipe-line

●   3.0 !
●   Xero Connectivity
●   PDF invoices
●   Many Images for each product
●   Improved importing
●   Twitter + Facebook integration
●   Multi-shop
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
YAML example
/dev/ecommerce
Settings review
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
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!
THANK YOU – QUESTIONS?

More Related Content

Similar to Silverstripe Ecommerce

Drupal 414: Meet Commerce 2.0
Drupal 414: Meet Commerce 2.0Drupal 414: Meet Commerce 2.0
Drupal 414: Meet Commerce 2.0Matt Glaman
 
Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...
Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...
Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...Pavel Pratyush
 
Drupal commerce 2.x for Drupal 8
Drupal commerce 2.x for Drupal 8Drupal commerce 2.x for Drupal 8
Drupal commerce 2.x for Drupal 8Iztok Smolic
 
openERP- How to connect OpenERP with external Systems, AkretionAkretion base...
openERP-  How to connect OpenERP with external Systems, AkretionAkretion base...openERP-  How to connect OpenERP with external Systems, AkretionAkretion base...
openERP- How to connect OpenERP with external Systems, AkretionAkretion base...Odoo
 
The (Long) Road to Commerce 1.0
The (Long) Road to Commerce 1.0The (Long) Road to Commerce 1.0
The (Long) Road to Commerce 1.0Mark Hamstra
 
Joomla User Group Suffolk - July 2012 - Crossing the line first or last - per...
Joomla User Group Suffolk - July 2012 - Crossing the line first or last - per...Joomla User Group Suffolk - July 2012 - Crossing the line first or last - per...
Joomla User Group Suffolk - July 2012 - Crossing the line first or last - per...Ruth Cheesley
 
Managing Multiple Store Fronts on Magento
Managing Multiple Store Fronts on MagentoManaging Multiple Store Fronts on Magento
Managing Multiple Store Fronts on MagentoGeoffrey Mobisson
 
Drupal Commerce contributed modules overview
Drupal Commerce contributed modules overviewDrupal Commerce contributed modules overview
Drupal Commerce contributed modules overviewPedro Cambra
 
Akretion magento erp_connect
Akretion magento erp_connectAkretion magento erp_connect
Akretion magento erp_connectNico Tristan
 
E-Commerce and MongoDB at Backcountry.com
E-Commerce and MongoDB at Backcountry.comE-Commerce and MongoDB at Backcountry.com
E-Commerce and MongoDB at Backcountry.comMongoDB
 
MongoDB@sfr.fr
MongoDB@sfr.frMongoDB@sfr.fr
MongoDB@sfr.frbeboutou
 
Drupal Commerce 2 for Drupal 8 - Drupal camp Antwerp 2017
Drupal Commerce 2 for Drupal 8 - Drupal camp Antwerp 2017Drupal Commerce 2 for Drupal 8 - Drupal camp Antwerp 2017
Drupal Commerce 2 for Drupal 8 - Drupal camp Antwerp 2017Iztok Smolic
 
Magento live eCommerce demo tutorial for beginners by Magento Universe
Magento live eCommerce demo tutorial for beginners by Magento UniverseMagento live eCommerce demo tutorial for beginners by Magento Universe
Magento live eCommerce demo tutorial for beginners by Magento UniverseMagento Universe
 
Magento Live eCommerce Demo Tutorial for Beginners » Magento Universe
Magento Live eCommerce Demo Tutorial for Beginners » Magento UniverseMagento Live eCommerce Demo Tutorial for Beginners » Magento Universe
Magento Live eCommerce Demo Tutorial for Beginners » Magento UniversePuneet Parashar
 
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...Aaron Saray
 
Myntra.com's Big Data Platform
Myntra.com's Big Data PlatformMyntra.com's Big Data Platform
Myntra.com's Big Data PlatformApoorva Gaurav
 
Let's go shopping with Drupal!
Let's go shopping with Drupal!Let's go shopping with Drupal!
Let's go shopping with Drupal!agileware
 
Spring 21 Salesforce Release Webinar
Spring 21 Salesforce Release WebinarSpring 21 Salesforce Release Webinar
Spring 21 Salesforce Release Webinarbrightgenss
 
[Srijan Wednesday Webinars] Meet Commerce 2.X
[Srijan Wednesday Webinars]  Meet Commerce 2.X[Srijan Wednesday Webinars]  Meet Commerce 2.X
[Srijan Wednesday Webinars] Meet Commerce 2.XSrijan Technologies
 

Similar to Silverstripe Ecommerce (20)

Drupal 414: Meet Commerce 2.0
Drupal 414: Meet Commerce 2.0Drupal 414: Meet Commerce 2.0
Drupal 414: Meet Commerce 2.0
 
Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...
Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...
Migration of a high-traffic E-commerce website from Legacy Monolith to Micros...
 
Drupal commerce 2.x for Drupal 8
Drupal commerce 2.x for Drupal 8Drupal commerce 2.x for Drupal 8
Drupal commerce 2.x for Drupal 8
 
Odoo Akeneo Connector
Odoo Akeneo ConnectorOdoo Akeneo Connector
Odoo Akeneo Connector
 
openERP- How to connect OpenERP with external Systems, AkretionAkretion base...
openERP-  How to connect OpenERP with external Systems, AkretionAkretion base...openERP-  How to connect OpenERP with external Systems, AkretionAkretion base...
openERP- How to connect OpenERP with external Systems, AkretionAkretion base...
 
The (Long) Road to Commerce 1.0
The (Long) Road to Commerce 1.0The (Long) Road to Commerce 1.0
The (Long) Road to Commerce 1.0
 
Joomla User Group Suffolk - July 2012 - Crossing the line first or last - per...
Joomla User Group Suffolk - July 2012 - Crossing the line first or last - per...Joomla User Group Suffolk - July 2012 - Crossing the line first or last - per...
Joomla User Group Suffolk - July 2012 - Crossing the line first or last - per...
 
Managing Multiple Store Fronts on Magento
Managing Multiple Store Fronts on MagentoManaging Multiple Store Fronts on Magento
Managing Multiple Store Fronts on Magento
 
Drupal Commerce contributed modules overview
Drupal Commerce contributed modules overviewDrupal Commerce contributed modules overview
Drupal Commerce contributed modules overview
 
Akretion magento erp_connect
Akretion magento erp_connectAkretion magento erp_connect
Akretion magento erp_connect
 
E-Commerce and MongoDB at Backcountry.com
E-Commerce and MongoDB at Backcountry.comE-Commerce and MongoDB at Backcountry.com
E-Commerce and MongoDB at Backcountry.com
 
MongoDB@sfr.fr
MongoDB@sfr.frMongoDB@sfr.fr
MongoDB@sfr.fr
 
Drupal Commerce 2 for Drupal 8 - Drupal camp Antwerp 2017
Drupal Commerce 2 for Drupal 8 - Drupal camp Antwerp 2017Drupal Commerce 2 for Drupal 8 - Drupal camp Antwerp 2017
Drupal Commerce 2 for Drupal 8 - Drupal camp Antwerp 2017
 
Magento live eCommerce demo tutorial for beginners by Magento Universe
Magento live eCommerce demo tutorial for beginners by Magento UniverseMagento live eCommerce demo tutorial for beginners by Magento Universe
Magento live eCommerce demo tutorial for beginners by Magento Universe
 
Magento Live eCommerce Demo Tutorial for Beginners » Magento Universe
Magento Live eCommerce Demo Tutorial for Beginners » Magento UniverseMagento Live eCommerce Demo Tutorial for Beginners » Magento Universe
Magento Live eCommerce Demo Tutorial for Beginners » Magento Universe
 
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
Enterprise PHP Architecture through Design Patterns and Modularization (Midwe...
 
Myntra.com's Big Data Platform
Myntra.com's Big Data PlatformMyntra.com's Big Data Platform
Myntra.com's Big Data Platform
 
Let's go shopping with Drupal!
Let's go shopping with Drupal!Let's go shopping with Drupal!
Let's go shopping with Drupal!
 
Spring 21 Salesforce Release Webinar
Spring 21 Salesforce Release WebinarSpring 21 Salesforce Release Webinar
Spring 21 Salesforce Release Webinar
 
[Srijan Wednesday Webinars] Meet Commerce 2.X
[Srijan Wednesday Webinars]  Meet Commerce 2.X[Srijan Wednesday Webinars]  Meet Commerce 2.X
[Srijan Wednesday Webinars] Meet Commerce 2.X
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native ApplicationsWSO2
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusZilliz
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Zilliz
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfOverkill Security
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWERMadyBayot
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingEdi Saputra
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...apidays
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024The Digital Insurer
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...apidays
 

Recently uploaded (20)

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
Apidays New York 2024 - Accelerating FinTech Innovation by Vasa Krishnan, Fin...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024AXA XL - Insurer Innovation Award Americas 2024
AXA XL - Insurer Innovation Award Americas 2024
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 

Silverstripe Ecommerce

  • 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. 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. 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 of Silverstripe core code base and Best Practice ● 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 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. 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?
  • 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. 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)
  • 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 / 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. 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. 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. Post Sale Features ● Ability to pay again / later ● Customisable Order Steps (Jeremy's 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. 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. 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 for mix and match ● Migration task takes you from 0.5 to 1.0 ● Variables for Ajax html classes and Ids
  • 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. 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. THANK YOU – QUESTIONS?