Condom in the rain

A woman was having a daytime affair while her husband was at work.  One wet and rainy day she was in bed with her boyfriend when to her horror, she heard her husband’s car pull into the driveway.  She looked out the window and yelled to her lover:

“Quick, jump out the window; my husband’s home early!!!””I can’t jump out the window!” Came the strangled reply from beneath the sheets. “It’s raining out there!”

“If my husband catches us in here, he’ll kill us both!” she replied. “He’s got a very quick temper and a very large gun; the rain is the least of your problems!”

So the boyfriend scoots out of bed, grabs his clothes and jumps out the window! As he began running down the street in the pouring rain, he quickly discovered he had run right into the middle of the town’s annual marathon.  So he started running alongside the others, about 300 of them.  Being naked, with his clothes tucked under his arm, he tried to blend in as best he could.  After a little while, a small group of runners that had been studying him with some curiosity jogged closer.

“Do you always run in the nude?” one asked.

“Oh yes!” he replied, gasping in air. “It feels so wonderfully free.”

Another runner moved alongside. “Do you always run carrying your clothes with you under your arm?”

“Oh, Yes!” our friend answered breathlessly. “That way I can get dressed right at the end of the run and get in my car to go home!”

“Then a third runner cast his eyes a little lower and queried. “Do you always wear a condom when you run?”

“Nope… just when it’s raining.”

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.