The Lotus C API Extension Manager — Extend the Reach and Power of Your Applications

Jon Champlin, Senior Software Engineer, IBM


February, 2010


The Extension Manager feature of the Lotus C API toolkit for Notes/Domino allows you to run custom code before and after certain internal Notes or Domino operations take place. Find out how to use it in your application development by creating extension manager add-in files for both the Notes client and the Domino server. Learn to install the proper compilers, set up the environment variables, and code the hooks and callback routines for your extension manager. Discover your options for compiling and linking the code and finally deploying your extension manager to the client or server.


You can add powerful new capabilities to your Notes and Domino applications using the same mechanism that many add-in products — such as anti-virus software and archiving products — use to perform their functions. To control what happens before or after certain Notes and Domino events, you can register callback routines with an extension manager that you create. The callback routines enable the extension manager to take the information passed to and from the internal Notes or Domino routine and read or modify it before the processing completes.
This mechanism is useful in a variety of ways — for example, performing alternate authentication methods for Web sessions on an HTTP server, storing data in an alternate format (such as mySQL) in addition to storing it in Notes/Domino, and adding access control to applications that interface with external security systems. An extension manager allows Notes and Domino to interact with any application that offers an application programming interface (API).
I’ll show you how to use the Extension Manager feature of the Lotus C API toolkit to gain this kind of control for your applications. In Notes and Domino, the C and C++ interfaces are the best way to gain access to lower-level access objects such as the design elements of views, document information not accessible from other languages, and import/export filters. The C interface tends to be the most common-denominator language, so it’s a good choice if you wish to integrate your application with other applications.
For the purposes of this discussion, I assume you have some level of familiarity with programming in C and the Lotus C API for Notes/Domino. For an introduction to the C API, I recommend visiting the Lotus technical library on the IBM developerWorks site (“C API programming for Lotus Notes/Domino”).

Would you like to see the full version of this article?

If you are an electronic license holder to THE VIEW, please log in to view this article.

If you would like information about becoming an electronic license holder — and having 24/7 unrestricted access to all articles and content in THE VIEW Online Knowledgebase — click here to see the available subscription options.

Or call 1-781-751-8813 to speak directly with a subscription and licensing specialist about customized access for you and your team.