Oct 03

For anyone who uses a software lifecycle process like FLiP to make clickable prototypes and hash out web applications with their clients, I ran into an interesting and frustrating problem today that you might be interested in. I have been using FLiP and specifically Adalon to generate a wireframe and ultimately a clickable prototype of a monsterous extranet application I’m building for Arizona Behavioral Health Corporation. FLiP involves more work up front but it’s really paying dividends in terms of helping us to unearth requirements that we missed in the brainstorm and wireframe phases. I made a mock application that consisted of static HTML pages that will look exactly how the screens appear in the app itself, only all the form controls are dummy controls simply linked to other static pages and don’t actually send any dyamic data. I did this by just href’ing the buttons to the target result pages and it worked great in both IE and Firefox when browsing the files on my laptop’s filesystem (not on a webserver), however when I posted the mock to my production server to demo to the client, I failed to retest the prototype in both IE and FF and only checked FF. Since it had already worked in both on my laptop it seemed like a fair assumption that just checking in one was adequate on the webserver. Apparently IIS 6.0 has this great ummmm error checking feature (ahem, annoyance) that disallows sending form data to staic pages and instead throws the following error:

HTTP Error 405 – The HTTP verb used to access this page is not allowed

The confusing thing is that it only throws this error for IE. I would think an error generated on the server-side would display regardless of the browser and I have no idea why Firefox works fine and IE doesn’t. If it were a real live application I would welcome this type of error since obviously it does no good to send form data to a static page. But for the purposes of my prototype this caused major pain today. It would be nice if there were a setting I could choose in IIS to the effect of “thanks for your concern IIS, but really, just serve my pages and don’t tell me how to write them” but alas, IIS insists on enforcing this error checking. I do know that this is the workaround that finally solved the problem: I had to manually go through each page that had a form on it and do two things:

  1. Change all method=”post” tags to method=”get”
  2. Specify the desired linked page under the form action tag as action=”blahBlahResults.htm”

Unfortunately I had arrived today at ABC to meet with the entire staff and get feedback on the prototype. After I went through it in FF with the CEO, he sent out a staff email and told everyone to check it out. Of course everyone else was on IE and the phone started ringing off the hook with people who couldn’t get in and it took me an hour battling this issue along with learning how to rollback revisions in the Subversion repository using the “reverse merge” technique. Once I wiped the egg off my face though, we made some great progress today and got a lot of good feedback from the actual people that will be using the app. I definitely see the advantage now of using a software lifecycle process like FLiP to uncover features and usability issues before ever writing a line of application code or modeling a database.

© 2005 Lights Out Production – All Rights Reserved Worldwide

5 Responses to “Workaround for IIS 405 error when using dummy form controls for a prototype”

  1. Joshue O Connor says:

    Thanks for your info on Dummy logs. I found it useful as I had a similar problem.

    Cheers

    Josh

  2. Craig M. Rosenblum says:

    Are FLiP and fusebox connected to each other, can i learn one with out the other?

    Just curious..

  3. Sean Tierney says:

    Indeed, they are totally independent of one another. I’m using FLiP now to map out the application for a large extranet project and oddly-enough, we may end up doing .NET on the backend with only pieces in CF. So yes- FLiP is framework-indepenent (as well as language-independent) – it’s more a process for eliciting true business requirements and ensuring that the client gets exactly what he/she wants. Conversely, Fusebox can be programmed without using FLiP.
    Google "flip coldfusion" to learn more- Hal Helms has great material on his site and I believe there’s actually a book out there somewhere.

    sean

  4. Ted R says:

    I was having a huge issue with this in IE trying to create a dummy form that really didn’t do anything. Your info has made me a happy man!

  5. Ted R says:

    I was having a huge issue with this in IE trying to create a dummy form that really didn't do anything. Your info has made me a happy man!

Leave a Reply

preload preload preload