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 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
7. 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"
/>
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
● 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
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
● Session manager now stable
and part of recipe-cms
● About new 360 commits in total
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 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
18. ● 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
19. ● Still working this out
● Will probably involved inlining recipes
● Silverstripe CMS 4.9.0 until this is figured out
Transitioning off CWP CMS Recipes
21. ● 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
22. ● 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