Slide 1

Slide 1 text

One Code To Run Them All 12.10.2019 www.silverstrip.es 1

Slide 2

Slide 2 text

The use case: Primo Products • Two online shops for New Zealand and Australia – https://primopromo.com.au/ – https://www.primoproducts.co.nz/ • 99% same code • One installation needs other extensions • Some different configurations (currency) • Same design, some minor differences (address in footer…) 12.10.2019 www.silverstrip.es 2

Slide 3

Slide 3 text

With SilverStripe 3 • Two repositories with each settings • One theme per installtion • Double work updating, testing 12.10.2019 www.silverstrip.es 3

Slide 4

Slide 4 text

With Silverstripe CMS 4 • More flexibility • One code base for both installations • Switch between shops via ENVIRONMENT variable • Sub-themes for shop specific tweaks 12.10.2019 www.silverstrip.es 4

Slide 5

Slide 5 text

ENVIRONMENT • A server specific setting • A switch for configuration 12.10.2019 www.silverstrip.es 5

Slide 6

Slide 6 text

12.10.2019 www.silverstrip.es 6

Slide 7

Slide 7 text

12.10.2019 www.silverstrip.es 7

Slide 8

Slide 8 text

12.10.2019 www.silverstrip.es 8

Slide 9

Slide 9 text

Sub-Themes • SilverStripe cascades through a set of themes • The first valid file is returned • Only modify the files you need to change • Works for all files via URLResourceLoader • Templates, images, CSS, JS … 12.10.2019 www.silverstrip.es 9

Slide 10

Slide 10 text

12.10.2019 www.silverstrip.es 10

Slide 11

Slide 11 text

12.10.2019 www.silverstrip.es 11

Slide 12

Slide 12 text

Different PHP Code • Some Extensions are only applied for a specific shop • Some methods check the ENVIRONMENT 12.10.2019 www.silverstrip.es 12

Slide 13

Slide 13 text

Conclusion • Combine different tools • Simplify your project • Satisfy your customer 12.10.2019 www.silverstrip.es 13

Slide 14

Slide 14 text

Thanks! www.silverstrip.es 12.10.2019 www.silverstrip.es 14