Expeditor, and by extension, Notes are both built on the Eclipse framework. The Eclipse framework consists of a small core runtime and a collection of plugins, which run on top of this runtime. Expeditor and Notes are both plugin sets that run on top of the Eclipse runtime.
A plugin is essentially code that can be dropped into an Eclipse installation and contributes to the framework through extension points.
A full list of extension points can be found in the Platform Plug-in development guide in Eclipse Help. In an Eclipse development envirconment, click on Help->Help Contents and choose Platform Plug-in development from the list of help topics.
Creating the first plugin
It is recommended you use version 3.2.2 of Eclipse when developing plugins to be deployed on Expeditor 6.1.x or Notes 8.0.x
To set up your Eclipse development environment, refer to the article "Setting up the Expeditor toolkit".
From the Eclipse File menu, choose "New -> Project...".
Select "Plug-in project" from the list of projects. Make sure the plug-in is targetted to run against Eclipse 3.2.
On the next screen, leave "generate an Activator" selected and "Would you like to create a rich client application?" deselected. Select "this plug-in will make contributions to the UI" if you are making a plug-in with UI contributions. Leave deselected if you are creating a non-UI plugin to be used by other plugins. On the next page, deselect "Create a plugin using a template".
Anatomy of the plugin
Inside the plugin, you will see the following files/directories:
src/ - This is where you put your Java code.
META-INF/MANIFEST.MF - This is where the name and version of your plug-in are defined and where you can specify other plug-ins, on which your plug-in depends.
plugin.xml - This file won't be present when you create your first plugin, but it is where you define your extensions.
build.properties - This file defines what will be packaged when you export your plug-in
Plugin manifest editor
Eclipse comes with a graphical editor, which allows modifications to MANIFEST.MF, plugin.xml and build.properties from a single UI.
To open the manifest editor, double-click on either MANIFEST.MF, plugin.xml or build.properties to open the UI.
From here you can cycle through the various configuration options through the tabs at the bottom of the UI.
An extension in the plugin.xml file will look like:
<sample id="..." ....
Because an Eclipse installation can contain hundreds of plugins that a user will not use most of the time, the Java code within a plugin is not loaded until it is needed. However, a plugin will often need to contribute to the platform even when it is not being actively used. In order to contribute without using code, we use extensions. Eclipse will parse the plugin.xml files for all plug-ins on startup, and create stubs for any extensions it finds.
Notes UI extension points
Composite application extension points
Property broker extension point: com.ibm.rcp.propertybroker.PropertyBrokerDefinitions