dominoGuru.com
Your Development & Design Resource
New Project bears fruit - new application and article coming soon!
09/19/2005 11:22 PM by Chris Toohey
Unlike Jake's Development Heaven, the current project that I'm working on has me writing a v2 core business application that needs to be accessible by multiple browsers, with what feels like an infinite number of variables to consider. Surprisingly, the major client that is getting the initial release of this product (prior to client roster adoption) is very insistent that it works in Firefox, and not just in Internet Explorer. Seems like people are getting it.
I found myself pulling out my old bag of tricks to get the majority of this
done. For example, my CGI Variables in a CSS Document article - where I'm
using the HTTP_USER_AGENT
CGI Variable and calculating the little
differences in the way a browser handles the visual presentation of the
elements. A 2-pixel padding in a containing element displays fine in Internet
Explorer, but it should really be a 4-pixel padding in Firefox to achieve that
same visual result... and don't get me started about Opera!
I'm also finding that I've become much more of a web developer than I have been a Lotus Notes Developer. I'm finding it easier to do things that would normally be done as a by-product in Lotus Notes functionality via more "universally"-adopted methods (more because I have control over exactly what they do...) such as using a blend of JavaScript and DHTML to mimic refresh-on-keyword-change so I don't have to round-trip to the server.
While playing around the other day, I came up with something that I thought was really sweet... and definitely worth sharing...
One of the issues with a flag such as Treat Content as... on a Lotus Notes form, is that it (unless I'm missing something) takes away the ability to use a WebQueryOpen form event. Which, would be what a Domino developer would typically use if they were looking to populate a subsection of the form with computed-on-the-load content. As I don't want to use the exact example here, let's say this is used to populate a table of information based on variables captured during the onload of the page.
To get around the fact that I couldn't use a WQO-event to populate this
functionality, and wanting something a little snazzier and less limited than
<Computed Text>
or the like lining my ever-so-tidy
hand-written HTML, I decided to use an agent to populate the information.
I'll get into the meat of this tomorrow... but I was able to, after properly
setting the content type on my agent, call
webqueryopen.js!openagent&trigger=example
, pass my trigger (in
this case example, and use either a combination of
document.write
s or setting the innerHTML of a container-type tag
on-the-fly, without having to resort to difficult-to-update in-form
computations.
I plan on getting this into an article and an example database soon, once I can get my head past this current project... but that hasn't stopped me from coming up with a logo/theme:
