Using SharePoint 2007 to Index a Lotus Notes Database
A couple of months ago, we wrapped up a POC that used SharePoint 2007 to index a Lotus Notes Database.
There exist a few good articles on this topic. Notably, Ed Hild's blog and Microsoft's help file. However, the how-tos are based on SharePoint 2001/2003. The good news is: this piece of the puzzle has not changed very much since SharePoint 2003. Most of the steps are still applicable. Nevertheless, here's a brief update on what we did for SharePoint 2007.
It's probably worthwhile to note that SharePoint is able to honour notes security with security trimming. This means that end-users will only see documents that they have access to. However, to keep things simple in this how-to, we will skip the security portion. If you need to implement security trimming, take a look at Knowledge Base article Q288816. Truth be told, that's not a trivial task and whether it works depends largely on environmental factors. Hopefully, Microsoft fixes these issues in subsequent hotfix and/or service pack releases
Step 1. Install the Lotus Notes Client
First, we will install the Lotus Notes client on the SharePoint Search server performing the indexing. Depending on the existing environment, you can choose to install Lotus Notes Client R5 or R6.x. For our POC, we chose to install R5. Tests on our VPCs showed that R6.5 could be used as well.
Take note of the directory in which the application is installed (e.g. c:\lotus\notes\). We will require this bit of information later on in the configuration.
Once the note client is installed, ensure that its able to connect to the server and databases successfully. The notes account will be the same one used by SharePoint to access and index the databases. Minimally, this account will require read access to the database - it should not need higher rights.
Step 2. Download the Lotus C++ API Toolkit
SharePoint requires a library file named lcppn30.dll. However, this file is not distributed with SharePoint so we will have to download it from IBM's website. The file is packaged as part of the Lotus C++ API Toolkit. Once extracted, copy it to the C:\Program Files\Microsoft Office Servers\12.0\Bin directory.
Step 3. Run the Lotus Notes Index Setup Wizard
With the notes client installed and the lcppn30.dll file copied, we are ready to roll. Execute the NotesSetup.exe file located in the C:\Program Files\Microsoft Office Servers\12.0\Bin directory. This launches the Lotus Notes Index Setup Wizard.
After the welcome screen, you will be presented with a dialog requesting you to enter:
1. The location of the notes.ini file (usually in the notes installation directory)
2. The notes installation directory (we noted this down in step 1 e.g. c:\lotus\notes)
3. The password of the account used to connect to the notes directory (the account has already been specified when we tested the connection earlier)
4. Because we are ignoring notes security, we will check the box that says "Ignore Lotus Notes security while building an index.".
The last screen summarizes the settings to be configured. Click Finish to commit the changes. And if all goes well, you will get a nice little message informing you that the configuration has succeeded.
Step 4. Create a Lotus Notes content Source
After the Lotus Notes Index Setup Wizard successfully completes at least once, you get a new option to create a Lotus Notes content source.
Choose to create a Lotus Notes content source and you get to select the server and database to index.
Once created, the Lotus Notes content source can be managed just like any other SharePoint content sources.
We needed to convert the URLs generated by SharePoint to use the "notes://" protocol instead of the "http://" protocol as our databases were not web-enabled. But other than that, the solution was good to go!
If you encounter any problems, the knowledge base articles written for SharePoint 2001/2003 may provides some clues.