A few months ago, a new developer joined our team. He has made our development environment more efficient and enjoyable, and we just generally like having him around. Kyle has spent the last few months committing lots of bug fixes and minor features to Ninja Forms, as well as working on our extensions. The upgrade handler that ships in version 2.9.12 is the first major feature that Kyle has led development on, and we think that you’ll be very happy with the results.
The upgrade handler makes upgrading easier and more stable. In previous versions, when we’ve needed to modify the Ninja Forms database, such as converting to notifications (2.7) or the recent form database update (2.9), we would add these upgrades individually. This meant that if you skipped an update or two, you might see several notices with different upgrades that needed to be ran when you finally updated. Unfortunately, these didn’t appear in any particular order, which meant that it was fairly easy for an upgrade to go wrong. With version 2.9.12, there is one upgrade notification that runs all necessary upgrades in order.
If there are any upgrade errors, you will now be shown the specific error code, and processing will halt. This error can then be passed along to our support team to help us track down any bugs. Previously, errors were output solely to the browser’s developer console, which wasn’t useful to many users.
It also makes the process smoother by leaving you on one page while the upgrades are performed. This means that if you are updating from any 2.x.x version, there is one button to click. The upgrade handler will then show you a list of updates and run them in order. Once the process is completed, you’ll be notified.
In testing, we were able to convert an installation from version 2.0, which was released way back in January 2013, to version 2.9.12 without losing any data. All fields, emails, and form settings were upgraded without a hitch. Needless to say, we think that Kyle has done an amazing job, and we can’t wait to see what he adds next.
If you want to read more about the development process behind creating the new update, head on over to Kyle’s blog. He’s in the middle of a series detailing our thoughts and decisions related to the upgrade handler.