This week’s top priority is replacing the “master response” analysis system with the “filtering” system. A few minutes ago I made a commit to begin that process. Things are a little ugly right now. This change is non-trivial and required removing an entire database table, condensing two company permissions into one, and modifying or removing numerous SOAP operations and data types. Everything is patched up on the PHP side, but on the Flex side, I just commented out some buttons (and screens, by extension) in order to get the rest of the application to compile; they haven’t actually been adjusted in accordance with the changes in the back-end yet.
In the process, I encountered YAAEF. Big surprise, right? Well this one is just utterly ridiculous. Since the master response stuff had to go, the SOAP operations attached to it had to go as well. It turns out that Flash Builder’s auto-generator fails epically at removing SOAP operations. As in, it doesn’t.
Yes, you read that right. You remove a SOAP operation, and Flash Builder just closes its eyes, plugs its ears, and starts whistling, “I can’t hear you!” It’s not even enough to manually remove the multitudes of now useless generated files; the FML file still holds data on all the operations you removed, so you have to go through the FML file and manually strip out all the references to the removed operations and data types as well. Fortunately, the FML file is actually valid XML, so you can use an XML editor to make your life a little easier. And trust me, you’ll want to, because without one, the file is more impenetrable than the WSDL it was generated from. I have no idea why Adobe decided they needed a new file extension; not using .xml for an XML file is an epic fail unto itself.
The real question is why it doesn’t remove the damn stuff for you! It’s not as though it’s useful to keep the code hanging around; the only thing that does is make your life a living hell by making it so the code still compiles, but fails at run-time because the referenced operations don’t exist any more. Seriously, I don’t get this at all. I’ve run into a lot of epic fails where Flex is concerned over the last six months (holy crap, I didn’t realize I’d been at this for that long until just now!) but somebody over at Adobe really dropped the ball on this one.
While I was in the middle of doing all that, Matt was having fun styling our application, specifically, trying to embed fonts. Professor Danneels also e-mailed us to ask whether we’ll finally have our infamous beta release on Friday as scheduled. Right now, I have no clue. I sure hope so, but there’s still a long way to go in a short period of time. Implementing the filtering is going to require creating a new screen, refactoring some existing screens, creating a new singleton, and implementing some new SOAP operations at the very least.
The good news is that the rest of my week is fairly open, so there’s a decent shot this can be accomplished. All-day coding marathons, here I come!
Pingback: Flex Sucks: Greatest Hits! « CaptainRichard's Blog