Lotus Traveler and iPhone agenda mark private

One of my manager dislikes the switch from blackberry to iphone because he couldn’t set his calendar entries as private.

Of course you should care about the issues of you VIP.

To manage this, I have done the following :

1. Add a view to his database which display the caldendar entries with a “#” in the subject.

2. Create an agent in a second database which monitor a list of mail databases every 5 minutes.

3. The agent process all the entries in the view and remove then from the view. Each document is mark as private…

The VIP has only to put a “#” in the description of the caldendar entry.

Simple but not perfect, there is a window of 5 minutes in which the document is not private… I haven’t found a better handler to manage it…

I could give you the database if you are interested.



Generating an excelsheet with POI…

It’s very easy for an lotusscript developer to generate an excel sheet with some OLE… but when the code should be run on the server it’s getting bad.

My last entry was about to pass a vector to the java API from lotusscript. Here some background to create the excel sheet with POI.

Of course you should customize this code to fit your solution. If it run on the server with a lot of instances, remember to do some stress tests to avoid some servers issues.


First get – POI Export with poi 3.2


Second – ls2j and dynamic array

Dynamic arrays in lotusscript with ls2j

Last week, I was facing a tricky issue. I wanted to use some java to create an excel sheet. The POI java API requires a java vector. I created a dynamic array in lotusscript (to adjust the numbers of rows of my excel sheet) but when I called the POI API I’ve got an ugly error. The trick is to declare a variant, then affect the dynamic array to the variant and pass it to the JAVA API. So easy !


Lotus notes FT-Search, looking for non present field…

I wanted to do a lotusscript FT-search of the non existence of a field in documents… let’s begin some head aches… hopefully with google I found quickly a solution.

NOT [fieldname] is present

Thanks to Alan… here the full post :


Lotus script – GoogleMap localisation class

Hello, this simple class allows to display a google map from the lotus notes client ! There’s missing the Window’s API reference. Tell me if you want the lss file with all the references…

Greetings !

Class GoogleMapStreetUrl
Private sUrl As String
Private sStreet As String
Private sCity As String
Sub new()
End Sub
Public Function setStreet(psStreet As String) As Integer
sStreet = Replace(psStreet, ” “, “+”)
End Function
Public Function setCity(psCity As String) As Integer
sCity = Replace(psCity, ” “, “+”)
End Function
Public Function getUrl() As String
Dim sNewUrl As String
sNewUrl = Replace(sUrl, “%LOC%”,sCity)
sNewUrl = Replace(sNewUrl, “%STREET%”,sStreet)
getUrl = sNewUrl
End Function
Public Function open() As String
Dim url As String
url = Me.getUrl()
Call ShellExecute ( GetActiveWindow(), “open”, url, “”, “”, WIN_NORMAL)
End Function
End Class

Easy lotusscript picklist class for your apps…

When creating your application it’s always painful to remember how to generate a picklist… here comes in play my class (which is part of my own private framework).

Which 3 lines of code, I’m doing a picklist… let me explain…

Dim pl As New DbPickList(Nothing)
Set docRet = pl.getSingleDocument()

The first line allows you to create the picklist object which contain the notesuiworkspace object. The class contains member functions to set every parameter of the original picklist function. Defaults values are set when instantiating the object. There is two basic function to display the picklist 1. getSingleDocument() which return a simple document and getMultipleDocuments() which give you the notesdocumentcollection. Give a look to the class, it’s easy.

Link to the lss file

First download the .lss file and put everything in a script library. Then you should add the use statement.
The class allows you to customize easily the picklist but it is more convenient than the ugly function from the notesUiworkspace… give it a try and enjoy.

One cool thing is to derivate the class and then create all the picklist you need in a new class, then you’ve got centralized your picklists in a central class which allows to simplify the maintenance cycle of your app.


How to execute Visual Basic from JAVA ? – part 2 – autostart your VB…

In our last article we have seen how to start word from JAVA. Now we will start word with a document in parameter and then we will put an autoopen marcro in our document.

JAVA – Code

String sCmd ;

sCmd = “C:\\Program Files\\Microsoft Office\\OFFICE11\\winword.exe ” + “\”c:\\Mes documents\\Doc3.doc\”” ;

try {
} catch (IOException e) {

This will start word with a special document.

The next step is how to autostart the VB code.

You can put in your document macro the autoopen, which will automatically starts when the document is launch

VB – Code in the document

Sub autoopen()

Load UserForm1

End Sub

Ok, this is a simple way to starts VB from JAVA. Of course you can’t synchronise your programs and also you can’t pass parameters. This is not a perfect integration but it can helps you to reuse easily something which exists already on your system.
Of course it breaks the main advantage of JAVA to be multi-system, but the world isn’t perfect… for now.