Today I will introduce you to my new friend, Sandbox. In software development, a Sandbox is..
a testing environment that isolates untested code changes and outright experimentation from the production environment or repository
In my case, I use Sandboxes to create separate versions of a web site both in my test and live environments. In the past I’ve made changes to my “only” test version then, whilst in the middle of this, have been asked to make a minor change to the live environment. Unfortunately my test setup is now in a non-prepared state so I’ve left making untested changes to the live system or creating another test environment from backups. All annoying.
So, in the case of the BMTG site, I’m in the process of making a LOT of changes. Few will be noticeable, but the back-end code will be changed dramatically, including a long-time-coming conversion to XHTML. So I’ve setup a Sandbox – in essence a separate test version of the site. The Sandbox I can play with all I like but the “normal” BMTG test system remains for on-going changes. Unfortunately, I have to make sure I make any of these changes to both test systems, or they will become out-of-step with each other.
Equally, I then test this sandbox test environment by uploading it to a separate URL from my live code. So, the BMTG Sandbox is at, www.bmtg.org.uk/sandbox. Try it if you wish, but if nothing displays or you get errors, don’t be surprised.
As part of my Sandbox changes I’m looking very keenly at improving site speed. I’m documenting what I find, so look out for a Blog entry soon on that subject.