Successfully reported this slideshow.
Your SlideShare is downloading. ×

Ecommerce with Silverstripe

Ad

Ecommerce with Silverstripe
StripeCon 2021
Karl-Johan Smeds, CEO
Niklas Forsdahl, Chief Software Developer

Ad

Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Creamarketing
- Established in 1998, Vaasa Finland...

Ad

Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
Ecommerce experience
- First webshop published 200...

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Ad

Loading in …3
×

Check these out next

1 of 26 Ad
1 of 26 Ad
Advertisement

More Related Content

Advertisement

Ecommerce with Silverstripe

  1. 1. Ecommerce with Silverstripe StripeCon 2021 Karl-Johan Smeds, CEO Niklas Forsdahl, Chief Software Developer
  2. 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
  3. 3. 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
  4. 4. 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
  5. 5. • Community modules used • Changes made • Custom functionality we created Technical overview
  6. 6. 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
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
  11. 11. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
  12. 12. 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
  13. 13. 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
  14. 14. 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
  15. 15. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
  16. 16. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com Admin • Simple custom dashboard to show some analytics and sales data
  17. 17. 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
  18. 18. Ratakatu 7, 65100 VAASA, Finland +358 10 421 8860 www.creamarketing.com
  19. 19. 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
  20. 20. 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
  21. 21. 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

×