Lotus Notes Eclipse Listener for QuerySend() Email Form

Posted on 2013-11-24
Last Modified: 2013-11-29
First of all, I must apologize as I have never developed a notes app that I can remember.  So now I have been asked to create a poor mans security application for a notes platform.  When the user clicks "SEND" in the email form, it should look for keywords that hint of things that should not be sent and pop-up a warning.  It seems the easiest way to do this is to change the form template for QuerySend().  The issue is that I am not the notes admin and we are doing this for only about 2% of the users.  Even if I could update the form template for just those users, it would be subject to changes by the notes admin team (i assume).  I tried to do it with my account and it seemed to change it, but I used the 9.0 template and our back-end is on 8.5 (i think) and this caused unrelated issues.  So then I wondered about the Eclipse plug-in solution.  So I see that I can get a plugin working on 8.5 and "install" it if I remove the "locked-down" (no new plug-ins) client and re-install with a fresh version with "install Applications Features" enabled.  So my questions are this:
Is the template change feasible?
Is the Plug-in Overkill?
If I go with the plug-in, I see lots of information on setting "parameters/properties" etc and adding new buttons to click etc, but very little information on hooking (listening in java-speak) to the various events in the forms.  Particularly I am wondering how to hook to the QuerySend Event (Action?) that is right there in the form.  I really like the fact that this event allows cancelling the email sending right in the subroutine.
I am also wondering where can I find good reference about the extension points provided by notes..I see one called, but it appears to only handle attachment dialog.  
Thanks for your time!
Question by:appliancedude
LVL 10

Accepted Solution

larsberntrop earned 500 total points
Comment Utility
I think that a plugin would be overkill.
I think the following strategy would be best:

Changes to the standard Mail template should be well planned and thought out, since the template is often updated, and you want the template to be current.
you need to to confer with your Domino admins if this might be for the whole organisation.  And perhaps, there is altready a thirdparty solution in place.  For instance, IBM has Lotus Protector for Mail Security, in which you can apply policoes to both incoming  and outgoing mail, like search for keywords.

If nothing is available, you need to be very careful where you insert your code. Th mail template uses an elaborate Object structure to be able to do all the Mail and Calendaring and Schedule magic.
See if you can put your code in the QuerySaveExtension function in the CoreEmailClasses library.  It's best to make a new copy of the template, give it a new Template name, and apply that template to the mail files needing the change.

AVOID changing the standard template!!!  Changes there can replicate all over the environment causing trouble signed by you, a very career limiting move. If you already have edited the local template on your machine, make a new copy of it (NOT a replica, the new copy needs a new replicaID), and change the template name.
Then delete the edited IBM template and restore an original.

Author Closing Comment

Comment Utility
Thanks.  I will come back with a follow up shortly on best way to roll-out these changes to only one small group of people.  I edited my own nsf for test and the "message" form works well.  I am however running into what seems to be a famous issue attempting to read the contents of "unsaved" rich text field for replies.  As soon as I get back to it, I was going to try to use the email that is selected in the view  and the one in the forefront to get everything.  Sounds like that might work.  I did spend some time "reading the directions" from an old R6 book I had never cracked the binding on for several years.finally found some use for it!  It has some good foundation stuff even though we are on 8.5 now.

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Path of Workbook 3 44
PHP question(s) about order of output 9 39
ArrayIndexOutOfBoundException 9 30
Java Timer (static) 9 9
Java functions are among the best things for programmers to work with as Java sites can be very easy to read and prepare. Java especially simplifies many processes in the coding industry as it helps integrate many forms of technology and different d…
Since upgrading to Office 2013 or higher installing the Smart Indenter addin will fail. This article will explain how to install it so it will work regardless of the Office version installed.
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

9 Experts available now in Live!

Get 1:1 Help Now