SlideShare una empresa de Scribd logo
1 de 26
Ecommerce with Silverstripe
StripeCon 2021
Karl-Johan Smeds, CEO
Niklas Forsdahl, Chief Software Developer
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Creamarketing
- Established in 1998, Vaasa Finland
- Our team consists of 11 dedicated and skilled team members
- Highly specialized in web development and ecommerce
- We have been using SilverStripe since 2009
- Turnover 720.000 € (2020)
- Highest creditworthiness (AAA) since 2009
Ecommerce with Silverstripe
Ecommerce with Silverstripe
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Ecommerce experience
- First webshop published 2001
- We did all the design and coding from scratch 
- Continued to do webshop projects with OSCommerce
- Switched from OSCommerce to Prestashop
- 2 years ”Time-out” session before next step
- First webshop with Silverstripe published in year 2016
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Ecommerce today
• About 30 ecommerce projects with SilverStripe
• The majority of our turnover today is from ecommerce projects
• Wide range of projects, from only about 100 products to about 500000
products, both B2B and B2C
• Integrations to ERP and POS systems is very common
• Successfully worked with core web vitals and content creation to get very
good search ranking results
Ecommerce with Silverstripe
Ecommerce with Silverstripe
Ecommerce with Silverstripe
• Community modules used
• Changes made
• Custom functionality we created
Technical overview
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
SilverShop core
• Overall a good technical and flexible base
• silvershop/core forked to change Product and
ProductCategory base class to DataObject instead of SiteTree
• To support over 100k products
• To make search and filtering easier
• To make multilingual translation of products easier to handle
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
SilverShop discounts
• Extended with custom product discount, which actually modifies selling
prices of products, based on different criteria
• Include products by category, manufacturer, attribute values, etc.
• Store best selling price / discount percent on products and variations for
efficient sorting and rendering
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Silvershop stock
• Some extensions to support large number of products
• Store in stock status per variation/product on product stock changes
• Options for out-of-stock behaviour per product and variation
• Custom out-of-stock messages per manufacturer and product
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Fulltextsearch
• Used for site search and product filtering
• SolrIndex subclassed to support Solr 8
• Support for highlighting, spellchecking, grouped queries, facet queries,
tagged queries, etc.
• Solr grouped query used for site search
• Product filtering using Solr facet queries
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Staticpublishqueue
• Publish pages, product category pages, product pages statically
• Some pages are deliberetly not statically published, like the checkout page
• Dynamic data, like the shopping cart, are filled in via ajax on each request
• FilesystemPublisher subclassed to do the actual page rendering in a
separate process, to not run out of memory
• Custom StaticCacheFullBuildJob to build full static cache for all
pages and product urls in all Fluent locales
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Queued jobs
• Used in combination with fulltextsearch and staticpublishqueue
• One fast and one large queue (plus an immediate queue)
• Custom QueueRunner subclass that writes mark and lock files per queue
• To make a queue completely sequential, and to make checking for jobs to run
on the fast queue more efficient
• Custom CronJob queued job, that parses crontab syntax in yml-files, for
scheduling jobs on the large queue
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Frontend
• Heavy use of image manipulations for core web vitals scores
• Custom image manipulation for doing webp transcoding, using image
magick and libwebp
• Picture-tags in templates with multiple croppings for different media
queries
• Bundling requirements via yarn and webpack
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Admin
• Simple custom dashboard to show some analytics and sales data
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Admin
• Custom ModelAdmin subclass for webshop administration
• Splits webshop administration in multiple top-level tabs
• Custom GridField components
• Filtering component
• Bulk actions via colymba/gridfield-bulk-editing-tools
• Component for nested grid fields
• Component for tooltip data in grid fields
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Reports
• Custom reports, based on nested GridFields
• Custom ReportList, as a subclass of SQLQueryList
• Focus on sales and stock reports
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Other custom modules and extensions
• Google shopping feeds
• Campaigns
• Manufacturer pages
• Sample products
• Abandoned carts
• Integrations to Finnish and Swedish payment providers
Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Future plans
• More marketing automation
• More related content on product pages and at checkout, either through site
logic or via Google Vision AI API
• More admin improvements for merchants

Más contenido relacionado

Último

Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...kumargunjan9515
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理F
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制pxcywzqs
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdfMatthew Sinclair
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查ydyuyu
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...meghakumariji156
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...gajnagarg
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsMonica Sydney
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样ayvbos
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsPriya Reddy
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtrahman018755
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge GraphsEleniIlkou
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查ydyuyu
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdfMatthew Sinclair
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdfMatthew Sinclair
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasDigicorns Technologies
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsMonica Sydney
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirtrahman018755
 

Último (20)

Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理一比一原版奥兹学院毕业证如何办理
一比一原版奥兹学院毕业证如何办理
 
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
一比一原版(Offer)康考迪亚大学毕业证学位证靠谱定制
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
call girls in Anand Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
一比一原版(Curtin毕业证书)科廷大学毕业证原件一模一样
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 

Destacado

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...DevGAMM Conference
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationErica Santiago
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellSaba Software
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming LanguageSimplilearn
 

Destacado (20)

How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them wellGood Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
Good Stuff Happens in 1:1 Meetings: Why you need them and how to do them well
 
Introduction to C Programming Language
Introduction to C Programming LanguageIntroduction to C Programming Language
Introduction to C Programming Language
 

Ecommerce with Silverstripe

  • 1. Ecommerce with Silverstripe StripeCon 2021 Karl-Johan Smeds, CEO Niklas Forsdahl, Chief Software Developer
  • 2. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Creamarketing - Established in 1998, Vaasa Finland - Our team consists of 11 dedicated and skilled team members - Highly specialized in web development and ecommerce - We have been using SilverStripe since 2009 - Turnover 720.000 € (2020) - Highest creditworthiness (AAA) since 2009
  • 5. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Ecommerce experience - First webshop published 2001 - We did all the design and coding from scratch  - Continued to do webshop projects with OSCommerce - Switched from OSCommerce to Prestashop - 2 years ”Time-out” session before next step - First webshop with Silverstripe published in year 2016
  • 6. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Ecommerce today • About 30 ecommerce projects with SilverStripe • The majority of our turnover today is from ecommerce projects • Wide range of projects, from only about 100 products to about 500000 products, both B2B and B2C • Integrations to ERP and POS systems is very common • Successfully worked with core web vitals and content creation to get very good search ranking results
  • 10. • Community modules used • Changes made • Custom functionality we created Technical overview
  • 11. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com SilverShop core • Overall a good technical and flexible base • silvershop/core forked to change Product and ProductCategory base class to DataObject instead of SiteTree • To support over 100k products • To make search and filtering easier • To make multilingual translation of products easier to handle
  • 12. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com SilverShop discounts • Extended with custom product discount, which actually modifies selling prices of products, based on different criteria • Include products by category, manufacturer, attribute values, etc. • Store best selling price / discount percent on products and variations for efficient sorting and rendering
  • 13. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Silvershop stock • Some extensions to support large number of products • Store in stock status per variation/product on product stock changes • Options for out-of-stock behaviour per product and variation • Custom out-of-stock messages per manufacturer and product
  • 14. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Fulltextsearch • Used for site search and product filtering • SolrIndex subclassed to support Solr 8 • Support for highlighting, spellchecking, grouped queries, facet queries, tagged queries, etc. • Solr grouped query used for site search • Product filtering using Solr facet queries
  • 15. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
  • 16. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
  • 17. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Staticpublishqueue • Publish pages, product category pages, product pages statically • Some pages are deliberetly not statically published, like the checkout page • Dynamic data, like the shopping cart, are filled in via ajax on each request • FilesystemPublisher subclassed to do the actual page rendering in a separate process, to not run out of memory • Custom StaticCacheFullBuildJob to build full static cache for all pages and product urls in all Fluent locales
  • 18. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Queued jobs • Used in combination with fulltextsearch and staticpublishqueue • One fast and one large queue (plus an immediate queue) • Custom QueueRunner subclass that writes mark and lock files per queue • To make a queue completely sequential, and to make checking for jobs to run on the fast queue more efficient • Custom CronJob queued job, that parses crontab syntax in yml-files, for scheduling jobs on the large queue
  • 19. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Frontend • Heavy use of image manipulations for core web vitals scores • Custom image manipulation for doing webp transcoding, using image magick and libwebp • Picture-tags in templates with multiple croppings for different media queries • Bundling requirements via yarn and webpack
  • 20. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
  • 21. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Admin • Simple custom dashboard to show some analytics and sales data
  • 22. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Admin • Custom ModelAdmin subclass for webshop administration • Splits webshop administration in multiple top-level tabs • Custom GridField components • Filtering component • Bulk actions via colymba/gridfield-bulk-editing-tools • Component for nested grid fields • Component for tooltip data in grid fields
  • 23. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
  • 24. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Reports • Custom reports, based on nested GridFields • Custom ReportList, as a subclass of SQLQueryList • Focus on sales and stock reports
  • 25. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Other custom modules and extensions • Google shopping feeds • Campaigns • Manufacturer pages • Sample products • Abandoned carts • Integrations to Finnish and Swedish payment providers
  • 26. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Future plans • More marketing automation • More related content on product pages and at checkout, either through site logic or via Google Vision AI API • More admin improvements for merchants