Upgrading to SilverStripe 4: Is it Time?
The vast majority of our clients use SilverStripe as their content management system. It's fast, flexible and easy to administer, which is why we frequently recommend it when we're asked to build a new website.
Recently — alright, maybe not so recently anymore — SilverStripe released version 4 of their CMS. This is a major overhaul of the platform adding several significant features and optimizations — some which are long overdue.
TANSTAAFL, however, so those of us with SilverStripe websites have to carefully consider the benefits of the upgrade versus the costs. We recently updated this website — and a few others — to SilverStripe 4 and thought we'd share a bit about our experience and why you may/may not want to undertake an upgrade yourself.
So why would you consider upgrading to SilverStripe 4? There are plenty of reasons — all detailed in the introductory documentation on the SilverStripe website — but we wanted to point out a few of those that we've found most relevant to those who spend their day-to-day activities inside the CMS.
Faster, Friendlier CMS Interface
The CMS interface has been completed redesigned. It's now mobile-friendly, which is great news for anyone who has tried to edit content from their mobile phone on SS3 — it was a frustrating experience to say the least! It's also much snappier, having been reworked in React JS.
More Control Over Publishing with Campaigns
SilverStripe 4 introduces a new "Campaigns" section that allows you to manage sets of content updates across multiple pages as a single unit. So, if you're launching a new product or service, you're likely adding information about it to a bunch of different locations across your site. Maybe you're also preparing a blog post at the same time to announce it.
With campaigns, you can have a bunch of different people collaborate on all of those changes, and then publish them all together with a single click. It really makes it easier to manage your site as a team.
Files and images are now versioned in the same way that pages are. That means that you can update graphics or pdfs and schedule them for publication in the same way that you do with your other content.
Additionally, SilverStripe 4 introduces the concept of object "ownership", which makes it much simpler to tie publishing of a child object to a parent page. If you've ever had some child content unexpectedly show up — or not show up — on the published site, you'll understand why this is a great feature.
End of Life for SilverStripe 3
Finally, along with the carrot, comes the stick. Limited support for SilverStripe 3 ends officially in September of 2020. The end of the "full support" period has already passed.
Why Might You Hold Off?
These are great features, to be sure. But it's important to consider the downsides to the transition as well. Here's what we've found to be most challenging for both our developers and our clients.
Upgrading is Non-Trivial
The more custom code you have on your site, the harder this is going to be. Upgrading starts with a hit-or-miss search and replace script that runs on your custom code files and updates class names, include dependencies and other aspects of your source files. It gives you a good start on the upgrade process, but it's not automatic.
If you don't have any test cases, you're gonna have a bad time.
New Server Requirements
SilverStripe 4 now requires PHP 5.6 (works best on 7.2), along with the INTL extension. These aren't esoteric requirements, but if you have an old server or VPS, it may be a bit tricky to get these installed, especially if you're dealing with other sites or services running on the same system.
So, Should You Upgrade? In Most Cases, Yes.
SilverStripe 4 was released at the end of 2017 and we've put off generally recommending the upgrade until we had several migrations under our belt and felt that the major kinks had been worked out of the process. While the difficulty of the upgrade will vary and should be considered on a case-by-case basis, in general, it's definitely time to start putting things on the calendar.
If you have a SilverStripe site that you're interested in upgrading and would like to chat, please feel free to drop us a line.