Re-use of existing NSFs in new applications without design changes in Lotus Notes

For composite applications it is key to be able to assemble existing components without changing them first. That is because sometimes you don’t have access to the component’s code and/or you are too afraid to touch a running system and/or there is nobody in your company anymore who knows how to do it and/or you just don’t want to redeploy your component.

Because of this we have over the last years added more and more functionality in Lotus Notes/Expeditor to re-use existing components without changing them first. We started with so called built-in properties and actions. For example even in 8.0.1 there is an action to filter the current UI view by category which is available to all NSFs. There are also other built-in properties and actions for NSF components and since 8.5 also built-in properties and actions for Eclipse components (e.g. minimize component).

At roughly the same timeframe as 8.0.1 we also put out there the first version of the composite application catalog at OpenNTF.Org. This catalog comes with the so called URL processor component. It allows other components to ‘listen’ for view entry selections in Notes views. Then your component can access via the Notes URL the selected document and read all column values and document fields and forward them to other components. There is also a web clipper component in the catalog that allows to clip some data from a web application via regular expressions and forward it to other applications.

In Lotus Notes 8.5 there is now another new way to do similar things. We call this new infrastructure generic containers. Notes 8.5 will come with one implementation of such a generic container, the web container. Post 8.5 we’d like to make a Notes view container available. There are many more of these containers in the pipeline and we even allow (already in 8.5) to implement your own container. In this blog entry I want to focus on the web and the Notes container.

Here is a simple sample. Contacts view at the top and a web form to enter registration for Lotusphere at the bottom. When you select someone in the view the fields in the web form are automatically populated. This application has been assembled without designer access to the NSF or access to the design/code of the web application.

The Notes container (Notes PIM view container) can be configured as shown in next screenshot. Essentially it allows to publish properties when Notes view entries are selected. The properties are values from either the columns or the fields in the document. The properties can even be calculated via @Formulas which makes this really powerful.

The web container configuration is a little different. Essentially you need to define which fields map to which actions/properties and you need to address fields via their name in the form. In other scenarios if you want to publish values you can also use xpath to address content.