Naija Airways!!!!!

Good morning, ladies and gentlemen. This is your captain (Boniface) welcoming you on board of Nigeria Airways. We apologize for the four-day delay in taking off, it was due to bad weather and some overtime I had to put in at the bakery.

This is flight 126 to Lagos. Landing in Lagos is not guaranteed, but we will end up somewhere in the south. If luck is in our favor, we may even be landing on your village! Nigeria Airways has an excellent safety-record. In fact, our safety standards are so high that even terrorists are afraid to fly with us!

It is with great pleasure; I announce that since starting this year over 50% of our passengers have reached their destination. If our engines are too noisy for you, on passenger request, we can arrange to turn them off!

To make your free fall to earth pleasant and memorable, we serve complimentary Bongo tea and Okin biscuits! For our not-so-religious passengers, we are the only airline who can help you find out if there really is a God!

We regret to inform you, that today’s in-flight movie will not be shown as we forgot to record it from the television. But for our movie buffs, we will be flying right next to Al Barka Airlines Plane , where their movie will be visible from the right side of the cabin window.

There is no smoking allowed in this plane. Any smoke you see in the cabin is only the early warning system on the engines telling us to slow down! In order to catch important landmarks, we try to fly as close as possible for the best view. If, however, we go a little too close, do let us know. Our enthusiastic co-pilot sometimes flies right through the landmark!

Kindly be seated, keep your seat in an upright position for take-off and fasten your seatbelt. For those of you who can’t find a seatbelt, kindly fasten your own belt to the arm of your seat …and for those of you who can’t find a seat, do not hesitate to get in touch with a stewardess who will explain how to fasten yourself to your suitcase.”

Flash forms and how not to upgrade CFMX7

When the honchos at work decided to put some business processes on the intranet, I felt it was the best time to start putting flash forms to its paces. Process automation could be fiendishly difficult with so many validations. I hardly use JavaScript because some dude could have its browser saying capital NO. And server side is not the easiest stuff to do, and the roundabout trip could make the sanest man go schizo! With AS2, and some codes stolen from Flex, client-side validation in flash forms is so lovely. Work gets done fast, server-side codes are more compact and reusable.

I did some work at home over the weekend, and it worked beautifully. I was impressed and couldn’t wait to wow my colleagues. Now, time for the production server to play host, and duh! The application fell flat on its face. One, the <cfformitem type=”text” and type=”htm” refused to show. Two, clock icon continues ticking forever and three, worst of all, data wouldn’t load into the forms.

The honchos didn’t waste much time asking for my head on a platter. I started looking for answers. Didn’t get much except for a clue from Ray Camden about bad CFIDE mapping. I compared my settings with the dev servers but it was fine. Along the line, I discovered that only servers that were upgraded from CFMX6.1 have same problem (oh, my app was tested on all the servers in the world!). I did a double take; sent out an outtage report and downed the production server. Copied my settings, uninstall the CFMX7, deleted every trace, and reinstalled and presto, life came back to me. The app worked, the honchos smiled and I had a pizza.

The trouble came from a ‘wonderful‘ trick of replacing your CFIDE in wwwroot (default settings for Windows/IIS6 install) with the old one from CFMX6.1 when you upgrade to CFMX7. Because we are one of the early adopters of CFMX7 around my end, I just looked for what seemed to be the smartest upgrade method on fullasagoog. Only God knows who thought it was smart, but I did it.

Leveraging on the Active Directory: Base/Foundation Services

Since we have decided to use the AD as the user management foundation for the different web applications running on the network, it’s now so easy to write applications without worry. But won’t it be nice for users to login on one application and remain in session across multiple applications just like you have on yahoo, msn, windows network, etc.? Why should a user login into different applications? It’s no consolation that the security credentials are the same.

Now, Windows have the same facilities, which is evident for those who have used Outlook Web Access (OWA). If you are authenticated against the domain in which OWA is residing, you wouldn’t be prompted to login again. I tried so much but couldn’t lay my hands on any reference. It should be some obscure ActiveX somewhere…

So, I set out to design what we call a base/foundation service (BFS) structure. This is an application that authenticates a user against the active directory and keeps the session information in a database. When a user attempts to use an application, the app queries the BFS to know if the user is logged in and what the security credentials/profiles are. An application must be registered and talks via secured connection (web service over https) before it can query the BFS. The sessions are tied to machines, and it has a scheduler that runs the timeout processes.

We use an oracle database so that the applications could survive a crash and also allows clustering. ColdFusion itself could use a database for session management in clustering.