SocialEngine, as with most software, periodically releases new versions. These version releases can range from small quick patches for bugs all the way up to full version updates with new features. If you’ve customized your SocialEngine websites in order to have a unique site that matches your vision, you may be asking “when should I upgrade?” That’s a great question! This article should help answer it for you.
Generally, we recommend that you upgrade with each release just to ensure that you are on the most up to date code. However, a site with core customizations or custom plugins might have different considerations than a stock installation with no custom features. Each release, whether big or small, needs to be evaluated for your own site’s needs.
Suggestions for before we get started
- Make a development copy: Your SE PHP license allows you to install one public instance of your site as well as a second private development instance. When doing any work to your site we highly recommend that you do everything on your private instance while leaving your public instance untouched. This will allow you to work out any bugs without bothering your users so when you are ready, you can present a beautiful, clean, bug free site update.
- Do a backup: Remember Schofield’s words and keep them close to your heart at all times, “Data doesn’t really exist unless you have at least two copies of it.” The sad fact of development is that things can go awry. Always prepare for worst case scenario by creating regular backups of both your main site and your development site. That way, if the worst happens, all you have to do is restore.
Okay! Now with that out of the way, on to the good stuff. When should you upgrade if your site is customized?
For small patches, we generally will show a “changelog” for how to manually add the fixes to customized sites. You would not need to run a full upgrade in this case. You could either add the code fixes to the files yourself, or have your developer do them for you. Either way, make a copy of the files you’ll be editing so you can easily restore them if needed.
In-Version Releases (4.8.12, 4.8.13, etc)
These can contain important bug fixes, small improvements, and even security fixes. You’ll want to evaluate what’s included in these releases and weigh whether it’s worth upgrading or waiting for a major release. For security fixes, we recommend to always upgrade. If it just contains bug fixes that aren’t impacting your site or improvements that you don’t need, you could wait until a major release.
Major Releases (4.8, 4.9, etc)
These releases warrant the most consideration. They tend to contain bigger improvements, more bug fixes or deeper fixes that can’t be released in a minor version, and can also contain security fixes or improvements. In most cases, you’ll want to upgrade to a major release. You’ll definitely want to test this on a development copy of your site as it could impact third party plugins. We recommend contacting any developers whose products you use and ask them if there is an update ready, or if there will be an update for the products you use.
Wrapping it all up
For each of the above scenarios, you’ll want to plan your upgrade carefully. Anything that can impact your members might cause them stress. The good news is all you need to do to avoid undue stress on your user is to prepare ahead of time. You could keep your users informed by posting announcements about the upcoming changes/maintenance or even start a thread or blog to allow them to ask questions and allay any fears they might have of impending changes.
One more thing
Timing is very important. When planning your upgrade, try to make it for a time that is least active for your site. Set the site to “maintenance mode” in order to avoid members coming on and making changes while an upgrade is taking place. Even with a development site test done, you still can experience issues on a live site that aren’t seen on the inactive development site. Give your members a place to post bugs or contact you with issues. As long as you keep your members informed, they’ll feel more secure and will be less likely to panic if something acts up.
“Obstacles are those frightful things you see when you take your eyes off your goal.” ~Henry Ford