Reading up on Eclipse

“This list is compiled from a variety of sources and is intended for anyone who wishes to find centralized reading material about Eclipse. One of the biggest challenges new Eclipse users face is where to find the right information for a task. This article provides a small step in solving that problem.”

Recommended Eclipse reading list via “Eclipse in the news”…

You might also want to check out Intelligentedu.com’s list of the Best 27 Eclipse Tutorials by IBM

Re: Do you have SWING Integrator experience?

I finally got a reply from a support representative from SWING Software and it appears that SWING Integrator doesn’t support writing formulas to Microsoft Excel. I think this is a real shame shame since it restricts its use dramatically or at least makes some functionality very difficult to implement. Of cause there might be a valid reason for this restriction.

Anyways I reimplemented the needed functionality by doing all the formatting in LotusScript. Apart from the solution being a lot longer (more lines of code) and taking more time to implement I solved the problem which is what really counts.

I have a bone to pick with the developer who decided on the Sametime error messages…

Who decided that the error message shown when trying to connect to a “limited use” Sametime server using the Sametime Connect client should be “Wrong password”? I would really like to meet that developer in a dark alley! We have spent the better part of a day trying to figure out why some clients could connect and some couldn’t. Arrgghhhh… (Of cause it would have helped if the customer had told us which Sametime server was installed but still.)

While we’re rounding up Sametime developers – maybe we should try to find the person who decided that Sametime should use hex error codes you can only find in the API documentation!

Sorry for the rant.

Do you have SWING Integrator experience?

If you have experience with SWING Integrator and Microsoft Excel, more specifically experience in writing formulas from Notes to MS Excel I would be VERY happy to hear from you. We have a major issue with an application due for launch. It seems like the SWING Integrator code removes the equal-signs in from of the formulas thus rendering them unusable in Excel.

The formula is a concatenation of two dates from the Date functions (the funny å-character is the Danish stand-in for year (år)):

=concatenate(text(date(2006;11;8); "dd-mm-åååå"); " - "; text(date(2006;11;19); "dd-mm-åååå"))

(If I remove the equal-sign in front of the formula the text is written correctly to Excel so I think the issue stems from how SWING Integrator handles formulas.)

Heeeeeelp!

Force application of mail settings

As previously reported I think I’ve found a bug in how Domino applied mail settings to users mail databases – at least when the setting requires an agent to be enabled as well (the “Allow Notes to update To Do status and dates for incomplete entries” setting on the calendar profile). For those who want to read the previous posts the first one is here (“Loving policies – especially mail settings”) and the second one is here (Re: Loving policies – especially mail settings).

I finally got around to bringing the issue up before Lotus Support and as part of the support process I learned a new AdminP command:

Tell AdminP Process Mail Policy

The command will force AdminP to apply mail settings immediately. Nice. Some might know the command already but I sure didn’t.

Show ‘n Tell Thursday: Automatically insert signature in the Notes/Domino 6/7 forum (22 June 2006)


The script is really simple. If I’m on a form in edit mode (https://www-10.lotus.com/ldd/nd6forum.nsf/*?OpenForm*) it composes the signature, inserts it in the body field and sets focus to the subject field if it’s empty (a new post) or the body field if it’s a reply. Sweet and simple.

// ==UserScript==
// @name          Notes/Domino 6/7 Forum Signature
// @namespace     http://lekkimworld.com/greasemonkey/ldd6_signature
// @description	  Inserts my LDD6/7 Forum signature
// @include       http*://www-10.lotus.com/ldd/nd6forum.nsf/*?OpenForm*
// ==/UserScript==

var e_subject = document.getElementById("Subject");
var e_body = document.getElementById("Body");

// compose signature
var signature = "nn/Mikkel HeisterbergnVisit my Notes/Domino blog " +
    "@ http://lekkimworld.comnfor posts on Notes/Domino " +
    "and how to use Java in Notes/Domino...";

// set signature
e_body.value = signature;

// set focus
if (e_subject.value == "") {
   e_subject.focus();
} else {
   e_body.focus();
   e_body.setSelectionRange(0, 0);
}

To install in Firefox you need Greasemonkey installed. Copy’n’paste the code above to a text file ending in .user.js and then drag the file onto Firefox to install. The tags at the top of the code determines the URL where the script should run, the name of the script etc.

The caveat is the call to the setSelectionRange() method to move the caret to the start of the Body textarea after setting the focus. Without this method the cursor would be at the end of the body field after the signature.

Feel free to change the script if need be…

Updated on 23 June 2006: Small change to make sure the script kicks in when connecting using HTTPS and HTTP.

Java in Notes/Domino Explained: Can I cast a null pointer?


In short – yes you can. There is nothing that prevents you from compiling the following:

String s1 = (String)null;

I even think you’ll have to do it to make your code compile for one for the methods of lotus.domino-package. I can’t of the top of my head remember which method it is, but there is one method where the compiler will force you to cast a null to a String. You’ll also sometimes end up casting a null pointer when doing dynamic classloading.

I told you it would be a short post.

Interesting technote on maximum execution time of LotusScript agents

I was quite surprised the read the snippet from the cited technote below but after thinking about it, it makes sense. How would the AMgr know beforehand how long time the agent would run and hence how to keep the Terminate event inside the maximum execution time…

“By design, the Terminate event will execute after an agent has been halted for passing the time-out setting. The best coding practice would be to have only necessary clean-up operations within the Termination event. The main operations of the agent should reside in the Initialize event.”

Via the Lotus Support RSS feed: Terminate Event of a LotusScript Agent continues running after the Max Execution time (technote 1201324)

The VIEW article published

Just had to post a plug for my new article in THE VIEW called “Extend the power of LotusScript with DXL and OOP“… 🙂 If you have an electronic subscription the article is available now.

This article is much more technical than the first and explains in detail how to leverage DXL from LotusScript using XSLT and the built in XML classes as well as how to use pipelining to avoid writing intermediary results to the harddrive. Apart from the DXL stuff there’s also something on how to use design patterns in LotusScript to build dynamic decision making trees using the Chain of Command design pattern.

I hope you enjoy reading it and take something away from it. If you have questions or comments please let me know.