“When you set sail for Ithaca,
wish for the road to be long,
full of adventures, full of knowledge.”
― C.P. Cavafy
Moving from one host to another can be perilous. It can conjure up images of a tough journey on the high seas, over the midst of dark and troubled waters, past the point of no return, not knowing what lurks in the depths, to come to rest in the safety of Doubtless bay.
As soon as anyone says "website migration", I start freaking out… there are so many unknowns and so much work to do. Anything could go wrong and it usually always does. So how do you minimalise risks?
To be prepared for any sea expedition, there is a need for a good captain (that’s you), the support of a knowledgeable team that can help you get out of sticky situations (that’s us), a grand ship and a map to guide everyone safely through the obstacles that lie in front of you. That is where good documentation comes into play.
“Seaward ho! Hang the treasure! It's the glory of the sea that has turned my head.” ― Robert Louis Stevenson
We have recently migrated the userhelp and docs sites to Stack Share and along the way, documented our experience to guide you through the murky waters. We hope that it makes your SilverStripe Platform migration a lot smoother.
Setting up a Stack
A “Stack Schedule” was created by the team and provided all the information the Support team needed to set up the Stacks. More information about what is needed is available here.
Evaluating your website for SilverStripe Platform
We spent some time reviewing the existing code to determine if it would work on SilverStripe Platform. After reviewing the existing code, we started a conversation with the Support team to find out if the code was shipshape. This needed some back-and-forth conversations, but after a while we were confident about what we needed to do to have the sites run smoothly. Luckily the code examples had been updated recently, so that part was sorted for us. However, a custom script and website search stood in the way.
Refactoring non-compatible parts of your website
We needed to make some structural changes to the sites as we originally had a custom script, which ran on the old server, but now wouldn’t be compatible to run on SilverStripe Platform. We had to rewrite this to a BuildTask and then use the CronTask module to run the BuildTask once a day. This will pull in fresh content from the userhelp Git repository and framework docs folder.
In order to run the above services, we also needed to install a couple of modules. However, this was mainly smooth sailing as Composer did the heavy work for us here. If you aren’t already managing your SilverStripe site with Composer, then I definitely recommend it.
Migrating content and assets
SilverStripe Platform uses “Snapshots” to manage content and assets. You will need to follow the instructions to create your own snapshot and then upload it though SilverStripe Platform interface. As the documentation content was all in markdown files, managed by the docsviewer module, there wasn’t much we needed to do here, except for making sure that the module would work on SilverStripe Platform as expected.
Pointing your domain to Platform (Go live!)
We ran test deployments on both UAT environments and made changes to the code where needed. If all goes well with your testing, then point your domain to SilverStripe Platform. We give some tips and also a note about how to deal with SSL certificates. SilverStripe.org the domain has a wildcard SSL certificate setup to deal with all our sites, so we had to make sure this was all working fine.
We were lucky to have the help of our Support team who looked after us in this endeavor. You will have their knowledge and experience to help you on your journey onto SilverStripe Platform.
Stack Share was designed for digital agencies, if it sounds like it would suit your SilverStripe applications get in touch and we’ll get you going!