Latest Updates

Products & Applications

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.

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!

Zephyr v0.1 - Configuration-based Rich Text Mail Merge and Emailing Utility

08/21/2008 02:56:42 PM by Chris Toohey

I've been cheating. When I have an application that requires some form of automated emailing, chock full of doclinks, formatting rich text, and other mind-numbing exercises in what will eventually leave to hair-pulling and teeth-gnashing... I cheat. See, I won't write on-the-fly emails in an application - aside from being a PITA to get juuuuuuuust right, 2 days after the application is implemented you're getting calls from the project champion asking for tweaks.

I'd rather avoid those calls, and give them the rod and bait that allows them to fish for themselves... if you follow me.

So - very much in-line with my Excel Export utility, I don't create an email on-the-fly, but rather take a configurable Email Template, do the required Mail Merging, and simply send that email on it's way. While it is generated on-the-fly so to speak, it's not as if I have to build everything from scratch.

Okay - enough small talk - we're here to get you this utility application, so you don't have to wrangle Rich Text or settle on simple Plain Text-based, workflow-driven notifications. It's with that, that I present Zephyr!

So... what exactly does Zephyr do?

Well, let's say you have a Helpdesk database where you wish to send out context-sensitive notifications when select tickets are closed. You can create a simple agent that - to make this simple - takes the contents of the source NotesDocument (sdoc), and copy them to a new NotesDocument (jdoc) in Zephyr which we'll call a Job Document. ( In fact, we actually need to change the Form NotesItem to "jobdocument" in order for it to work in Zephyr!)

Once we have our jdoc in Zephyr, we take a look at the Email Templates (edoc) within Zephyr. Each Active edoc contains a searchcriteria NotesItem, which is evaluated at runtime against a NotesView containing all of our jdocs, checking for an @True-match. When found, we simply write a new NotesDocument (memo) to the Server (where Zephyr currently resides - even works on Local!) mail.box, evaluate pseudo-Mail Merges against the edoc, and copy all needed items into the memo.

For some added goodness, we update the jdoc with a stamp that tells us that the given edoc has evaluated and ran against said jdoc. If you never wish to process that same jdoc again, simply add that condition to the edoc's searchcriteria NotesItem.

The From/Principal, SendTo, CopyTo, BlindCopyTo, ReplyTo, Subject, and even the Body NotesItems of the edoc are Mail Merge-friendly, allowing you to completely control the generated email!

Zephyr v0.1 - Configuration-based Rich Text Mail Merge and Emailing Utility - Download

So, if you use this application, all you'll need to do is use the typical Rich Text editor to define what your email should contain (including Embedded Single Category Views, placeholders for DocLinks, Computed Text, Attachments, etc.), the Job Document criteria specifying which jdocs the Email Template should run against, and - lastly - externally deposite whichever documents you wish to trigger such Rich Email Notifications against!

In this release, you'll see a UI-accessible Agent called New Example Job Document. This Agent creates a simple Job Document - which when used in combination with the example Email Template, will send me a simple email! Also - the Notifications Agent is scheduled to run every 5 minutes (decrease that!), and is currently disabled. You can manually run the Notifications Agent to test the utility - which I hope makes your life as easy as it's made mine!

LotusScript @IsMember

10/11/2007 10:25:15 PM by Chris Toohey

Someone recently asked me if there was a simple @IsMember-like function in the LotusScript language... so I threw this at them.

Function isMember(tVal As String, vArray As Variant) As Boolean

For x = 0 To Ubound(vArray)
 If vArray(x) Like tVal Then
  isMember = True
  Exit Function
 End If
Next

isMember = False

End Function

Hopefully someone else finds it just as useful!

SmartIcon: NotesItem Mailer

01/18/2007 08:51:41 AM by Chris Toohey

Here's something that we slapped together recently that I needed when having to quickly grab all items from a given document. It's not the prettiest thing in the world, but it allows me to get some quick-and-dirty information on a given document!

What we have here is formula that I've put into a SmartIcon. This "function" allows me to select a given document in a database, and with a single click I'll receive an email that details all NotesItems in the document along with their respective values. I've added a carrot (^) as a seperator between the NotesItem name and it's correlating value. This allows me to take the resultant "table", copy/paste into Microsoft Excel (or whichever spreadsheet app you choose), and break the data into columns using ^ as my delimeter.

temp := "";
tmp := @DocFields;
@For(n := 1; n <= @Elements(tmp); n := n + 1;
temp := temp + tmp[n] + "^" + @Text(@GetField(tmp[n])) + @NewLine);

@MailSend( @UserName ; "" ; "" ; "Field Values" ; temp ; ""; "" )

It's pretty simple and to the point, and it got me data from given documents in any database without a lot of headaches! And please note - you're limited to size here (as well as a few other things) - I use this to grab quick information from relatively moderate-sized documents. Running this on a document with 1000 NotesItems with a chapter's worth of data stored in each will result in "Out of Memory"-styled errors.