Showtime
My Blackberry Enterprise Server Push Utility for the Lotus Notes Client, allows you to create Jobs for individual Channel, Message, and Browser Content Pushes, as well as allows you to delete Pushed Channel Icons from defined recipient devices.
Contact Information
Blogger, podcaster, writer, and geek Chris Toohey covers topics from application development to the latest must-have-gadgets.
Latest Updates
Products & Applications
Time Tracker
The idea is simple. At the start of your day - upon completion of your first task - create an entry highlighting what you did and whether you feel it was an efficient or inefficient use of your time. Based on several requests, you can also select the priority, apply categories, or even align your time against a project.
For Lotus Notes Client v8.0 and above, you can use the Time Tracker Widget to make this process even easier!
Zephyr
My Configuration-based Rich Text Mail Merge and Emailing Utility, Zephyr allows you to create rich, data-driven emails to support automated workflow - all via Microsoft Word Mail Merge-like architecture. Dear <firstname> allows you to personalize each email message not only to the individual recipient, but also to the individual application workflow event!
xCopy
xCopy is a simple configurable xCopy client for the Lotus Notes client. By creating and defining xCopy Profiles, you can batch process your file backup or remote upload jobs. With the addition of the xCopy sidebar widget, you can easily kick-off these jobs, and modify both the xCopy Profiles and xCopy itself.
Community & Resources
Lotus Technical Information & Education Community
The Lotus Technical Information & Education community is comprised of IBM, business partner, and customer subject matter experts who use product wikis, published articles, white papers, community blogs and the latest in social media to build and share high quality technical content.
OpenNTF.org - Open Source Community for Lotus Notes Domino
OpenNTF is devoted to enabling groups of individuals all over the world to collaborate on IBM Lotus Notes/Domino applications and release them as open source.
developerWorks Lotus : Wikis
Share your deployment experiences and best practices in our wikis and help IBM to create scenarios for successful deployments. Contribute to the community by collaborating on shared content and leverage the shared knowledge from that community.
IBM Lotus Notes Domino Form Element Hacks
02/22/2010 05:45:00 PM by Chris Toohey
Hacks are ugly, they are unsupported, and they are often totally necessary in IBM Lotus Notes Domino Web Application development! I thought that I'd take the time to discuss several of those hacks -- required for B.XP. LND App Development -- that can get you the desired functionality for your applications and the desired user experience your customers demand!
While IBM Lotus Notes Domino's Rapid Application Development techniques are both amazing for quick-to-create collaborative business solutions and (let's say) well intended, it's HTML Form Element-generation for any Form Design Element can be extremely frustrating.
What's the big deal?! you may ask - if you're creating a Form Design Element, chances are you're using it to Create, Read, or Update a NotesDocument. The problem with IBM Lotus Notes Domino's RAD auto-generation of the HTML Form Element is when you're not using the Form Design Element for NotesDocument CRUD, but rather for the rendering of the overall NotesDatabase Domino Web Application User Interface.
And if you're still asking What's the big deal?!... then consider this: since HTML Form Elements can not be nested, that single HTML Form Element must contain every individual HTML Form-like function in your dashboard.
Let's take a look at an example dashboard-style UI:
And let's look at the same dashboard-style UI highlighting all of the HTML Form Elements:
We have a Search HTML Form Element, a New NotesDocument Sidebar/Widget-style HTML Form Element, and a Selection Preview HTML Form Element.
As mentioned, HTML Form Elements can not be nested, so the Domino RAD auto-generated HTML Form Element basically makes creating an individual Search, New NotesDocument and Selection Preview HTML Form Elements impossible... without various hacks.
Hack #1: Live and Let Live
There's nothing stopping you from keeping everything on the same Domino-generated HTML Form Element and submitting only those data Elements (Inputs, Textareas, Selects, et al) via embedded HTML IFrame Element or via AJAX. Sure, you can't use a submit(); call anywhere without worrying about submitting a bunch of garbage NotesItem values... but it's doable.
Still... it's not an approach that I prefer, only because it's very easy to forget or include the wrong data Element, not to mention that the above UI mockup shows that New NotesDocument and Selection Preview HTML Form Elements that -- logic would dictate -- share the same HTML Element Name. Bad form (heh) all around I'm afraid!
Hack #2: Kill the Domino HTML Form Element
There are several ways to use this method, but they all come down to the same thing: you end the Domino RAD generated HTML Form Element (via </form>) before you create your own HTML Form Elements.
To perform this hack, simply enter </form> as the first line of markup in your Form Design Element. This kills the Domino HTML Form Element and allows you to create -- using the above UI as an example -- 3 more HTML Form Elements of your own.
This technique works great... unless you're reusing old JavaScript which relies on forms[0].
Not that big of a drawback, of course, but certainly something to consider.
Hack #3: AJAX-friendly HTML DIV Injection
My preferred method, which I've previously discussed here, would have you create an HTML DIV Element before Domino has the chance to create it's own HTML Form Element.
So, in the HTML Body Attributes of your Form Design Element, simply add the following:
{><div id="popup"> </div}
Pretty simple, huh?
This creates a popup HTML DIV Element before the Domino-generated HTML Form Element... which becomes really handy when you want to load DHTML popups.
As for the above UI example, there's nothing stopping you from building upon this technique and pre-loading empty HTML Form Elements prior to the Domino auto-generated ones, and then using AJAX for population and CSS for absolute positioning!
Of course, IBM Lotus Notes Domino XPages makes all of this moot, as you have the ability to - via a toggle - tell the XPage to not auto-generate it's own HTML Form Element...
Still worth knowing about though!






Nice trick, I usually just use Notes pages and xhtml since you only need to notes form to accept the submit.
I usually use Hack #2 and use meaningful names for my forms that are not referenced via form number but by name directly. forms[0] has always been bad style in my eyes.
One word of caution about suppressing the form tag in an XPage: it breaks almost everything an XPage does well. Partial refresh events don't work, data source binding fails, etc. The latter concept is really why XPages make all of these hacks unnecessary: because an XPage isn't intrinsically linked to a document in a one-to-one relationship like Form elements are, you can create interfaces like the one you describe above despite only generating a single HTML form tag. You simply define one data source for each document represented in the interface, set each submit button to just save its associated data source, and leave the search field unbound... the search button can still retrieve the field's value and execute the search. As you've indicated, B.XP. this type of interface was a pain to design... with XPages, it's simple.