XPages, Lotus Notes/Domino, News and sth about Finland

Increase JVM and make Lotus Notes 8.x Standard client run faster

Peter Arndt  1 June 2011 11:12:50

 Probably all of you know this already, but I tried it right now, because we had some latencies on Windows7 platform. it seems, my client almost blast off :-)

Serious, it feels much faster, indeed.

first I give you the summary of the article I found:

For users on the Lotus Notes 8 Standard client, this article provides information on checking the Java Heap size and adjusting it to half of your system RAM in attempt to get the Lotus Notes 8.x Standard client to run faster

For users on the Lotus Notes 8 Standard client, this article provides information on checking the Java Heap size and adjusting it to half of your system RAM in attempt to get the Lotus Notes 8.x Standard client to run faster...
C:\Program Files (x86)\IBM\Lotus\Notes\framework\rcp\deploy\jvm.properties

There are actually 2 settings of interest in this file: The starting heap size (vmarg.Xms) and the maximum heap size (vmarg.Xmx).

We set both of these to 1024, but don't exceed your physical memory size, or the JVM will crash.

Here are the default values...

We change them to...
Make sure you close the Lotus Notes client before you do this, and that all the Lotus Notes client processes have stopped.
There is a maximum: For those of you blessed with even more memory, 1024 is the maximum I recommend you put in there. I've tried larger numbers, but the speed increas is minute, and in the region of 1500~1700m the client becomes unstable.

You can use this for other RCP/Expeditor/Eclipse based offerings:  just find the jvm.properties file or eclipse.ini file.
In WebSphere Business
Modeler, it's Eclipse.ini

I add a link i found, but read the comments as well, because there are some failures in the main post. 



Hope this helps to rollout the standard client :-)


Interim Fix 1 for Notes 8.5.2 Fix Pack 2 (852FP2IF1) is AVAILABLE

Peter Arndt  1 June 2011 08:51:19

 Interim Fix 1 for Notes 8.5.2 Fix Pack 2 (852FP2IF1) is AVAILABLE

Check out the SPR Fix List here:




Microsoft Sharepoint 2010 unterstützt IE6 NICHT mehr !!!

Peter Arndt  25 May 2011 13:20:04

 die Welt ist doch gerecht,

selbst Microsoft bekommt seine Styles für Sharepoint 2010 nicht mehr IE6 kompatibel,

...oder ist es nur Strategie, um den Lizenzverkauf für Windows 7 zu steigern :-)

Wer schon mal CSS für IE6 entwickelt hat, empfindet das "Schlotzen" einer Handvoll Reißnägeln als wahres Vergnügen :-)

Es sind wohl nicht nur CSS Probleme sondern auch im OnLoad Event gibt es Fehler....

...einfach herrlich



XPages Keep Session Alive Script

Peter Arndt  1 April 2011 08:39:21
Thanks to Philippe Riand, he gave me the hint, how to implement a "Keep Session Alive" script, when he was at the SIT GmbH "Lotusphere Comes To You" -Event  in Ehningen, Germany.

As you probably know, there is a Component of the XPages Extension Library, called "Keep Session Alive".
-> XPages Extension Library

But what, if you actually not ready to use the extensions in your XPages application yet. Furthermore you want to set your XPages session timeouts differently to the server settings. Here you find an article in the IBM/ Lotus Domino Wiki.
You will find in the application properties (properties.xsp) 2 values, one for the application timeout and one for the session timeout.

In Domino 8.5.2 it is recommended to increase the application timeout, so the JSF Tree is kept in memory for that time. In Domino 8.5.3 you can define if an application or XPage should already be loaded in memory at server start.

The session timeout could be set for short period, e.g. 5 minutes, if you have an application which is used by a high amount of users, and if you are using the Keep Alive feature.

The "Keep Alive" feature pings every half minute, before the timeout ends, so the session will stay alive as long the browser is opened.

                                       var dbpath = '#{javascript:facesContext.getExternalContext().getRequestContextPath()}';
                       var sTimeoutSec = (parseInt('#{javascript:context.getProperty("xsp.session.timeout")}' || 30) * 60) - 30;
                               {XSP.keepAlive=function xe_ka(){
                                   setTimeout('XSP.keepAlive()',sTimeoutSec * 1000);
                                   dojo.xhrGet({url:dbpath + '/xsp/.ibmmodres/ping',
                       setTimeout('XSP.keepAlive()',sTimeoutSec * 1000)}


If the xsp.session.properties value is not set, script will take 30 minutes by default.
You can copy and paste the Code as it is to your XPages Source Code, or add just the JS code inside the CDATA block to an available ScriptBlock.

Hope this is useful for you.


Don’t call an input field ’action’ if you use dojo on XPages

Peter Arndt  22 November 2010 22:06:16
Hi everybody,

we had a really curious problem with dojo and Xpages, Be aware about this:

The problem was as follows:
  • custom control contains repeat control
  • an event with partial refresh did not function. Full update performed action on all items in repeat control
  • noticed a dojo.js script error: form.action empty
  • custom control contains hidden input field named 'action'
  • renamed hidden field to 'todoaction' and partial refresh event functioned properly

Let’s pass a XPages Document Data Source to a custom control

Peter Arndt  21 November 2010 19:31:13
It's time to give an example on how to pass a XPages Document Data Source to a custom control.

The examples I found on the web, didn't work in my environment, so I had to figure it out for myself.

I needed to define a document datasource in a custom control, because I have there some fields, which are working with values from that document. This custom control has a tabbed table, where each of the tabbed panels have a custom control embedded. So I didn't want to initiate again the same datasource for each embedded custom control, because in the matter of performance it is much better to pass a datasource.

First a Screenshot of the tabbed Panel:

Image:Let’s pass a XPages Document Data Source to a custom control

Property definition in Custom Control

Image:Let’s pass a XPages Document Data Source to a custom control

How to use the Data Source

a) in a computed field

"true" id="computedField7" value="#{compositeData.ConfigSource.Subject}">        

b) in a rendered - Script:I:

Passing the Document Data Source from the parent Xpage (or parent Custom Control)
The initiated document source is passed by the " ConfigSource" - Property.

                                getAllEntries="false" getMarkedEntries="false"

Hopefully this helps.
Peter Arndt

How to handle timeout exeeded on XPages

Peter Arndt  10 November 2010 09:24:31
Hi everybody,

I was struggling against the "timeout exeeded" box, when using partial refresh on Domino Xpages.

Now I found a solution, which seems working.

First of all, i checked the partial refresh event option "Set partial execution mode", so it won't go through the whole JSF Lifecycle.

Second is to set the XSP.submitLatency.

I found a discussion thread in the IBM Forum which gave me the idea:


I set the XSP.submitLatency  value inside the XSP.addOnLoad - function.

<xp:scriptBlock id="scriptBlockXSP" xp:key="header">
                XSP.submitLatency = 60000;

If you have the same issue, hope this helps, and if you have a better idea, i would be really interested in it, please let me know


Neuheiten Lotus Notes 8.5.2 in der Übersicht

Peter Arndt  29 September 2010 12:46:42
Hallo Leute,
seit  Anfang September 2010 ist die neue Lotus Notes  Version 8.5.2 verfügbar.

Hinter folgender Verknüpfung findet sich eine Tabelle mit den neuen Funktionen in IBM® Lotus Notes 8.5.x zusammen mit Erläuterungen zu ihrer Verwendung aufgeführt. Dort sind sowohl die Neuheiten im Client zu 8.5., 8.5.1 und 8.5.2 aufgeführt.

Auch im Wiki für Lotus Notes und Domino unter http://www-10.lotus.com/ldd/dominowiki.nsf/dx/Getting_started_Lotus_Notes_8.5.2  ist dazu eine Liste der Neuheiten sowie eine Referenzkarte (Handout) zu finden
Echtes Killer Feature find ich in 8.5.2 das Speichern einer Mail als ".eml" Datei, dazu näheres im nächsten Beitrag.
Und für alle, die über langsame Startzeiten im Notes Client klagen, gibt's auch da was, den Lotus Notes preloader, aber auch dazu mehr in den nächsten Beiträgen,
bis dahin, Euer
Peter Arndt 

Notes/Domino 8.5.2 ist seit Ende August 2010 verfügbar, aber auch mit kleinen

Peter Arndt  14 September 2010 08:32:38
Seit Ende August ist nun Notes/Domino 8.5.2 verfügbar. Notes/Domino Fix List 8.5.2

Wer es heute schon produktiv nehmen will sollte folgende 3 Technotes beachten :

Auf das folgende Routerproblem bin ich bei http://www.news4notes.com/ aufmerksam geworden.
Users stop receiving mail and SMTP task on server shows 50-100% CPU utilization

Installationsabbruch von Domino 8.5.2 gab es bei einigen unserer Kunden auch unter Windows32
Domino Installation bricht mit -JVM not found- ab

Ergänzung 29.09.2010:

Auf folgenden Fehler sind wir noch durch einen aktuellen Upgrade letztes Wochenende bei einem unserer Kunden aufmerksam geworden:

Domino server crashed frequently after upgrade to 8.5.2 in DbSearchSyncUnread function

Aber nicht verzeagen, für alles gibt's einen Hotfix :-) ... und die SIT steht auch mit Rat & Tat zur Seite.

Seit Notes 8.5. gibt es eine LotusScript LSX für Lotus Symphony

Peter Arndt  25 March 2010 14:26:33
Lotus Symphony LotusScript API

Eine wertvolle Erweiterung, um Notes Inhalte in Lotus Symphony Dokumente oder Spreadsheets zu übertragen.

Demo Notes Datenbank Lotus Symphony LotusScript API