Today was just one of those days. You know, THAT day. When you wake up early, get online and think “this is going to be a good, productive day”. Then all hell breaks loose. 8 hours later you’ve found yourself coding and doing system work all day long and have NOTHING to show for it. That was my kind of day today. What broke & what I learned so you may possibly avoid the same issues or at least spend less time fixing them.
Ouch. The new UI is nice. They fixed some bugs. They patched some security holes. They didn’t document a DAMN THING when it comes to all the modifications in the core engine. You know, little stuff like how their hooks and filters were changed. The stuff that many third party Woocommerce add-on packs, their own add-on packs, and my custom PayPal tracking and licensing system utilize. That made for another long day after spending 4 hours reading their code to learn what they changed and patching those items yesterday. I don’t know how many other Woocommerce items broke yesterday, but I’m guessing it was more than just mine.
Today the PayPal IPN listener was not working. Turns out they completely removed the original AJAX listener that was, and still is, documented on their site as “how to get your custom PayPal buttons to record transactions in Woocommerce”. Thus, anyone that purchased the Pro Pack from within the plugin would not get recorded. No sale. No license. No fun.
Some of the hooks and filters that impacted me were the way the WC_Order methods are written, how to fetch an order from a PayPal transaction, and other niceties. If you have a custom processor for WooCommerce and PayPal and have issues, contact me at this site and I can share some of my hacks.
After HOURS of digging I finally discovered that I had to change my PayPal IPN settings for the new Woocommerce “feature”. Thanks Woo team for letting all of us IPN users know. Making the change was easy enough after reading code for 3 hours to learn what the heck they broke in Woocommerce, but…
PayPal, in typical fashion, has done half-a-job in making things work. Once I discovered what I needed to change to get the IPN working with Woocommerce I went and updated my IPN address in PayPal. Well, in a wonderfully useful moment of forward-thinking by the PayPal dev team, I learned that if you change the IPN service address TODAY then any transactions posted before TODAY will not use the new address.
OK, I guess I get that, but here is the fun part. I have several transactions from this morning that were sent to the wrong location. So I just change the setting to the new location, find the transaction, and click the “resend IPN transaction to your server” button. That should do it, right? WRONG. They never read the updated URL. Thus there is NO WAY to get those few wrong transactions to be put through to my server and “do the magic”. What a PITA. Because of this one simple issue I then spent another hour hacking Woocommerce so I could fake an IPN transaction without leaving a huge gaping security hole in my site.
Oh… and for the record, your PayPal IPN needs to be like this:
NOT the old-school /?paypalListener=paypal_standard_IPN setting.
However, not to be outdone, Microsoft decided to get in on the act.
Azure Code-word For…
I finally figured out why Microsoft named their new cloud service Azure. At first I thought it was some clever reference to the sky… you know, clouds are in the sky, the sky is blue, but Amex kinda took that word and marketed the crap out of it… so clever Microsoft came up with Azure. How cute. But then I figured out what it really means…
Servers are shutdown out of the clear azure… I mean blue…
Yup, that’s right. Here I was logged in to the middle of a log tracking session as a priv’ed user and suddenly out of nowhere I get a “Server being shut down for POWER OFF. Now.”. WTF?!?!? Yeah, that’s right. Microsoft decided to just shut down my server. I can’t get any answers from them as to what might have happened, how to look for potential issues, NOTHING. Not a word.
Thinking “there must be a plausible explanation for this” I spent another few hours scanning my server logs. Security breach? Nope. At least none that are recorded in ANY of the log files. Rogue shutdown command? Nope. Hardware fault on the virtualized “metal”? Nope. After looking at Unix & Linux system log files over the past 25 years it sure as hell looks like someone just plain hit the reset or power-off button on the hardware. For a virtual machine that simply means some dill-hole at Microsoft clicked the “power off” button on the wrong server in the host manager interface. No warning. No “let me check and make sure this is the right server”. Nothing.
Maybe Microsoft can prove me wrong and show me a memory fault, security breach, or some other internal-based explanation of how my server just shut down but I’ll be damned if I can find it.
I’m going to hold my breath until Microsoft responds.
Now that I think of it, maybe that is where they came up with the name Azure…. I’m already starting to feel a bit dizzy… think I’m turning Azure….
Quality of Service
I didn’t even touch on the complete suckitude of a system that Microsoft-owned Expedia produced that I got to deal with in between. When I get the occasional email from a Store Locator Plus customer saying things like “I can’t believe you can’t do X” or “how could you release a product with Y not working?” I always think of the “awesome quality” that everyone else can produce but I cannot. Yeah, I’m being sarcastic here. Today I got to deal with anything-but-perfect services that multi-million dollar corporations with big dev teams, QA teams, and a plethora of available beta testing users available and still have problems.
I guess for a solo act I’m not doing so badly.
At least today was not COMPLETELY wasted. I did happen to stumble across a few-dozen douchebag hackers from India, China, and Russia that have been trying to brute force my server. None got in, but it did remind me I need to get better security on my new server. That is content for another article. Maybe after I get some actual code written for Tagalong. At this rate I’ll be lucky to get that done before WordCamp Atlanta next week.