A web developer. First met Silverstripe in 2008 (v2.2), haven't really looked back much since.
In 2016 I joined the mothership.
Upgrading things has been my job for the past 8 months.
Now.
1 2 4 3 16
vendor, resources, public, app
Learn to love the vendor-expose
New exposure, new format
vendor/module: path/file.ext
Middleware
Object
is gone
Traits
are in
What does it take?
Ensure your environment.
Update composer.json
and support files
Shape up your code.
(optional)
I recommend namespacing it.
use
your PHP dependencies
Class strings UsedClassName::class
Namespaces, NAMESPACES EVERYWHERE
Expose static assets
A namespacing of sorts
Requirements::css('silverstripe/cms: client/dist/styles/bundle.css');
"extra": {
"expose": [
"client/dist",
"client/lang"
]
},
Alter your template files to match Namespaces
Update your configuration .yml
With Namespaces.
I'm glad you noticed.
composer global require silverstripe/upgrader $VERSION
Convert _ss_environment.php
to .env
upgrade-code environment
Update your composer dependencies
upgrade-code recompose
Generates an .upgrade.yml
upgrade-code add-namespace
and updates all references in your code
upgrade-code upgrade
Identifying potential problems for you
upgrade-code inspect
Helps you migrate to public/
upgrade-code webroot
Move project from mysite/
to app/
upgrade-code reorganise
Well… Every software has it's trials.
"repositories": [
{
"type": "vcs",
"url": "/path/to/fork-repo.git"
}
],
"requirements": {
"us/module": "dev-update-compatiblity as 4.1.1"
}
Thanks.
Questions?