XPages in Notes Client is one area that is receiving constant development.
With 8.5.3 we gained Domino server and Notes client preferences XPagesPreload=1 and XPagesPreloadDB=myServer!!myDb.nsf/myXPage.xsp,myLocalDb.nsf/test.xsp. These preloaded the XPages runtime and preloads specific databases.
Then with 9.0 we gained the functionality in Notes Client to define XPages that need to run on the server on a new XPages Performance tab in the Preferences.
Enabling applications to run on server has a number of moving parts and a few quirks. But the goal has to be making this as seemless for users as possible.
But that alone has no impact. The Notes Client preferences also need updating to define that the client should run the application on the server, on the XPages Performance tab as in the screenshot above. You need to specify the application, the server it should look to and the host name. This is defined as optional because by default the runtime will use “www.” + server name + “.com”. If that’s your host name, you will not need to fill in that cell. Otherwise, it is required to get it to point to the relevant host name.
You’ll notice I reference SBT here. That’s because the XPages SBT Demo database will not work properly unless it’s set to run on a server in Notes Client. The IBM Connections functionality will fail to generate the correct URL format, but the problem is resolved if the application is set to run on a server. In most scenarios that’s a method that’s not unreasonable: if you’re wanting to connect to something like Connections, you’re unlikely to be connecting to a local installation, so it’s not unreasonable to expect you to connect to a server-based installation of Domino as well as a server-based installation of Connections.
But, as I mentioned, the ideal goal is for all this to happen seamlessly for users. And by putting together a few disparate pieces of learning, I’ve identified how to do it. Notes Client preferences are either stored in Notes.ini or as Eclipse preferences. And as I’ve blogged about previously, it’s possible to export those preferences to the files system as a .prefs file, which can be opened in something like NotePad. From that you can find the relevant Eclipse plugin id, plugin name and value.
Any notes.ini setting or Eclipse preference can be propogated to users using a Desktop policy. These are found in a Desktop Policy document on the Custom Settings tab (you’ll need to click the right arrow to scroll to that tab). That presents a secondary tabbed table. The first tab holds the notes.ini settings to be propagated to anyone who has the policy assigned to them. The third tab, Managed Settings, allows other Notes Client preferences to be propagated. Clicking the Edit List… button, you can copy across the relevant settings.
The plug-in name is com.ibm.xsp.rcp and you can then check Enforce and/or Set Initial Value. The item name begins “perf.runon” and contains the server and application name. Bear in mind that in the preferences file “” is changed to “\”, so you’ll need to change that back. The value is what’s after the first pipe symbol, so Server_Name|host|Host_Name. Again, the “:” part of the host name will need changing to just “:”, because the colon is escaped in the preferences.
Bear in mind also that the Edit List… dialog doesn’t populate the boxes correctly from pre-set settings for the preference. So when you select the setting, it fills the plug-in name box but not the rest. In order to change a value, short of hacking the field, I had to remove all settings then add them back in.
But with this knowledge, not only can you propagate this Notes Client preference to any users, but also any other Eclipse-based preference.