Sunday, June 29, 2014

A deep look under the hood of the Notes Standard client.

The IBM Notes Standard client is an eclipse RCP (Rich client application) which has hundreds of extension points to extend the functionality of the application. This extension point allows you to extend notes in ways which were absolute impossible to do in versions prior Notes 8. The only problem is that the documentation of the extension points is still very weak and i have no hope that this will improve significantly in the next time.

So i have created a tool to graphically browse the extension registry of a running Notes client. It shows you all possible extension points with the defining plugin in in a tree structure. You can open every extension point and see which plugins extend this extension point with what parameters.

See the following screenshot for an example. I have opened the com.ibm.rcp.ui.shortcutButtonSet extension point in the com.ibm.rcp.ui (Marked with a red frame). This is the extension point which has to be used to extend the masthead in Notes 9 with your own icons. We see that all actions that are available in Notes are defined in the com.ibm.notes.client plugin (Marked in green) In the next level of the tree you can see what values the com.ibm.notes.client uses to extend the extension point. This can be very valuable source to find out how this extension point works and what to do to use this point for your own extension.




The extension spy is also a very good tool to find out the id of toolbars or menus to extend them. For example go to the org.eclipse.ui.menus extension point and see how the Notes client extends the menus to get an idea where to place your own menu points.


You can find all information's how to install the Extension Spy in your Notes client on the Extension Spy download page. Install it and leave a comment what you think about this tool.

2 comments:

  1. Wouldn't it be better to have a web based client (html 5) and extend that?

    ReplyDelete
  2. Web based clients have their strength, but i prefer rich clients, because the rich client has much better offline capabilities and the performance is also much better then every web application i have tried.

    ReplyDelete

ad