<< May 2006 | Home | July 2006 >>

Turning 30!

Oh no! The big three-zero is nearing - I'm turning 30 the day after tomorrow (Sunday). I guess I have to find a more mature-looking picture for the picture on the right... :-)

Feature (F5 to lock the screen) to be removed in Hannover?

Go make your voice heard over on Mary Beth Ravens Hannover developers blog on the issue of "F5 to lock Notes". I for one is all for removing the feature if a real inactivity timer is added for the embedded Sametime client since I much prefer OS locking...

F5 to lock the screen-- just how many use it, and how important is it?

Tags : ,

Inflated text

Chris previously blogged about the issue (though I think he was experiencing that the text got smaller and smaller) but I'm still having the issue after playing around with "International MIME Settings". Bummer.

Sametime 7.5 mentioned again on "Eclipse in the News"

"IBM has rewritten Sametime to run on the Eclipse Rich Client framework, open-source software for running desktop components. This means that the instant-messaging application can host Eclipse-compatible programs, Bisconti noted."

Via Eclipse in the News (news.com article): IBM ties Sametime IM to Office

Funky Notes/Domino JVM error (java.lang.IllegalAccessError)

An interesting issue with the Domino JVM was brougt to my attention today via a comment from an anonymous (Paul M. Westwood?) poster today. As you can see from my reply to the comment I was able to reproduce the issue and I recommend that the commenter report the issue to Lotus Support.

The issue is of interest to me due to the work I have been doing on developing a new AgentBase class for use from Eclipse...

Tags : , , ,


As mentioned in my post "Java in Notes/Domino Explained: Testing for equality" I mentioned the String.intern() method. Since this is a very misunderstood and often overlooked method I thought I would point to an article discussing it in greater detail.

Ethan Nicholas's Blog: All about intern()

Tags :

edbrill.com down?

It's funny. When you access so much information through RSS you sometimes forget or fail to realize that sites may be down - even very public sites like edbrill.com. I guess I'll have to wait... :-(

(This is in no way like me pointing any fingers. I'll be the first to admit that there are times when lekkimworld.com isn't available - bad things happen.)

EclipseZone: IBM Sametime Instant Messaging To Be Eclipse Based

The word is spreading:

"Although to some us (thanks to little drop-ins by Chris Aniszczyk) this may come as no surprise, it has become official that the Sametime instant-messaging client is now built throug the Eclipse Rich Client platform components."

The post also mentions the new Sametime 7.5 Microsoft Office features mentioned by Ed Brill yesterday:

"Sametime 7.5, which will be available in about two months, will allow people to use instant-messaging features without having to leave Office applications. For example, a person could open up an e-mail inside Outlook and find out whether the sender is available on Sametime and where he or she is located."

Full post @ EclipseZone: IBM Sametime Instant Messaging To Be Eclipse Based

Java in Notes/Domino Explained: Test agents in Eclipse by extending AgentBase (part 5)

This post is the fifth part in a series on how to extend the lotus.domino.AgentBase class to allow you to test and debug Notes/Domino agents in Eclipse. You really should read part 1, part 2, part 3 and part 4 before reading this post. This part will show how to use the new and improved AgentBase class and how it allows you to easily write, test and debug Notes/Domino Java agents in Eclipse.


Free Access to Safari Books Online

I don't know if you're aware of O'Reilly Safari which is an online bookself. It's a great resource - especially if you are a travelling consultant or simply need/wants online access to your books. I have been a subscriber for a while and can recommend the service. Now, in corporation with Sun Microsystems O'Reilly is offering a 30 day access, free of charge, to the system (normal trial period is 14 days). Apart from the book titles you'll also be entitled to access to a couple of free web courses incl. "Introduction of Java Programming Language" which might be of interest to some.

"Sun now has a partnership with Safari Books Online and you can get free 30 day access to over 1700 IT online books, which includes the great Sun Press books as well as four Sun web courses."

Free Access to Safari Books Online (via dZone):

Tags :

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...

Tags : ,

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.

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.)


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)

I finally got tired of having to compose and insert my closing signature in my posts in the forum on Lotus developerWorks so I wrote up a little Greasemonkey script to do it for me.

Technorati tags: ,


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

I see the above question a lot in my referers so I thought I would answer it briefly.


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.

Change to LDAP Directory Assistance (in Domino 7)

Or at least I think the change was in Domino 7... I never noticed it before since we have been using a custom DSAPI authentication module to work around the shortcoming in previous Domino releases.

The change is that the @Username function now returns the distinguished name of the authenticated user separated with slashes (/) even though it is a LDAP name and hence really separated by commas. This is ber nice since it means we can scrap the custom DSAPI module and move the application from a Domino 5.x server to a Domino 7 server (we are having big issues deploying the DSAPI filter on Domino 7).


(For the record - my custom DSAPI filter does more than convert LDAP names separated by commas to names separated by slashes. It also handles dynamic LDAP groups composed on the groupOfUrls objectClass. If you need something like that let me know.)

Got bitten by Skype

It appears that Skype, in its default setup, listens on port 80 and port 443 (HTTP and HTTPS) when loaded (alternative ports for incoming calls). This is bad when running a web server for testing or trying to use the web preview from Domino Desinger. So mental note to self - no Skype while working!! :-)

STLoginMonitor Java Application for Lotus Sametime

"The STLoginMonitor tool is an unsupported tool developed to test logins to a Sametime server and if logins fail, it can restart services and/or notify Administrators of the failure."

Via the Lotus Support RSS feed: STLoginMonitor Java Application for Lotus Sametime

Helping out on "Domino application hosting best practices?"

Anyone out there who can help Scott out?

"Is anyone out there willing to talk about running Domino as an applications hosting platform for other organizations but not using the xSP install? There are a few companies out there that sell Domino but there's only so much I can figure out about how they manage the back end from digging around with a free account ID."

ScottandMargo.net: Domino application hosting best practices?

THE VIEW article: Extend the power of LotusScript with DXL and OOP

The second part of my articles on LotusScript.doc titled "Extend the power of LotusScript with DXL and OOP" will be out in the May/June issue of THE VIEW. The article is a great deal more technical and explains in-depth how the application is built using object-oriented LotusScript, design patterns, DXL and XSLT.

The article will supposedly be posted online today (Friday) and should be available at a newsstand near you soon!! :-)

Technote 1087179 on roaming in Notes/Domino 6.0.x and 6.5.x

"What is the "Roaming User" feature of Notes/Domino 6.0.1 and above? How is it implemented?"

Via the Lotus Support RSS feed: General information and FAQ about Roaming User feature of Notes/Domino 6.0.x and 6.5.x

Java in Notes/Domino Explained: Test agents in Eclipse by extending AgentBase (part 4)

This post is the fourth in a series on how to extend the lotus.domino.AgentBase class to allow you to test and debug Notes/Domino agents in Eclipse. You really should read part 1, part 2 and part 3 before reading this post. This part will explain how to stub the Session to Domino and how to handle the AgentContext class by using callbacks.


Webcast: First Look Web conference: IBM Lotus Sametime 7.5

From IBM PartnerWorld News: ISV edition 6 June 15, 2006:

"First Look Web conference: IBM Lotus Sametime 7.5 IBM Lotus Sametime 7.5 is more than an innovative real-time collaboration tool. It's also a development platform that offers significant opportunity for customer value and services opportunities. To learn more, join us 23 June at 10 a.m. (EST) for a first look at Sametime 7.5."

Direct link to registration

Tags :

EclipseZone: Understanding Eclipse Plugins and OSGi

Getting ready for Sametime 7.5 and plugin development? Haven't developed an Eclipse plugin yet? The Understanding Eclipse Plugins and OSGi article at EclipseZone could be the place to start.

Tags :

"Cleaning out my closet..."

We're moving office locations and while cleaning out a closet I found a complete collection of R5 CD-ROM media. From 5.0 to 5.0.13 including all incremental upgrades.

Go Super.Human.Software!! :-)

Java in Notes/Domino Explained: Test agents in Eclipse by extending AgentBase (part 3)

This post is the third in a series on how to extend the lotus.domino.AgentBase class to allow you to test and debug Notes/Domino agents in Eclipse. You really should read part 1 and part 2 before reading this post. This part will explain how to gracefully fall back to the core AgentBase functionality when running inside Notes/Domino and how to use our own functionality when in Eclipse.


Java in Notes/Domino Explained: Test agents in Eclipse by extending AgentBase (part 2)

This post is the second in a series on how to extend the lotus.domino.AgentBase class to allow you to test and debug Notes/Domino agents in Eclipse. You really should read part 1 before reading this post. This part will explain how to detect whether you are in Notes or in Eclipse and how gracefully fall back to the core AgentBase functionality in that case.


Change of hide-when formula for HTTPPassword field in Domino Directory

In Domino 7 the HTTPPassword field in the Domino Directory has been changed from an editable to a computed when composed field which doesn't allow you to edit its value. From a security standpoint this is great but it does make it more difficult to change the password to a known value to test authorization issues. Previously, since the field was editable, you could simply cut the users current password to a text file, paste your known password and test away. Once done you would paste the users password back in. Simple and easy.

Of cause one could always modify the design of the Domino Directory to revert to the old style or implement it as an agent.

Subscribe to comments directly from FeedDemon - nice!

Isn't that cool! A way to directly subscribe to the comments to a specific post directly from the RSS reader (FeedDemon in my case). Sweet! I took a look at the RSS feed source and it is due to the use of the Comment API (http://wellformedweb.org/CommentAPI/) and the <wfw:commentRSS /> tag. This is a new feature added in FeedDemon 2.0.24 just out...

Java in Notes/Domino Explained: Test agents in Eclipse by extending AgentBase (part 1)

As previously described there are a couple of ways to create Java agents in Notes/Domino. One of the ways is by using "Imported Java" which bascially means that the agent class should extend lotus.domino.AgentBase. Extending AgentBase is nice since it means that Notes/Domino will intialize the runtime environment for you (initializing a thread, create a session etc.). Testing such agents in Eclipse can be a pain though unless you do your homework since the required setup by Notes/Domino hasn't been done.


Nice new DXL related notes.ini setting introduced in Notes/Domino 7.0.2

The following SPR is fixed in release 7.0.2: "Customers can avoid LotusScript compile by adding DXL_DISABLE_LS_COMPILE=1 to the Notes.ini. The LotusScript code will get compiled on first use."

Via the Lotus Support RSS Feed: SPR #CAPL6NTTML Product - Designer


As previously mentioned I'm using external entities at present to redue the amount of dublicate data when sharing data among XML documents. A better choice than entities would be to use XInclude though it lacks browser support... :-(


Inside The Net 24: The Two Mikes from Firefox

The new episode of the Inside The Net podcast is about Firefox and the Two Mikes. Show description from the TWIT homepage: "Hard on the heels of the successful launch of Firefox 1.5 comes the first beta of Firefox 2.0. Mike and Mike talk about Firefox Flicks and what's new in 2 including lookahead searching, RSS support, and faster browsing."

Show 'n Tell Thursday: Using XSLT on DXL documents (8 June 2006)

For this instance of Show 'n Tell Thursday I'm going to show how to use XSLT on DXL documents, that is use XSLT to filter information from the Domino XML document format.

Technorati tags: ,


Domino SuperSearch

In the June issue of the LotusUserGroup.org Developer Tips Newsletter Duffbert writes about the Domino SuperSearch over at martinscott.com. Although a nice application what if the we had an application like that which also searched through all the blogs listed at dominoblogs.com? Wouldn't that be cool and a nice way to "take a penny, leave a penny"? :-)

If dominoblogs.com emitted an OPML file it could be consumed by a site that allows users to search the sites. Only issue I can see it the difference between search interfaces but it could be solved by people also submitting a search URL to the dominoblogs.com site.

What do you think?

Updating mail template fustrations

Funny one... Got a call from a customer who had the design task update their mail database design yesterday without realizing that it may have consequences for the OOO-agent. Guess what I have to figure out today?

Hint: it has something to do with finding out who had the agent enabled yesterday... :-(

For future record - pay attention to the following technote 1090238: Refreshing a Notes database design can disable enabled agents

Send kill to a processes for an user on Linux

Got to start remembering this one - notice use of "inverted pings" for indirection from the ps command to the kill command...

kill -9 `ps -u <username>`

Technote: Re-signed Java applets for Domino

Via the Lotus Domino Support RSS feed: Re-signed Java applets for Domino.

Technote: How to access .Net classes from LotusScript

Via the Lotus Domino Support RSS feed: How to access .Net classes from LotusScript.

Apply XSLT style sheet to an XML document for browser friendly display

Do you have an agent or similar that returns XML to the browser? If so you really should provide an easy to read format of the XML document - this post will show you how.


Rediscovering a lost gem - Stopwatch

There is nothing better on a Friday than to rediscover a lost code gem and then use it to quickly diagnose and solve a performance problem. Thanks to Burke LaShell for the code...