« This transmission is coming to you... | Main| Now Playing »

Corrections so you can work with Eclipse plug-in development


Click the read more for corrections to Brian Leonard's excellent article on implementing Eclipse plugins for Notes 8.

Brian's clearly got something besides beta 2 installed in something other than the standard location.  So I used my extremely generic fresh install.

Start the Eclipse IDE and set the target platform by doing the following:
   1. Choose Window - Preferences.
   2. Expand Plug-in Development.
   3. Select Target Platform.
   4. In the Location edit control, type c:\program files\ibm\lotus\notes\framework\eclipse
   5. Click the Reload button, and then click OK.

Next, you create an additional installed JRE:
   1. Choose Window - Preferences.
   2. Expand Java.
   3. Select Installed JREs.
   4. Click Add.
   5. For JRE name, enter a name of Notes JRE.
   6. Enter C:\Program Files\IBM\Lotus\Notes\framework\rcp\eclipse\plugins\com.ibm.rcp.j2se.win32.x86_1.5.0.SR2-200703011549 for the JRE Home Directory.

Next, you create a new runtime configuration by following these steps:
   1. Choose Run - Run, and then select Eclipse Application.
   2. Right-click and choose New.
   3. Enter a name (for example, Notes).
   4. Under Program to Run, select Run a product, and then select com.ibm.notes.branding.notes.
   5. In the Runtime JRE, select Notes JRE.
   6. In the Arguments tab, enter the following in the Program arguments text box:
      -personality com.ibm.rcp.platform.personality
      -product com.ibm.notes.branding.notes
      -debug
      -console

Enter these arguments in the VM arguments text box. (NOTE: Make sure you erase any parameters that are already there.  If you leave existing arguments in, you're likely to break the syntax.  I spent an hour discovering this.)
-Xshareclasses
-Drcp.home=${rcp.home}
-Dcom.ibm.rcp.install.id=${install_id}
-Drcp.install.config=user
-Dosgi.install.area=${rcp.home}\eclipse
-Dcom.ibm.pvc.osgiagent.core.logfileloc=${rcp.home}\rcp
-Dcom.ibm.pvc.webcontainer.port=0
-Declipse.pluginCustomization=${rcp.home}\rcp\plugin_customization.ini
-Declipse.registry.nulltoken=true
-Djava.protocol.handler.pkgs=com.ibm.net.ssl.www.protocol
-Djava.util.logging.config.class=com.ibm.rcp.core.internal.logger.boot.LoggerConfig
-Dosgi.hook.configurators.exclude=org.eclipse.core.runtime.internal.adaptor.EclipseLogHook
-Dosgi.framework.extensions=com.ibm.rcp.core.logger.frameworkhook
-Xbootclasspath/a:${rcp.home}\rcp\eclipse\plugins\com.ibm.rcp.base_${rcp.base_version}\rcpbootcp.jar;

Next, follow these steps to complete the runtime configuration:
   1. Click Variables, click Edit Variables, and then click New.
   2. Enter rcp.home for the name.
   3. Enter C:\Progra~1\IBM\Lotus\Notes\framework, and then click OK.
   4. Click Variables, click Edit Variables, and then click New.
   5. Enter rcp.base_version for the name.
   6. Enter 6.1.1.200703011549, and then click OK.
   7. Click Variables, click Edit Variables, and then click New.
   8. Enter install_id for the name.
   9. Enter the random number for the value (that is, 1149682348828), and then click OK. For example, if Notes data is located at C:\Documents and Settings\bleonard\IBM\RCP\1149682348828, then the random number is 1149682348828.
  10. Click OK and then Cancel to the select variable dialog box (if you click OK to select variable, it will add the variable at the insertion point).

To enable Notes security from the IDE, you need to uncomment two lines. In C:\Program Files\IBM\Lotus\Notes\framework\shared\eclipse\plugins\com.ibm.notes.branding_3.0.0.20070307-1430\notes_plugin_customization.ini, uncomment the following two lines by removing the leading # character:

#com.ibm.rcp.security.auth/loginEnabled=true
#com.ibm.rcp.security.auth/loginConfigName=NOTES


Comments

1 - Just like "plug and play".... Emoticon

2 - Were you able to create the update site for the sidenote plugin? It works fine in Notes when I run it from eclipse, but when I try to generate the site for distribution using the "build site" menu selection it has an issue finding the external jar files that I needed to include to support some of the functionality (sun.misc and java.nio). I'm including the external jar files in the project so I am not sure why it cannot find them.

John

3 - Nathan, I just wanted to follow up and post that I found my problem. I needed to change eclipse window->preferences->java->installed JREs to jre1.5.x and also change the compiler compliance level to 5.0. Now I can create the update site for the plugin distribution.

Regards,
john

Post A Comment

:-D:-o:-p:-x:-(:-):-\:angry::cool::cry::emb::grin::huh::laugh::lips::rolleyes:;-)

Hire Me 

Lotus-911-Logo.jpg

Search 

Disclaimer 

Welcome to Escape Velocity!

Opinions expressed here by Nathan T. Freeman are not necessarily those of his employer. However, there's a decent chance they are, so check with them if you really want to know.

But really... do you need that kind of validation? Are the opinions expressed here in doubt?

MiscLinks