Yes, you read that title right. It hasn’t even been 2 months yet and I’m gonna be rocking a rewrite. I’m going to briefly go over what’s happening here and why I decided to do a rewrite.
Numero Uno: Reliability on ACF
When I wrote the plugin, I designed the codebase on the assumption of the existence of Advanced Custom Fields. It was awesome! It was a breeze to add new fields and an options page. The world was my burrito. I even added a fallback to check to see if ACF was installed first. Everything was grand. Until…someone tried to use ACF in include mode. Whoops. This essentially disables ACFW. What I should have done was write all of the options pages, fields, etc using the built in WP methods (or at least a different framework than ACF). I’ll probably still do a check for if ACF is activated in the plugins menu, but it won’t be paramount to the plugin running at all (though lets face it, without ACF, ACFW is basically useless).
Numero Dos: License Activation Callback Hell
I made another mistake. I’m using Pippin Williamson’s Easy Digital Downloads and the Software Licensing Add-on for the sale and distribution of ACFW. It’s awesome! There were some preliminary hiccups to get the ball rolling but eventually it was all working. (P.S. If you’re trying to setup an offline store and a test site on the same IP you may have problems.) However, I screwed up in the implementation. I didn’t use any sort of caching on the license because I figured, “Who needs it?” Big mistake. One of you awesome people downloaded my plugin and found it so useful, you used it on your own site. I couldn’t be happier! Except, that your website got almost 700,000 hits last month and each one of those made a call to the license API on my site. The lovely folks over at Siteground (disclaimer: affiliate link) shut me down for exceeding my monthly allotment of script executions. Whoops. Thankfully, they were gracious enough to set me back up under a few conditions, AKA, fix your shit Daron because you don’t pay us enough for this. I completely agree. Not only was that causing unnecessary load on the server, but extra load on everyone else’s servers too. It’s not fair to anyone involved and I want to make things right.
Numero Tres: General Code Sloppiness
Yeah, I said it. Go take a look at the codebase. Right now, it isn’t super terrible, but it isn’t absolutely glowing either. Things aren’t commented, functions aren’t named the way they should be; it’s just an all around shoddy job. I plan to at least improve on the codebase. I doubt it will be perfect (in fact I know it won’t be), but things will be better than what they are now.
In conclusion, I would like to thank all of the early supporters of the plugin! You have not been forgotten! As an incentive to those reading this, anyone who buys a license between now and the release of the rewrite will receive a free upgrade to a developer license, so jump on it! I’m giving you a chance to essentially profit off of my mistakes. If you already hold a license (that you payed for), you can shoot me a tweet @DaronSpence with your ACFW username and I’ll upgrade your account just to say thanks for sticking around!
Happy new year everyone! I look forward to all that 2015 has to offer!