Best practices don’t always guarantee best outcomes. In such a case, it pays to have a backup plan. ZDNet’s David Gewirtz tells a personal tale of good intentions, great preparation, and total failure after volunteering to upgrade a popular plug-in for WordPress.
Rise and Fall
Gewirtz was coming off an 18-month bender writing academic papers when he stumbled across a GPL open-source WordPress plugin that needed a new developer. So he rolled up his sleeves, turned his weekend house chores over to contractors, and set about upgrading “Seamless Donations,” a cash flow mechanism for nonprofit sites.
The efforts that followed were enough to fill roughly 360 of his weekend and evening hours and drained about $1,000 in expenses out of his bank account. The result was a plugin that beta tested with no noticeable flaws, that converted a base of “monolithic” code to one that was modular and extensible (i.e. – compatible with WordPress), and that took into account a slurry of user requests. On top of it all Gewirtz, sensitive to the fact that he was handling a cash flow function for business, built two systems into the same plugin to prevent the upgrade from harming code on the host websites.
It was all for naught. Version 4.0 of Seamless Donations was nothing like a seamless transition. Instead, the plugin crashed hard due to a file naming error in the live environment. Basically, without the old PHP file (Gewirtz put it in the “old system” folder because he read it was best for the main plugin file to share a name with the main plugin folder) WordPress didn’t recognize the new system.
Here’s What He Learned
The lesson, in this case, is that no amount of preparation and due diligence can prepare you for certain failures. The good news is that you can always resurrect your efforts. For instance, Gewirtz immediately contacted WordPress support and then, upon their advice, went about apologizing voraciously to the thousands of nonprofits affected by the plug-in error. He posted a “how to upgrade” page explaining how the plugin-could be installed without error. In the end, the release really was a success, but a hard-earned one.
Read the original article at: http://www.zdnet.com/article/my-open-source-wordpress-plug-in-lessons-learned-from-a-release-gone-wrong/