Over the last months I’ve built some XPages controls and functionality via the XPages Extensibility API and an Eclipse IDE. While I realize that most XPages developers use Domino Designer to build their controls and applications I’ve summarized below how I’ve set up my Java/Eclipse development environment since I’ve heard more and more developers recently asking for how this can be done.
The Extension Library documentation (page 6ff) describes the core setup of the Eclipse IDE. Basically you need Eclipse 3.4 or 3.5 and then you need to define the target platform. In difference to the documentation I point it to the Domino server rather than the client. You can do this by pointing to the two directories rcp and shared.
The main reason is that I want to be able to use the Domino Debug Plugin from David Taieb. After you’ve installed this plugin in your Eclipse IDE you can debug your Java code without having to deploy/export your changes first to the Domino server. The screenshot shows the new option ‘Domino OSGi Framework’.
You still have to deploy to Designer though if you change the interfaces of controls (xsp-config files). Luckily you rarely have to do this. I deploy the plugins by exporting them in my own directory c: otesframeworkextlibeclipseplugins. In order for Notes/Domino to find these plugins you have to do a couple of things (one time setup):
A) In c: otesframeworkrcpeclipselinks create a extlib.link file with this content: path=c:/notes/framework/extlib
B) Allow usage of these plugins by changing the default security settings in data/workspace/.config/org.eclipse.update/platform.xml. Note: Do not do these changes on a production environment. Only do it in your development environment.
B1) The transient attribute in the first config tag should be set to false.
B2) All the occurrences of MANAGED-ONLY value should be replaced by USER-EXCLUDE (generally in 3 places)
Every time after you’ve done an export of your plugin(s) from the Eclipse IDE you have to restart Designer via the command “designer.exe -RPARAMS -clean”.
To get started with Eclipse XPages development check out the simple extensibility samples on OpenNTF.