Upgrading from SilverStripe 3
We have been talking with some of our clients about upgrading their SilverStripe 3 websites to SilverStripe 4. For the benefit of others who might be investigating or considering this we thought we’d write an informative post.
We committed to using SilverStripe as our preferred Content Management System (CMS) in late 2016. Before then, with the exception of a large SilverStripe 2 instance for a government intranet, we had been using Drupal.
I won’t go into detail about why we made that decision but we found the switch to SilverStripe really refreshing and our customers certainly appreciated the simple and easy to use admin interface. It gave us a very powerful CMS but also provided a great framework for custom development when considering a future technical and/or product roadmap.
It was around that time also that the government’s Common Web Platform (CWP) was formed and SilverStripe was core to that initiative and underlying technology stack.
On reflection it was a really good decision to move away from Drupal and focus on SilverStripe.
Now that a few years have past and with SilverStripe 4 in full flight we have been working on upgrades from SilverStripe 3 to SilverStripe 4. We have been engaged by government clients using the CWP and also private customers.
Major upgrades like this are tricky business and the effort involved really comes back to the complexity of the codebase, documentation and, of course, how well it was originally written and subsequently maintained.
We see quite a few SilverStripe websites that have been heavily customised to change the look and behaviour of the standard CMS administrator interface. This sort of customisation along with the modules used can greatly impact what is involved.
If you have found this post you may already know why upgrading is important but for clarity’s sake let’s start there.
- Having secure and maintainable code is important (this doesn’t need explaining any further).
- Being proactive about a major upgrade means that you can plan carefully and use it as an opportunity to simplify, improve and consider any future roadmap/plans.
- Keeping up to date means that your users will have a faster, more consistent and enjoyable experience across modern browsers and devices.
Musings for technical minded people
- SilverStripe 3 supports up to PHP v7.1, with no indication of supporting anything greater.
- SilverStripe 3 has limited support until 31 September 2020, however the latest PHP version it supports is supported until 1 Dec 2019
Should you continue using SilverStripe?
Here are some benefits of SilverStripe 4.
- Richer and faster user experience in the CMS, easier file management, better internal link tracking.
- Faster website in general, through better class management & compatibility with PHP v7.3 which is at least 30% faster than PHP v7.1
- Even more secure, with only the necessary / required files being accessible from the internet.
- Enhanced versioning support. SilverStripe 4 was designed to allow everything to be versioned (unpublished, draft & published states), meaning more flexibility when publishing new sections of your website.
- Campaigns - the ability to “queue” draft changes and have then all go live at the same time.
- Supports the latest versions of PHP.
- SilverStripe 4 is officially supported until late 2022.
What it means for government clients on CWP version CWP 1.6 needing to go to CWP 2.0.
- Effectively a complete upgrade of the core system.
- Upgrade of existing modules (where possible) or replacement for modules that cannot be migrated.
- Likely some custom coding modifications will be necessary to cater for the updated structure, depending on current codebase.
- Potentially some custom import/export of existing data, depending on current codebase and content plan.
- A period where a secondary CWP instance (UAT & production) will be needed for the transition & testing.
A look at the roadmap for SilverStripe.
- SilverStripe 4 is supported until late 2022 (road-mapped)
- SilverStripe 5, although now in early development, is planned for first release in late 2020, after which is will probably need another 6 months before all the bugs are worked out.
- Although it now supports php v7.3 (latest stable, supported until 6 Dec 2021), this will increase with newer releases for the foreseeable future, so should cover supported PHP versions within its support window.
More information on the SilverStripe roadmap can be found here.
We think SilverStripe is a great CMS with a thriving community behind it. How you approach an upgrade and if you should continue using SilverStripe largely comes down to your current codebase. If you would like to talk with us about upgrades please get in touch.
Share this post: