The IBM Lotus Domino System Verification Test (SVT) team
tested several environmental configurations for the Lotus Notes®
client 8.0 release. This document describes testing done with Citrix.
A Notes multi-user configuration is not supported with a Citrix
environment. The multi-user Notes client is not Terminal Services
aware, and so the Installer creates an incorrect NOTES.INI file and
places it in the wrong location, in %SYSTEMROOT% instead of
"Documents and Settings\AllUsers\Applications\Lotus\ Notes\Data".
In brief, the fix is to move the ini file to the correct location and
ensure that the following lines are included:
SharedDataDirectory=C:\Documents and Settings\All Users\Application
The install is explained in more detail below.
Presentation Server (formerly Citrix MetaFrame Server) is a remote
access/application publishing product that allows people to connect
to applications available from central servers. One advantage of
publishing applications using Citrix Presentation Server is that it
lets people connect to these applications remotely and securely.To
the end-user, the application appears as if it was installed and
running on their computer (seamless desktop integration), whereas in
reality, the application is running on the Citrix Presentation
Server, usually hosted in their corporate environment. Networks using
Citrix Presentation Server can be likened to a mainframe-terminal
system, where a central powerful computer does most of the processing
work and smaller, much less powerful machines provide the user
Citrix Presentation Server is built on Citrix Systems' thin-client
protocol, called ICA (Independent Computing Architecture). ICA
transmits high-level window display information and clients are
available for different operating systems including MS Windows (16-,
32- and 64-bit), Mac, Linux and other UNIX-like systems. The server
is hosted on a Windows machine.
In a real-world scenario, Notes Client would be published on the
Citrix Presentation Server and each end-user would access it from
their own individual (dumb) terminal. However in a test environment
multiple end-users are emulated to run on a single client machine (in
practice there are 2 or more client machines, but each still hosts
multiple end-users). Therefore the client machine needs to be set up
to run multiple users each with their own individual Notes client
session, even though each user is actually accessing the same Notes
client install on the server.
Set-up of Notes Basic
Multi-User install for Citrix testing
After successfully installing the Operating system, install the
Citrix server and configure the licenses if you have them ready. You
can still progress without them.
(0) To be able to generalize the initialization of each Notes Client
instance as much as possible in notes.ini, map a drive letter to the
user's name path (FOLDERID_Profile
SET DaS=Documents and Settings
net use P: "\\<DNS server
e.g. net use P:
End users only need to have user rights, not Admin rights.
Because this test environment does not utilize an Active Directory
server, the home directory (containing the file user.id)
had to be set for each user.
A shared folder (called HomeDrives) on the Citrix Server 1
machine was created, with the share name HomeDrives$.
On our test scenario groups in the shared permission properties
consisted of the following:
Remote Desktop Users (e.g. [server name]\Remote Desktop Users) Full
Control, Change & Read
REMOTE INTERACTIVE LOGON Full Control, Change & Read
TERMINAL SERVER USER Full Control, Change & Read
Users (e.g. [server name]\Users) Change & Read
In Computer Management->System Tools->Local Users->Users
: Properties->Profile under Home folder, click Connect
radio button and specify H:.
In the To: field specify the user's home directory folder:
\\<dns-servername>\<shared directory>\%userprofile% (will
be resolved by windows to the current user's name).
In the lab scenario for 8.0 testing, the
\\<dns-servername>\<shared directory> was set on Citrix
(1) Install Lotus Notes Client 8 Basic by selecting Multi-User
installation on the Data drive (C:\Program Files\ibm\Lotus\notes).
This helps in creating a default configuration in the FOLDERID_ProgramData
(2) Because the installer does not properly discover the terminal
server as a multi-user OS, it places the notes.ini file in the C:\Windows
directory, where it should be deleted because it is not properly
(3) Create notes.ini and ConfigFile.txt files in FOLDERID_ProgramData+LNdata
(i.e. C:\Documents and Settings\All Users\Application
Directory=P:\Local Settings\Application Data\Lotus\Notes\Data
SharedDataDirectory=C:\Documents and Settings\All
Configfile=C:\Documents and Settings\All
;InstallType 6 Client Only"
;Parameters "for R7"
##### All Users predefined section ends here ++++
Domino.Name=<DNS of Domino server>
Domino.Address=<ip address of Domino server>
(4) Because the installer does not properly discover the terminal
server as a multi-user OS, the registry key to indicate this to the
notes.exe is not properly set. Launch regedit and modify:
the value from 0 to 1.
the value from 0 to 1.
Changing these values allows multi user Notes Client setup.
(5) Disable the Multi-user Cleanup OS service through the GUI tool
(The Notes Client is not using the Notes roaming feature and there is
nothing to be cleaned up):
Go to Start Menu
--> Run, and type services.msc in the Open
Locate the Multi-user
Right click on the
service and go to "Properties".
Drop down the
"Startup Type" list, and choose "Disabled".
(6) The directory FOLDERID_ProgramData+LNData\Common
stays unchanged, all is fine.
(7) In the directory FOLDERID_ProgramData+LNdata\Shared,
carefully remove any template you don't need in your environment, but
be careful not to remove any essential Notes Client system templates.
NOTE: The work balancer of the Citrix farm distributes work between
Citrix servers in the farm. This generally works very well, even at
peak times. However it can still happen (within seconds) that
multiple users get assigned to one Citrix server. The caveat
unfortunately is if those users still have to run through the initial
setup of the Notes client and by chance launch notes.exe at the very
same moment. Those 2 users try to access the templates in the FOLDERID_ProgramData+LNdata\Shared
directory at the same time. Those files are read-only on OS-level by
OS-ACL but Notes itself tracks how often NSFs and NTFs are accessed and
allows only a single instance of Notes Client to do so.
At least one user may encounter a failure and receive the error
"This database is currently being used by someone else. In
order to share a Notes database, all users must use a Domino Server
instead of a File Server."
which will cause the setup to stop.
The workaround would be to replace the full design element filled up
NTF-files by NTF-link files which redirect the open database action
onto a Domino server:
<DNS name of domino server>!!<template
filename>.ntf (these templates could reside in
Note / Exception:
Only log.ntf should stay as an original template on the Citrix
server, because this template is used very early on by the Notes
executable, well before the client establishes a connection to the
Domino server to pull the design from there. For all other templates
it will minimize the chances that two users try to access a template
at the same time during their initial Notes Setup and at least one
would receive the error. (You could omit log.ntf completely: the
Notes Client will run but just constantly report in the status bar
that it is missing the log.ntf file).
The remaining templates get replaced (except the log.ntf !) with link
files, pointing to a domino server. Sample file list:
Note on Permissions to C:\Documents and Settings\All Users\Application
When users log in to multi-user Notes, the following error may
"The Notes client requires an up to date bookmark template,
BOOKMARK.NTF. Please obtain a copy and restart Notes."
You can work around this problem by manually enabling Write
permission on the shared data folder.
To change permission's on the Shared folder:
1. Log in to a workstation with the Multi-User installation using
the Administrator account.
2. Right-click on the folder: C:\Documents and Settings\All
3. Select Properties - Security tab - Users group
4. Enable Write permission and save changes
5. Check other groups have permissions as well : all groups and
users should have all permissions EXCEPT the Users group, which
does not have the Full Control permission.
When the users start Lotus Notes for the first time, the standard
configuration wizard starts for client configuration.
This is what will happen when the user logs on for the first time:
A. The FOLDERID_Profile (users profile in C:\Documents
and Settings) will be created or pulled from the Active directory
B. The drive letter P: is mapped to the (Citrix-server's) local
userprofile directory (FOLDERID_Profile)
C. When the users start Lotus Notes for the first time the standard
configuration wizard starts for client configuration, or the
configuration is read from ConfigFile.txt
D. The data directory for the user will be created in
FOLDERID_LocalAppData (the users profile directory in the following
C:\Documents and Settings\%UserName%\Local
E: The userloginNotes.cmd checks whether the NotesData directory
exists in CSIDL_APPDATA of the just pulled userprofile directory:
C:\Documents and Settings\%UserName%\Application
If it exists, it creates the directory tree
C:\Documents and Settings\%UserName%\Local
and in there NSF-link files to the existing NSF in the userprofile.
It copies the user.dic
It is recommended to test a crashing client in Citrix environment,
how the Citrix Server and all the logon & logoff scripts behave
if the Notes Client hasn't been able to cleanup its environment
properly. To crash a client there is a utility on Lotus Sandbox (http://www-10.lotus.com/ldd/sandbox.nsf/Threads/CCCA569E9B9810D185256C5300448031?OpenDocument)
called nCrash.dll. Add the following line to Notes.ini:
New notes.ini parameter in Notes 8 to be tested:
This parameter has not been implemented in the 8.0 test
scenario, because there were no clustered Citrix servers in the farm
with a configured work balancer.
Most notes.ini entries could be implemented and provided in the OS
system environment by adding a prefix NOTES_. The advantage would be
that those will be read first, before the Notes Client reads the
values from the notes.ini file, which skilled end-users could modify.
For example, NOTES_TCPIP=TCP,0,15,0 would load the Notes client each
time with unencrypted network connections to avoid unnecessary CPU
load, because the main connection between the Citrix-based Notes
Client and the Domino Server may occur in the same encapsulated data
Single point of administration for the whole Citrix sever farm
without touching various OS batch scripts or Domino Policy docs.
NOTES_Directory=P:\Local Settings\Application Data\Lotus\Notes\Data
NOTES_SharedDataDirectory=C:\Documents and Settings\All
NOTES_Configfile=C:\Documents and Settings\All Users\Application
;InstallType 6 Client Only"
To ease the length and readability of this documentation,
abbreviations from http://msdn2.microsoft.com/en-us/library/ms649274.aspx
are used for some system paths, e.g.:
FOLDERID_Profile C:\Documents and Settings\%UserName%
FOLDERID_ProgramData C:\Documents and Settings\All
FOLDERID_RoamingAppData C:\Documents and
FOLDERID_LocalAppData C:\Documents and
Settings\%UserName%\Local Settings\Application Data
and the subdirectories \Lotus\Notes
or \Lotus\Notes\Data are represented by
adding +LN or +LNdata
CSIDL_COMMON_APPDATA+LN is where the
common notes.ini and configfile.txt will reside
where the templates will reside
CSIDL_APPDATA C:\Documents and
Notes Basic Testing with Citrix
The goal of this testing was to verify sustained user activity levels
were at an acceptable performance level over a period of 7 days for
multiple users logging into and performing actions on a single Notes
Client via Citrix.
Performance Tester was used to test Notes 8 with Citrix. The script
covered the following:
(1.0) creating and sending an email with an attachment to multiple
(1.1) switching views and opening and closing other emails
(2.0) creating a test calendar entry with an attachment and mailing
to multiple users
(2.1) switching views and opening and closing other calendar entries
The users were run on two Citrix clients which had the IBM Rational
Agent Controller installed. 25 users were split over both these
Overall this SVT test was successful. No issues specific to the Notes
Client or Domino were found, and it was determined that a multi-user
Notes Client install accessed by users through Citrix works well and
Resource usage on the Rational Performance Tester machine meant we
were limited to a maximum of 25 users for this particular setup,
though a shorter run of 50 users was completed with no noticeable
degradation to the performance of the Citrix clients, Citrix servers
or, importantly, the Domino servers.
Additional hardware is planned for the 8.01 test time frame which
should allow the performance of a greater number of users to be