Currently, I’m working on doing some file comparisons for a SampleManager 10.2 upgrade. As I work through the code to verify which changes are upgrade changes versus those that are customizations, I was thinking about how I’m seeing quite a lot of good habits. It occurs to me that, if I want to see good habits from everyone, I should tell you what some of them are:
1. Save all your base software versions. If you upgrade to version 10.2, save that entire 10.2, somewhere. If you have one site on 9.2 and another on 10.2, save both of those. These days, storage is cheap. There’s no reason not to do that. Don’t forget to include anything else that you install on top of the base version, such as SM-IDI. Save it somewhere easy to access when you do your next upgrade.
2. Good comments on file upgrades and fixes. Let’s suppose that you are running version 9.2 but that you run into a problem and Thermo gives you a new file from something like 10.2 or that you go to 10.2 and find that your problem is fixed, there. When you drop the file in with your 9.2 installation, put a comment in the top that says that. Let’s suppose that your next upgrade is to 11.0. At that point, you might find that that file looks nothing like your base files for 9.2 nor does it match what is in 11.0. And, let’s suppose that you don’t remember that specific file and why it was changed or that someone new is working on the upgrade. They’re now left to wonder if the vast differences are due to some uncommented customizations or merely some rework done for the upgrade. Likewise, if you put in something that is a fix from Thermo, mention what it is by commenting all the additions. That way, if the same thing is fixed in the next upgrade, but in a different manner, it’s easier to determine whether the code that was added is obsolete and the newer upgraded file can be used.
3. Leave the standard files alone. As much as possible, leave the standard files alone. These need fixes for bug fixes and such but keep customizations out of them as much as you can in order to make upgrades simpler.