Technical Product Demo.
September 2021.
Silverstripe world domination - progress update
Step 1 Step 2 Step 3
Release Silverstripe CMS 4.9.0 Accessib ility is pr ioritised thr ou
ghout ou r design proc ess. We
create i n clusive we bsites for a ll
users.
Sam Minnée appointed Emperor of
Earth!
👑
Everything is proceeded as we have foreseen.
01
CMS Squad
What to expect with the CMS 4.9 release
02
CMS Squad
‘A brave post-CWP world’
03
A & D team
Retrospective on Gatsby
04
A & D team
Progressing NextJS research & development
Agenda
The CMS Squad
The CMS Squad
● Silverstripe CMS 4.9.0
● Brave post-CWP world
● Looking ahead
The CMS Squad
Silverstripe CMS 4.9.0
Image lazy loading by default
● Partnership with
● Images default to lazy loading
● Benefits
● Reduce time to render
● Reduce bandwidth
● Improve SEO
<img
src="logo.jpg"
width="300"
height="200"
loading="lazy"
alt="ACME inc"
/>
Image eager loading
● Safe to lazy load all images
● … as long as all images have dimensions
● When should images be eager loaded?
● If you expect them to be “above the fold”
● How to eager load specific images?
● $Logo.LazyLoad(false)
● <img src="logo.jpg" loading="lazy" alt="ACME inc" />
● What if we don’t want it all?
SilverStripeAssetsImage:
lazy_loading_enabled: false
Experience
Improved engagement
● Search rankings
● Improved bounce rates
● Mobile users, reduce data consumption/cost
● Cool experiences like infinite scroll
UI considerations
● Who has control (dev vs admin)
● Language used
● Placement of feature in UI
● Enough context (new component)
Gotcha’s
● Layout shifts, shouldn’t be an issue in CMS
● Printing pages, current bug in chrome
Core web vitals
● Work sponsored by the
Google Core Web vital
team
Swiftmailer v6 upgrade
● Framework 4.9.0 uses swiftmailer v6
● Swift_MailTransport deprecated
● Existing project will default to it
● New project will default to
Swift_SendmailTransport
● Opens up new opportunities
● S/MIME support (kudos to Frank and
Danaë)
---
Name: project-emailconfig
After:
- '#emailconfig'
---
SilverStripeCoreInjectorInjector:
Swift_Transport:
class: Swift_SendmailTransport
Other changes
● Session manager now stable
and part of recipe-cms
● About new 360 commits in total
The CMS Squad
Brave post-CWP world
Every new beginning
comes from some other
beginning's end.
FREEDOM!!!!
● Simpler release process
● Recipes now more flexible
● Transitioning off CWP CMS recipes
Simpler release process
Before
● One core release
● One CWP release
● Two sets of procedures
● Two set of comms
● Two changelogs
After
● One unified release
● One process
● One changelog
● Recipes will now use ~ constraints
● Update to patch releases without any composer hackery
● Recipes will still be audited
● We’ll publish the exact tags that got audited
Recipes now more flexible
● Do all those recipes make sense?
● How can we better support recipes
as a concept?
Recipes now more flexible
● silverstripe/recipe-cms
● silverstripe/recipe-core
● silverstripe/recipe-reporting-tools
● silverstripe/recipe-content-blocks
● silverstripe/recipe-collaboration
● silverstripe/recipe-services
● silverstripe/recipe-form-building
● silverstripe/recipe-blog
● silverstripe/recipe-authoring-tools
● Still working this out
● Will probably involved inlining recipes
● Silverstripe CMS 4.9.0 until this is figured out
Transitioning off CWP CMS Recipes
The CMS Squad
Looking ahead
● Silverstripe CMS 4.9.0 last release to support Internet Explorer
● Silverstripe CMS 4.10 will not be tested against IE11
● Only CMS is affected … can still output IE11 compatible site
● Account managers should be having conversation with affected customers
Internet Explorer support
● Most module work with PHP8
● … but not unit test because of PHPUnit 5.7
● Working on upgrading to PHPUnit 9
● Should ship before the end of the year
PHP 8 support in CMS 4
Questions?
CMS Squad

Silverstripe CMS 4.9.0 release and beyound

  • 1.
  • 2.
    Silverstripe world domination- progress update Step 1 Step 2 Step 3 Release Silverstripe CMS 4.9.0 Accessib ility is pr ioritised thr ou ghout ou r design proc ess. We create i n clusive we bsites for a ll users. Sam Minnée appointed Emperor of Earth! 👑 Everything is proceeded as we have foreseen.
  • 3.
    01 CMS Squad What toexpect with the CMS 4.9 release 02 CMS Squad ‘A brave post-CWP world’ 03 A & D team Retrospective on Gatsby 04 A & D team Progressing NextJS research & development Agenda
  • 4.
  • 5.
    The CMS Squad ●Silverstripe CMS 4.9.0 ● Brave post-CWP world ● Looking ahead
  • 6.
  • 7.
    Image lazy loadingby default ● Partnership with ● Images default to lazy loading ● Benefits ● Reduce time to render ● Reduce bandwidth ● Improve SEO <img src="logo.jpg" width="300" height="200" loading="lazy" alt="ACME inc" />
  • 8.
    Image eager loading ●Safe to lazy load all images ● … as long as all images have dimensions ● When should images be eager loaded? ● If you expect them to be “above the fold” ● How to eager load specific images? ● $Logo.LazyLoad(false) ● <img src="logo.jpg" loading="lazy" alt="ACME inc" /> ● What if we don’t want it all? SilverStripeAssetsImage: lazy_loading_enabled: false
  • 9.
    Experience Improved engagement ● Searchrankings ● Improved bounce rates ● Mobile users, reduce data consumption/cost ● Cool experiences like infinite scroll UI considerations ● Who has control (dev vs admin) ● Language used ● Placement of feature in UI ● Enough context (new component) Gotcha’s ● Layout shifts, shouldn’t be an issue in CMS ● Printing pages, current bug in chrome
  • 10.
    Core web vitals ●Work sponsored by the Google Core Web vital team
  • 11.
    Swiftmailer v6 upgrade ●Framework 4.9.0 uses swiftmailer v6 ● Swift_MailTransport deprecated ● Existing project will default to it ● New project will default to Swift_SendmailTransport ● Opens up new opportunities ● S/MIME support (kudos to Frank and Danaë) --- Name: project-emailconfig After: - '#emailconfig' --- SilverStripeCoreInjectorInjector: Swift_Transport: class: Swift_SendmailTransport
  • 12.
    Other changes ● Sessionmanager now stable and part of recipe-cms ● About new 360 commits in total
  • 13.
    The CMS Squad Bravepost-CWP world
  • 14.
    Every new beginning comesfrom some other beginning's end.
  • 15.
    FREEDOM!!!! ● Simpler releaseprocess ● Recipes now more flexible ● Transitioning off CWP CMS recipes
  • 16.
    Simpler release process Before ●One core release ● One CWP release ● Two sets of procedures ● Two set of comms ● Two changelogs After ● One unified release ● One process ● One changelog
  • 17.
    ● Recipes willnow use ~ constraints ● Update to patch releases without any composer hackery ● Recipes will still be audited ● We’ll publish the exact tags that got audited Recipes now more flexible
  • 18.
    ● Do allthose recipes make sense? ● How can we better support recipes as a concept? Recipes now more flexible ● silverstripe/recipe-cms ● silverstripe/recipe-core ● silverstripe/recipe-reporting-tools ● silverstripe/recipe-content-blocks ● silverstripe/recipe-collaboration ● silverstripe/recipe-services ● silverstripe/recipe-form-building ● silverstripe/recipe-blog ● silverstripe/recipe-authoring-tools
  • 19.
    ● Still workingthis out ● Will probably involved inlining recipes ● Silverstripe CMS 4.9.0 until this is figured out Transitioning off CWP CMS Recipes
  • 20.
  • 21.
    ● Silverstripe CMS4.9.0 last release to support Internet Explorer ● Silverstripe CMS 4.10 will not be tested against IE11 ● Only CMS is affected … can still output IE11 compatible site ● Account managers should be having conversation with affected customers Internet Explorer support
  • 22.
    ● Most modulework with PHP8 ● … but not unit test because of PHPUnit 5.7 ● Working on upgrading to PHPUnit 9 ● Should ship before the end of the year PHP 8 support in CMS 4
  • 23.