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

More on Mailer...
More on Junction Lite...
More on Remote Console...

More on Controller API Utility...
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.
Welcome to dominoGuru.com!
Focused on being the go-to resource for the IBM Lotus Notes Domino developer, dominoGuru.com delivers introductory-level best practices and advanced development deep dives for the IT professional, book and gadget reviews, and technical weblog, and more!
Breaking News: IBM developerWorks Lotus - New Wiki Home Page!
08/05/2009 10:20:02 AM by Chris Toohey
Complete with customer and contributor testimonials and showcased Top Contributor and New Contributor profiles, the new developerWorks Lotus Wiki Home Page acts as a gateway into all of the IBM Lotus and IBM Websphere product family Wikis.
They even put a quote from some hack who thinks himself a guru of sorts:
"With technology, printed materials become dated before they're sent to the editor; improvement of application and technique change almost hourly. Content creation and community interaction--via mediums such as Product Wikis--are invaluable to establishing 'living documentation' which can evolve in tandem with its community."
The product wikis are an amazing resource to both customers, business partners, and even to IBMers who can quickly access best practices tutorials as well as a deep well of feature functionality for each Lotus and Websphere product.
This is why I cannot stress the importance of cross-posting article content: establishing the product wikis as an authoritative master resource for customers - be they product customers, the aforementioned business partners, or even the aforementioned IBMer - will do nothing but strengthen the product, empower the customer to extend their usage of the given product, allow the genius-level contributors to this Lotus Online Community to further establish themselves as subject matter experts, and ultimately benefit everyone involved.
Not contributing to the wikis today? You can use your IBM Sign-in and contribute something - there's a lot of room out there for contributions.
And if you're a blogger who is interested in cross-posting content - or anyone who has an idea for an article-length contribution - let me know and we'll chat - there's a Recognition Program eager to give you credit for your contributions!
IBM Lotus Notes Domino delivering LinkedIn and TripIt widgets to lasso Cloud services!
07/15/2009 01:13:25 PM by Chris Toohey
No technology - no matter how amazing - can survive in a vacuum. It takes integration with current technology investments, understanding of the need to integrate with future technology investments, and especially today leveraging Cloud services to make a technology truly valuable to your customers... be they internal or external to your organization.
The move to the Eclipse-based client - for more forward-thinking developers - meant that we could better wire our enterprise applications to interact with other technologies; that we finally had a platform for our product families that would allow us to deliver the usage experience our customers demanded.
And while there are still the occasional obstacle in our path, I'm much happier today as a Lotus Domino developer than I was a few years prior.
With the advent of Widgets and LiveText in the Lotus Notes client, a developer could give a user the content they needed within two mouse clicks versus loading applications and clicking through several different screens. Take this experience to the Cloud, and you have a limitless supply of technology integration points.
Today IBM announced the official LinkedIn and TripIt Widgets for the Lotus Notes Client.
"Notes is the first open collaboration software to be able to provide users with desktop direct access by both LinkedIn and TripIt. This demonstrates the versatility of Lotus Notes in Web collaboration," said Kevin Cavanaugh, VP Messaging and Collaboration, IBM Software. "Whatever Lotus customers need, there's a widget for that."
Not only should you - true believer - get your marketing and sales force the LinkedIn sidebar right now, but you should also consider what in-house applications would benefit from their own Widget/LiveText integration with the Inbox - where your customer spends the majority of their day.
If there is an interest, I'll put together a series of step-by-step DIY Widget/LiveText integration articles showing you how you can get the most out of your Lotus Notes client - just comment to the post and share your thoughts!
Quicktip/Hack: Domino URL Commands via Hidden Fields
08/05/2008 03:58:13 PM by Chris Toohey
Author's Note: This is a real quicktip here - something that will help you when either rolling your own markup in Domino or trying to integrate a non-Domino HTTP Server solution with your Domino Web Application. It's kind of a hack, I'll admit, but I've found it pretty useful over the years.
Let's say you're in a situation where you need to communicate with a Domino Design Element from a simple HTML form... written in Dreamweaver, TopStyle, or any other markup editor, and you want to use the GET method, as the URL could be copied and sent to other users. Such a GET-friendly URL would look something like this:
http://server/database/Design+Element?DominoURLcommand¶meter1=val1¶meter2=val2
The problem with Domino, the DominoURLcommand is required, lest you want your Domino application to barf when you click on the URL. If you have a simple HTML form that's using the GET method, you're going to run into this problem.
The solution? A simple hidden input at the top of your form:
<form action="agentname" method="get" name="sample" id="sample">
&nbp;<input type="hidden" name="openagent" value="" />
&nbp;<label for="foo" id="label_foo">Foo:</label>
&nbp;<input type="text" name="foo" id="foo" value="" />
&nbp;<input type="submit" value="Submit" />
</form>
Now, when submitted, the GET method basically grabs all of the "field" objects and their values and builds a URL. For the above example, you'll get the following:
http://server/database/agentname?openagent=&foo=bar
And this actually works! ;-)
From here, you can now take any Domino URL Command, and simply create a hidden input object that has no value but that shares it's name: CreateDocument, SaveDocument, DeleteDocument, OpenView... the list goes on and on!
The pitfalls of most "Composite Applications"
09/04/2007 10:56:44 PM by Chris Toohey
The biggest pitfall of most Composite Applications, or CAs, is the developers mindset that the integrated solutions need to communicate directly with the Lotus Notes client. In fact, pretty much any CA that relies on the interoperability between their intended solutions will eventually run into a brick wall in getting their mash-up to work as intended. The fact is, I don't need Lotus Notes to talk to Flash to get Flash to display data from a Lotus Notes application in my Lotus Notes application - well, not directly anyway. I'll give you a real-world example of a methodology that employs the same function that I'm getting at here. Consider if you will a technique that uses the form of a middleware approach to allow the user to interact with an application and receive near realtime information exchange. What I'm hinting to here is good ol' AJAX.
A layman's explanation of AJAX: AJAX acts as a middleware solution when a user, via the application UI, needs to communicate to a back-end data source and have that UI update accordingly.
Now, those of us that have been developing web applications more than a year will more than likely have needed such functionality well before AJAX was the new hotness, and have come across their own hacks to get this type of functionality. I might be speaking out of turn, but I'm willing to guess that the majority of those hacks included posting and returning data via a hidden iframe. See, an iframe would act as the middleware layer between the UI and the intended data source - allowing for some pretty slick functionality.
Using either the AJAX or the pre-AJAX-iframe approaches ultimately gave you the same basic outcome - your users got their data without their thinking that they've needed to jump from screen to screen in order to get said data. Now how can we use this knowledge when building a composite application?
Middleware. Let's say I have the following: I want to display information from several database in a consolidated Lotus Notes client UI. I would typically create a frameset-based application that links to said databases.
Now since it's not 1993, I want to include some eye-candy in the form of some Flash charts (circa 2003) that details data from our Lotus Notes databases. We want a Composite Dashboard! (Your executives will be so happy!)
Now, this is where most developers, in my opinion, lose their way. Instead of remembering all of their slick-tricks that they've mastered over the months/years, they revert back to those circa-1993 techniques to try to get Flash to communicate directly to a Lotus Notes database on-the-fly. Well, you don't need to do that - really, you don't.
The other day I posted an Lotus Notes Excel Export Database, one could losely call it a "Composite Application" mashing Lotus Notes with Office for data exporting and reporting. The meat of the functionality is this: don't worry about creating/re-creating the Excel spreadsheet, but rather take a template that you have already worked the kinks out of (headers, footers, fonts, cell formatting, charting, etc.), drop it onto the user's machine, and interact with it from there!
Now think about your Flash integration. What's stopping you from using a middleware solution here?
See? If we use the user's OS as our middleware, you won't be limited to the interoperability between Lotus Notes, Flash, or any other solution that you're looking to integrate into your CA. I have some pretty slick ideas for putting this technique to the test, and will - hopefully in the next few days - have a Composite Dashboard example application available for download.
SetViewInfo, RestrictToCategory, Domino Databases, FrameSets, and the NotesView
08/13/2007 01:34:07 AM by Chris Toohey
I can't honestly be the only person to need this type of functionality... so I'll post it to you, Constant Reader. So... here's what I'm trying to do...
Let's envision a dashboard-style application. Several "buttons" that will display views from several databases. Not too difficult as I'm launching each view via the old @URLOpen/Notes://-type Link combinations. I now, however, have a requirement for subcategories to be displayed. This is proving MOST difficult, as while I can open a given database view inside of my NotesView frame in my "Dashboard"-styled application, I can not get a subset of the documents to display - regardless of what I'm trying here...
If this was for the web, I could easily use the RestrictToCategory=... Domino URL Command argument, but this is strickly for the Notes Client.
I've also tried vast combinations of @UpdateFormulaContext/@SetViewInfo until my teeth bled - all to no avail.
So, I'll ask you - have you been able to do something like this before? Open Database 2's "AllBySomeKeys" view in a NotesView frame in Database 1 and show only a subset of the documents from said view? Wanna hear the really fun part? No Embedded Views allowed! Yep - this application could change at will, so the ability to change-via-configuration and not have to modify the target database views makes this that-much-more fun.
Not that I would take without giving back - check out, in the Examples and Downloads section of the site, my aforementioned Excel Export Example, for your RIP&USE pleasure!


