ShowTable of Contents
The XPages2Eclipse API and Add-on products are implemented as a set of Eclipse plugins and features and make use of the
XPages Extensibility API provided by IBM.
This Extensibility API is available as of IBM Lotus Notes 8.5.2, which therefore is the minimum requirement for XPages2Eclipse as client and server platform.
XPages2Eclipse is implemented as pure Java code (no native libraries) running against Eclipse and Lotus Notes APIs. The product was tested on Windows and Linux based Domino servers and Windows, Linux and Mac as Notes Client platforms. It is expected that the server part will also run on other operating systems, but these platforms (e.g. AIX) are currently not officially supported.
General Deployment Hints
The XPages2Eclipse installer comes as an NSF database that is based of the
Eclipse Update Site design template.
A step-by-step installation wizard guides through the installation and setup process for the product:
Three installation steps are required:
1. Create Keystore databaseThe keystore database is a Lotus Notes database that is used to store XPages2Eclipse license keys.
Two type of keys are required to use the XPages2Eclipse product:
Developer and User licenses.
A
Developer license is required for each Notes ID that signs code which calls XPages2Eclipse API methods (e.g. an XPage or a SSJS library design element). And for each user that is using such an application, a
User license is required.
XPages2Eclipse is
secure by default. It
will not run any code on a user machine, unless at least one Developer license key is installed for the right Notes ID (the Developer key includes a User license for the same ID).
To set up the keystore database, extract the database template from the installation wizard page and create a new database instance. Normal users should only have reader access to this database, so you should only give editor rights or higher to privileged users that need to manage license keys.
2. Open keystore and request license key
3. Install plugins/features through widget deployment
This template contains the Eclipse plugins/feature as well as some code that dynamically creates a
widget, which is an XML file named "extension.xml" that is used for both manual and automatic plugin deployment.
The widget XML code is created on the fly when the database is opened. It contains the server and replica id of the installation database and the dynamic creation makes sure that the installation will succeed (and the Notes Client will be able to locate/download the plugins) even if you create a copy of the installation database on your own Domino Server.
The database contains a pretty basic user interface with a few installation hints:
x
Manual Deployment in Notes Client / Domino Designer
Manual installation of XPages2Eclipse on a workstation is just a matter of drag&drop. Drag the widget to the widget panel of your Notes Client, confirm the plugin installation and let the Notes Client restart itself. That's it!
If Lotus Notes reports any errors during installation, you should find a detailed error report via "Help/Support/View Trace" and can hopefully track down the issue (e.g. disk full, installation database cannot be resolved).
It's also possible that custom plugin installation is prohibited via policy by your administrator. In that case, you should ask for installation rights or schedule an automatic deployment on your workstation.
Automatic Deployment in Notes Client / Domino Designer
The recommended way to automatically deploy Eclipse plugins/features to a number of workstations is to
- copy the XPages2Eclipse database to a Domino server
- open the installation database on the server and save the "extension.xml" widget XML file file to a local folder
- set up a widget catalog database
- create a new catalog entry, import XPages2Eclipse widget XML file and assign a category value (e.g. "XPages2Eclipse")
- configure the Domino policy
In the policy document, you can specify one or more categories of the widget catalog that should be deployed automatically. By removing categories from the policy, the plugins/features will be deleted from the Notes Client installation on the next startup.
To deploy an update, replace the widget in the widget catalog with a newer version. The Notes Client automatically checks for newer versions every 24 hours and will initiate a software update including Client restart.
Additional setup steps are required for a completely silent deployment (that means no installation prompts to confirm the plugin code signature and installation).
Please refer to the Domino Administrator documentation and the provided wiki articles for details. For our German audience, I have attached very good and detailed session slides of René Winkelmeyers Plug-in session at Entwicklercamp 2011 to this wiki article (see the attachments section).
The following Lotus Notes and Domino Wiki articles will give you a step by step guide in plugin deployment:
Deploying the IBM Lotus Learning Widget using a Widgets Catalog and policy documentsDeployment GuideDeployment on Domino Server
The XPages2Eclipse installation database contains code from the OpenNTF project
Plugins Deployment for Domino that makes the deployment process on Domino Servers very easy.
The following steps are required to deploy XPages2Eclipse on a Domino server:
- copy the installation database to the server
- sign the database with a Notes ID that has admin privileges on the server (the deployment agents will access the filesystem to add/remove plugin archives)
- open the installation database and click on the link "Manage Update Site"
- in the "Server Deployments" view, create a new Server Deployment document, enter the server, select the features/plugins to be installed and check/uncheck the options as required
- activate the agents "DeployOnSchedule" and "DeployOnServerStart" in the database design
The installation database can also be used to deploy plugin updates and remove plugins from the Domino server.