Wow, is about all I can say at the moment. Ask and ye shall receive. Thanks so very much. I can see I'll be busy this weekend.
Thank you!! > -----Original Message----- > From: Scott Cadillac [mailto:[EMAIL PROTECTED]] > Sent: Friday, February 07, 2003 12:35 PM > To: [EMAIL PROTECTED] > Subject: Re: Witango-Talk: User Woes > > > Hi Jamileh, > > The special reserved Local$httpHeader variable allows you > control to a large degree the HTTP Response Header the > precedes your HTML output. Witango v5 gives even more control > and features with regards to Headers. > > The HTTP Response Header is what tells the browser what is > being loaded, such as file type and when to expire the file. > Here is a quick little lesson I found on www.google.com that > might help you get started. > > http://www.oreilly.com/catalog/httppr/chapter/http_pkt.html > > Here is a basic example I use for all my Witango apps to > immediately expire my TAF file page content: > > <@ASSIGN Local$httpHeader VALUE="Content-Type: > text/html<@CRLF>Cache-Control: no-cache, max-age=0, must-revalidate, > proxy-revalidate<@CRLF>Pragma: > no-cache<@CRLF><@USERREFERENCECOOKIE><@CRLF>"> > > You can assign this variable just about anywhere in a TAF > file I believe - but it's good practice to do it before any > output just in case you are using PUSH in a TAF. > > Keep in mind that when you write to the Local$httpHeader in > Witango, that it overwrites the default HTTP Header Response > from Witango/IIS so you MUST include the > <@USERREFERENCECOOKIE> metatag with your assignment - else it > can break the user session. > > To see your HTTP headers in action, you can use a proxy trace > tool or the Fake tools I have on my web-site at: > > http://xml-extra.net/webpage.xmlx?node=6 > > FakeBrowser allows you to see your Witango HTTP Response > Headers when requesting a file to view, and FakeServer allows > you to see incoming HTTP Request Headers to a Server from a browser. > > I also found a more advanced trace tool at the following URL, > which also traces SOAP Service calls, as well as normal HTTP > (the SOAP protocol is just HTTP with some extensions afterall): > > http://www.pocketsoap.com/yatt/ > > This is what you see when you open www.witango.com with FakeBrowser: > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > HTTP/1.0 200 OK > Server: Microsoft-IIS/5.0 > Content-Location: http://www.witango.com/default.html > Date: Fri, 07 Feb 2003 18:22:39 GMT > Content-Type: text/html > Accept-Ranges: bytes > Last-Modified: Wed, 07 Aug 2002 13:30:23 GMT > ETag: "801395163ec21:8a9" > Content-Length: 751 > > <html> > > <head> > <LINK REL="SHORTCUT ICON" > HREF="http://www.witango.com/WinEditor.ico"> > <meta http-equiv="content-type" > content="text/html;charset=X-MAC-ROMAN"> > <meta name="generator" content="WithImagination Pty Ltd"> > <title>Welcome to Witango</title> > </head> > > ..... more HTML...... > > ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ > > Notice the 2 carriage-returns after the HTTP Header? This is > what separates the Header from the output content (in this case HTML). > > There is a very wide range of possible HTTP properties to use > and can allow you to do all sorts of things like force file > downloads and automatic redirects. I have found this > knowledge to be invaluable. > > The attached screen-shot shows the YATT trace tool with my > HTTP Request Header from my browser and then the subsequent > HTTP Response from the server below. > > Hope this helps. Cheers.... > > Scott Cadillac > VP, Research and Development > Plus International Corp. > 403-281-6090 > [EMAIL PROTECTED] > http://www.plusinternational.com > > Does your company have an Enterprise Information Portal? > Check out Salsa at www.plusinternational.com/flash/salsa.htm > > ----- Original Message ----- > From: "Wilcox, Jamileh" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Friday, February 07, 2003 10:37 AM > Subject: RE: Witango-Talk: User Woes > > > Scott - thanks for the explanation of the difference in > Refresh; I didn't realize that. > > I would love to learn a lot more about caching and expiring > content with headers; I've read what's in the Tango > documentation but that's not enough info to help much if ya > don't have the background knowledge. Any suggestions for > further reading? > > Thanks. j > > > -----Original Message----- > > From: Scott Cadillac [mailto:[EMAIL PROTECTED]] > > Sent: Thursday, February 06, 2003 5:52 PM > > To: [EMAIL PROTECTED] > > Subject: Re: Witango-Talk: User Woes > > > > > > Hi Jamileh, > > > > Here's a tip that is usually helpful: > > > > In most versions of MSIE, using the "Refresh" button from > the toolbar > > triggers MSIE to reload the latest 'cached' content from the > > "Temporary Internet Files" folder on the user's computer. Typically > > MSIE will determine cache rules on it's own and usually > errors on the > > side of caution and cache things longer than usual. > > > > But....if you right-click on your page and choose "Refresh" > from the > > popup context menu, it will usually override this and get > the latest > > content (that has not expired yet) from your LAN proxy > cache (if you > > have one). I find this a bit more helpful, because most > proxies will > > expire content when they are supposed to. > > > > Learning everything you can about expiring your TAF output via the > > Local$httpHeader is very important with dynamic applications. > > > > > > As for your CSV thing, try putting the <@assign name="httpHeader" > > .....> tag on the very first line of the last Results > Window in your > > TAF - and on the same line put <@PURGERESULTS> and your CSV output > > variable afterwards. This will eliminate any garbage spaces > and such. > > > > Oh, and turn debugging off in the file. > > > > Hope this helps. Cheers..... > > > > > > ----- Original Message ----- > > From: "Wilcox, Jamileh" <[EMAIL PROTECTED]> > > To: <[EMAIL PROTECTED]> > > Sent: Thursday, February 06, 2003 3:37 PM > > Subject: RE: Witango-Talk: User Woes > > > > > > Phil - would having him hit Refresh in his browser do the same > > thing? (That would be easier over the phone than changing IE > > settings). > > > > On the csv problem, in the WriteFile.taf, I'm doing this: > > > > <@assign name="httpHeader" scope="local" value="Content-Type: <@var > > local$filetype><@crlf>Content-Disposition: attachment; > > filename=<@dq><@var > > local$IncomingRFName><@dq><@crlf><@userreferencecookie><@crlf>"> > > > > > > Thank you!! > > > > > > > -----Original Message----- > > > From: Phil Wade [mailto:[EMAIL PROTECTED]] > > > Sent: Thursday, February 06, 2003 4:23 PM > > > To: [EMAIL PROTECTED] > > > Subject: Re: Witango-Talk: User Woes > > > > > > > > > Jamileh, > > > Try turning the cache in IE to check for changes "every > > visit to the > > > page". This is in the settings of "Temporary Internet files". IE > > > defaults to automatic, but it has been my experience that > > with highly > > > dynamic sites, IE does not always see changes to pages > > immediately if > > > set to automatic. Your system may be logging him on and > > the browser > > > is returning the error that is now cached in his browser. > You can > > > also control this on the server by expiring the content faster. > > > > > > With your csv issue, are you modifying the http header? > > > > > > Phil > > > > > > On 7/2/03 9:12 AM, "Wilcox, Jamileh" > > <[EMAIL PROTECTED]> wrote: > > > > > > > Another oddball case (it's one of THOSE days). > > > > > > > > I've got a user (PC technician) who swears he gets an > > > "invalid login" > > > > message when he puts his username into this application, > > > even at the > > > > 'forgot password' prompt. I can put in his username and > > > password and > > > > get logged in just fine; the app mailed him a new > password when I > > > > tried the 'forgot password' with his username. > > > > > > > > He also swears that he's cutting and pasting the > username & reset > > > > password directly from the email, which is what I'm doing. > > > Of course, > > > > he was typing the info in when I was on the phone with him. > > > > > > > > I've been on the phone with him, and he's been very > helpful. He > > > > thinks maybe it's named pipes in SQL, or cookies in his > > browser, or > > > > because the browser is sending his username as a token to > > > the server, > > > > or ... (he's learning Cold Fusion, can you tell?) > > > > > > > > Can anyone think of *any* possibility that I should check > > > before I go > > > > across campus to his office and cut & paste the %#$^~! > fields in > > > > myself? I'm not very familiar with the logs, but I don't > > > see anything > > > > in them that would even touch on this. > > > > > > > > Thanks. j > > > > > > > > > > > > > > ______________________________________________________________________ > > > > __ > > > > TO UNSUBSCRIBE: send a plain text/US ASCII email to > > > [EMAIL PROTECTED] > > > > with unsubscribe witango-talk in the message body > > > > > > ______________________________________________________________ > > > __________ > > > TO UNSUBSCRIBE: send a plain text/US ASCII email to > > > [EMAIL PROTECTED] > > > with unsubscribe witango-talk in the message body > > > > > > > ______________________________________________________________ > > __________ > > TO UNSUBSCRIBE: send a plain text/US ASCII email to > > [EMAIL PROTECTED] > > with unsubscribe witango-talk in the message body > > > > ______________________________________________________________ > > __________ > > TO UNSUBSCRIBE: send a plain text/US ASCII email to > > [EMAIL PROTECTED] > > with unsubscribe witango-talk in the message body > > > > ______________________________________________________________ > __________ > TO UNSUBSCRIBE: send a plain text/US ASCII email to > [EMAIL PROTECTED] > with unsubscribe witango-talk in the message body > > ______________________________________________________________ > __________ > TO UNSUBSCRIBE: send a plain text/US ASCII email to > [EMAIL PROTECTED] > with unsubscribe witango-talk in the message body > ________________________________________________________________________ TO UNSUBSCRIBE: send a plain text/US ASCII email to [EMAIL PROTECTED] with unsubscribe witango-talk in the message body