Today was another 14 hour day, I'm just about to head out, find dinner, and crash. But it has ended on a couple of high notes.
We released a new version of our Wallet last night (2.0c) which has an all-new UI that is a lot more user-friendly for Joe and Jane Average user. It also resolved a couple of support issues that had been on my plate (Professional Services is also Technical Support - and currently that means I'm personally fielding any technical support issues that our front line customer support person can't field. She handles the 'How do I fund my wallet?' kind of stuff, I get the "It blowed up real good!" stuff) and that was nice. But it meant that:
a) The existing install guide was no longer any good.
b) We needed an upgrade guide for people upgrading existing wallets.
The head of customer service had written an upgrade guide and she asked me to look at it. I decided it really needed a redo, but I was so busy all day I didn't get started on it until late this evening. So I redid the document, taking screen shots of every step of the process, to make it a complete hand holding experience. Then, since I was at it, I used the same basic document to create an install guide - with the appropriate screen shots. She logged on a little while ago from home for some reason and email me some praise (CC'd to a number of people), which was a nice thing after today's crush.
But even better was... Well, I need a little background first. See, our payment system is currently used in two main applications - PayCash (web) payments and the 7-Eleven VCom Kiosks. To try to keep life manageable, both for us and the merchants, we have one set of scripts that have logic in them to determine which context they current transaction is in. Since both cases share extensive bits of the order logic, it means merchant's only need to integrate one set of scripts if they'll be using it on their website and they'll be on the kiosk. And merchants who are on just one or the other don't really need to pay attention to the other branch's code at all.
OK? Well, for several months we've been focusing almost exclusively on the Kiosk market. Once I'd done the original Perl port of the scripts and tested the PayCash case, I never really tested them again. It was all Kiosk work. And there have been some *extensive* changes made to the scripts. Several files merged into one library, all of the configuration moved into XML files, etc. All through this the kiosk code was tested with an emulator we (well, my boss mostly) created. But we never tested the PayCash code during the changes. In fact, a few weeks ago when I had to reinstall my laptop, all my test harnesses were wiped out.
So last night I started reinstalling things, and I finished up tonight after I turned in the docs. Installed a new Cash Register, Web Adapter and Demo Wallet. Configured everything and created a demo store page to initiate the transactions...
It worked first try. And all subsequent tries. :-)
Not that I didn't have any confidence in my work, since i was careful. But there was that kernel of doubt. I figured with all the code moving around, and the complete replacement of the configuration system, there was a decent chance that something had busted.
But it works, and that makes me happy. I'll have to do some more serious bashing upon in the morning, but at this point I suspect it would've blown up if it were going to.
Maybe later I'll tell the story about how last week we discovered that, for around a year, email to 'techsupport' was being filed in an Exchange folder that no one was checking, and how I completely mucked it out over the past few days. On top of everything else. (See, there is 'support' and 'techsupport' - 'support' is the one widely published. But sometimes people would just blindly email 'techsupport, and then there were cases forwarded by 'support'.)