Friday, 27 April 2012

Integrating with IBM Lotus Symphony from Java/.Net/XPages applications

Following link contains the sample code to work with IBM Symphony via COM object. The same object can be called from Visual Studio as well. IBM LOTUS SYMPHONY ON MAC

Also, since Lotus Symphony is built on top of OpenOffice and supports ODF formats. I would suggest using ODF specific packages available on OpenOffice site. The output will be rendered correctly on Symphony.

There are Java and Lotuscript Toolkit available for Symphony related development:

The Lotuscript code which is very near to VB code or else can call the Java classes directly from the .Net code.

If someone wants to extend Lotus Symphony functionality, you can write extensions as well:

Friday, 13 April 2012

High Availability for Lotus iNotes Installation

High Availability for Lotus iNotes Installation

I am looking for various options available for achieving High Availability with Lotus iNotes installation. The article outlines the options available, work that Domino experts have done and the best option that suits my requirement.

Following available options are possible:

1. ICM (Internet Cluster Manager): ICM only provides initial redirect to correct Domino Web Server. But once user has opened a webpage and server goes down, user has to manually switch the URL to point to the other server or browse the ICM URL again.

2. Hardware based Load Balancer

3. Software based Load Balancer: 

Following two options are possible with Domino: Websphere Edge Proxy Server and Apache Web Server. In this article, we'll use Apache Web Server for Reverse Proxy and Load Balancer configuration. 

It seems like Daniel has already done all the hard work.. He has published a great series on the same topic !! The article is in Spanish, but can easily be translated in English via Google Translate. Please copy the code from Original version only..

I setup the following piece of code in httpd.conf: 

I setup two Domino Clusters as follows: 

Cluster1 - Server1, Server2

Cluster2 - Server3, Server4

<Proxy balancer://Cluster1/>

BalancerMember route=Server1

BalancerMember route=Server2

ProxySet lbmethod=byrequests



<Proxy balancer://Cluster2/>

BalancerMember route=Server3

BalancerMember route=Server4

ProxySet lbmethod=byrequests



ProxyPass / balancer://Cluster1/ stickysession=inotesses nofailover=Off

ProxyPassReverse / 

ProxyPassReverse / 


ProxyPass / balancer://Cluster2/ stickysession=inotesses nofailover=Off

ProxyPassReverse / 

ProxyPassReverse / 


RewriteCond %{HTTP_COOKIE} _clusterses=Cluster1 [NC]

RewriteRule ^/((mail|iNotes|icons|domjava)/.*)$ balancer://Cluster1/$1 [P]


RewriteCond %{HTTP_COOKIE} _clusterses=Cluster2 [NC]

RewriteRule ^/((mail|iNotes|icons|domjava)/.*)$ balancer://Cluster2/$1 [P]



IBM Connections plug-in for Lotus Symphony 3.0.1

IBM Connections plug-in for Lotus Symphony 3.0.1 

This plug-in, which was demonstrated at Lotusphere 2012, is now available. As announced on the download page...
The IBM Connections plug-in lets you add Lotus Symphony files to an activity or a files, create To Dos for activity users, post a Symphony document to a blog or a wiki, or search IBM Connections for a person's profile or other content.


I'm downloading now!

Link: IBM Connections plug-in for Lotus Symphony 3.0.1 >

Multi-Database Search Plugin: A Must Plugin for Lotus Notes Client:

I have found and installed this wonderful plugin for Lotus Notes Client v8.5 and above..

To install the same goto File -> Application -> New option. Add the downloaded site to Eclipse Local Folder option and it will install the plugin to your Notes Client.

Once installed, configure all the Local Archives, Mail Files in it to search in a single click. - Open Source Community for Lotus Notes Domino

Multi-Database Search Plugin

Owners Bob BalfeCategory
Productivity Tools
Contributors Igor BelakovskiyPlatform
R 8.5.1
Downloads745Download latest releaseLast ReleaseOct 25, 2010
(2 ratings)
Project CreationOct 25, 2010
Status Not activeShort URL Not defined
Description Search multiple databases with the normal search user interfaceIn Catalog

You can search multiple databases using the search toolbar in the Lotus Notes client.

You can set what databases to search using the Search | Multi DB Search Preferences panel:


Preference Screen

Preference Screen

Thursday, 12 April 2012

Announcement: Workflow for XPages

XPages - Announcement

Announcement: Workflow for XPages

Phil Riand, Qian Liang and team have contributed a new project to OpenNTF - Workflow for XPages.

Read the following deck for a description of the project.

Wednesday, 11 April 2012

Create Report of Latest Notes Client Installed on Users in the Domain


One of our customer asked to generate a report of current Lotus Notes client version installed on user’s machines across the country. Fortunately, Lotus Notes Client store the information about the Client Installation in Person document. There is a field called ClntBld which contains all the builds that a particular person has installed on his machine. However, this multi value field doesn’t store these values in expected sequence. The latest information can be at any position of multi valued field.

Therefore, the below mentioned approach first determines the latest date of Build being added to person document from ClntDate field, then retrieves the relative information from ClntBld field.

Use this formula for a view column to get the latest build from Addressbook:

lst := @Sort(ClntDate;[Descending]);
ClntBld[ @Member(@Text(lst[1]); @Text(ClntDate))];


Installation Help for Lotus Domino

Lotus Domino

IBM Redbooks: Optimizing Lotus Domino Administration

IBM Redbooks: Lotus Notes and Domino version 8.5 Deployment Guide

Lotus Notes


Lotus Traveler

Installation Help:

System Requirement:


Friday, 6 April 2012

Lotus Notes : Restrict Attachment size before Saving Email Document

Below is the code that needs to be added to the QuerySave event of Memo and Reply Forms.
Also, change the Max. Attachment size as required.

Below is the code that needs to be added to the QuerySave event of Memo and Reply Forms.
Also, change the Max. Attachment size as required.

Sub Querysave(Source As Notesuidocument, Continue As Variant)
    If source.InPreviewPane Then Exit Sub
    '**  Configure Attachment Size here ***********
    Const ATTACH_SIZE = 5 'MB
    Dim ws As New NotesUIWorkspace
    Dim uidoc As NotesUIDocument
    Dim doc As NotesDocument
    Dim totalSize As Long
    Set uidoc = ws.CurrentDocument
    Set doc = uidoc.document
    Call uidoc.GotoField("Body")
    Call uidoc.refresh(True)
    Dim rtitem As Variant
    Dim embedObjs As Variant
    Set rtitem = doc.getFirstItem("Body")
    embedObjs = rtitem.embeddedObjects
    totalSize = 0
    Dim oneMB As Long
    oneMB = 1048576
    If Not Isempty(embedObjs) Then
     For i = 0 To Ubound(embedObjs)
      totalSize = totalSize + embedObjs(i).filesize
     If totalSize > ATTACH_SIZE * oneMB Then
      Msgbox("Your total attachment size is " +Cstr(Round (totalSize /    oneMB,1)) +" mb.  The limit is " + Cstr(ATTACH_SIZE) + " MB.")
      continue = False
      Exit Sub
     End If
    End If
    Call source.FieldSetText("useApplet", "True")
    Call cMemoObject.QuerySave(Continue)
End Sub