All the below tips are written for the IBM Notes MULTI-USER CONFIGURATION client on Citrix on IBM Notes releases 8.x to 8.5.3FP2. While it’s possible to use some of the below tips with other versions, it’s not recommended, or at least not until you’ve thoroughly tested them. And you are going to test these anyway, before using, RIIIGHT?
In your %NOTES_PROGRAM%\framework\rcp\deploy\jvm.properties file, search for
jvm.shareclasses.loc=
As of release 8.5, this is configured as
jvm.shareclasses.loc=${rcp.data}/.config/org.eclipse.osgi
which you want to change to
jvm.shareclasses.loc=c:/temp/xpdplat
to allow all users to share ONE cache file, rather than build one each in their data directory.
Also add the following line, if missing:
vmarg.Xnolinenumbers=-Xnolinenumbers
see also: http://www-01.ibm.com/support/docview.wss?uid=swg21330177
In your %NOTES_PROGRAM%\framework\rcp\eclipse\plugins\com.ibm.rcp.j2se.win32.x86_1.6.0.20080416-200806200100 file, REMOVE:
<singleJVM>
So the line should look something like this:
vmarg.Dshare=-Xshareclasses:name=xpdplat,controlDir=${prop.jvm.shareclasses.loc},groupAccess,keep,nonfatal
Remove config.system.* entries
In your %NOTES_PROGRAM%\framework\rcp\rcplauncher.properties file, REMOVE:
config.system.2=${rcp.home}/rcp/systemdata
config.system.1=-data
Please note that the line:
rcp.install.id=133154848636
MUST be the same across all Citrix servers in order to not have Notes clients re-run provisioning at each launch. The value 133154848636 above is not meant to be copied and pasted, however, but be sure to choose a value from your own environment and duplicate it across your Citrix servers.
Set/Increase Eclipse memory
In your %NOTES_PROGRAM%\framework\rcp\deploy\jvm.properties file, ensure that the following default parameters are set:
vmarg.Xmx=-Xmx256m
vmarg.Xms=-Xms64m
This is one entry that has often been recommended to increase to 1024 and 128 respectively, however with Citrix more than user will be using a client on the same machine – think number of concurrent user sessions multiplied with possible memory requirements for the JVM.
Remove arg * values to fix installer errors
In your %NOTES_PROGRAM%\framework\rcp\systemdata\.config\args.properties file, REMOVE:
arg4=-config
arg5=system
Note: depending on Notes release, it might be the arg2 and arg3 lines you need to remove.
In order to prevent registry error due to insufficient end user permissions, do the following
In your %NOTES_PROGRAM%\framework\rcp\eclipse\features\com.ibm.rcp.portal.feature_6.2.3.20110915-1350\handler.properties file, COMMENT OUT:
exec.command.win32x86=”${plugin.dir}\\${plugin.dir.com.ibm.rcp.ca.utils}\\register_ca.bat” “${rcp.home}” “${plugin.dir}\\${plugin.dir.com.ibm.rcp.ca.utils}\\register_ca.reg”
Then go to your %NOTES_PROGRAM%\framework\rcp\eclipse\features\com.ibm.portal.feature_6.2.3.20110915-1350\handler.properties and COMMENT OUT:
#exec.command.win32x86=”${plugin.dir}\\${plugin.dir.com.ibm.portal}\\register_cai_url.bat” “${rcp.home}” “${plugin.dir}\\${plugin.dir.com.ibm.portal}\\cai_register.reg” “${product.install.dir}” “${plugin.dir.com.ibm.portal}”
In your [IBM Notes Shared Data Directory]\notes.ini file, ADD:
Ports=TCPIP
TCPIP=TCP,0,15,0 -> Note that this sets port encryption to OFF, which is appropriate for Citrix; Port compression adds 5% CPU overhead and with 60 concurrent sessions this would result in needing 3 dedicated CPUs for just port compression
DISABLE_CLIENTRECORD=1 -> This disables logging of client information back into the public address book as all Citrix users share the same machine.
log=,1,0,7,40000 -> This disables logging, which is optional but gains a slight performance improvement
CREATE_R85_DATABASES=1 – make sure that the shared notes.ini does NOT contain CREATE_R8_DATABASES=1
Edit the Registry
In your end user registry, make sure that the following entries are set:
HKLM\Software\Lotus\Notes\MultiUser=0x000001
HKLM\Software\Lotus\Notes\9.0\MultiUser=0x000001
Compact all templates in the shared data directory as follows:
- TEMPORARILY copy the root notes.ini (as changed in above steps!) from the shared data directory to the notes program files directory
- open cmd.exe
- run %NOTES_PROGRAM%\ncompact.exe -ODS -* [IBM Notes Shared Data Directory] MPORTANT: Notes.ini must first contain a notes.ini with CREATE_R85_DATABASES=1
- DELETE the notes.ini copied in step a.) (=the one in the program dir, NOT in the shared location)
- When done, you can copy all templates over to other Citrix servers.
Bonus Tip
Last but not least, we strongly advise you to investigate the following CLIENT/DATA DIRECTORY housecleaning options from time to time on clients – naturally, panagenda MarvelClient makes this easy:
- clean out ($Policies) views in (client) names.nsf once (only do this upon analysis of startup times; contact panagenda support for details)
- compact desktop
- compact names.nsf
- compact desktop8.ndk
- compact bookmark.nsf
- compact log.nsf
A special thanks goes to Christian Henseler, who has contributed to much of the above. And for those of you who really want to dig in, check out this fantastic IBM White Paper!
Happy optimizing!