Your Development & Design Resource

New Project bears fruit - new application and article coming soon!

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.writes 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:

RHINO Logo Remote Handle Interpreter for Named Objects

About the author: Chris Toohey

Thought Leadership, Web & Mobile Application Development, Solutions Integration, Technical Writing & Mentoring

A published developer and webmaster of, Chris Toohey specializes in platform application development, solutions integration, and evangelism of platform capabilities and best practices.

More from is powered by IBM Notes Domino XPages & hosted by Prominic.NET

Contact Us

Use our Contact / Feedback form or one of these email addresses:

Creative Commons License

Except where otherwise noted, by Chris Toohey is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.