Using a standalone NSF for a composite application with Eclipse features

I decided to post the second half of this article on this site because it is so much easier for me to work with my editor and images. (sorry)

The second half of the posting is about creating a single NSF that will house the CA definition and Eclipse update site. This will make distribution of the application very easy – deploying on a server or sending a single file around. The benefits of this model are there is only one file (the NSF) and it contains all of the Eclipse features within that file.

You first start by creating a new application from File | Application | New menu. Then you select “Eclipse Update Site (8)” as your starting template:

Now that you have the database you need to import your Eclipse features and plugins into the database. I usually export my stuff into an Eclipse update site and select the “Import Local Update Site” option from the view actions:

After that is complete, you should see the results in the Features and Plugins views:

Notice the feature name and versions? You will need to remember this stuff later.

Now open the Domino Designer and edit the application. You will see a new folder on the left named Composite Applications. Select that view and now you can create a blank composite application definition like so:

Notice you can export and import CA XML from other sources, like a file or stream saved from Portal.

Once that is done, modify the application properties and make this NSF launch as a composite application:

Now close Designer and go back to your Notes client. Open the NSF you just created. You should see a blank composite application. You will then select from the top menu Action | Edit Application:

This now puts you into the Composite Application Editor. This is where you can create pages and drag components from the palette onto the screen. The next step is to modify a components advanced properties to place the Feature information on the component. This tells the composite application infrastructure code to install these features when this application is accessed or upgrade them if a prior version is already installed.

Right click on a component and bring up its Component Properties:

Select the advanced properties button on the next screen to show the Advanced Properties Dialog box:

You might have to click on the that image to read it. The key here is the format of the entries for the provisioning code. The properties have four entries per feature that needs to be installed:

id.Feature_N – the feature name and you increment the N each time
match.Feature_N – the feature match rule, same as eclipse. Usually compatible
url.Feature_N – the URL to the feature. Notice the picture shows an NRPC URL using the Notes replica ID and then the site.xml
version.Feature_N – the version of the feature.

You can get the Replica ID of a database from the DB properties:

I know I kind of went quick and I did not really go into “creating the application” (ie. pages, layout, wiring, components, etc) but I wanted to get the underlying high level concepts across.

Tags: : : :

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.