Wednesday, January 03, 2007

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.

Final Steps

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.

10 Comments:

At 4:35 AM, Anonymous Anonymous said...

I followed all the instruction above and got stuck at the point where I clicked on "Lotus Notes" for the content source type. At first, I couldn't see any databases under the dropdownlist, even if I specify the server name, I don't see any databases for me to choose. Then I tried to run the NoteSetup.exe again, and now when I click on the Lotus Notes radio button, I get this error on the next error saying "Exception from HRESULT: 0x80041206"! I tried to find resolution on the internet, but still no luck! Any ideas? Please help! Thanks in advance...

Carrie

 
At 10:53 PM, Anonymous Anonymous said...

The notes.ini or that notes path may not do blanks contained otherwise comes HRESULT: 0x80041206.

 
At 10:34 AM, Anonymous Anonymous said...

Hi the above article is much helpful to me. But i am also getting the same Hresult error when i click on search settings from SSP. Can you please help me to solve this issue.

 
At 5:26 AM, Blogger Soemantri Widagdo said...

How do you do the last step:
converting the URLs generated by SharePoint to use the "notes://" protocol instead of the "http://" protocol as our databases were not web-enabled.

Please explain it in a plain language as I am not an IT person :(

 
At 5:27 AM, Blogger Soemantri Widagdo said...

How do I do the final step:


converting the URLs generated by SharePoint to use the "notes://" protocol instead of the "http://" protocol as our databases were not web-enabled.

Thanks

 
At 5:28 AM, Blogger Soemantri Widagdo said...

How do I do the final step:
converting the URLs generated by SharePoint to use the "notes://" protocol instead of the "http://" protocol as our databases were not web-enabled.
Thanks

 
At 12:52 AM, Anonymous Anonymous said...

Hi

I had problems with running NotesSetup.exe on the sharepoint server it just seemed to hang at the last point. To get over this I set the environment variable on the server so that it included the path to where the Lotus Notes progeam was installed. i.e C:\Program Files\lotus\notes
After this this part of the install work.

 
At 9:12 PM, Anonymous Anonymous said...

To Soemantri:
You need to create "Search Settings/Server name mappings" like
http://server:port/
notes://server/

 
At 5:12 AM, Anonymous Anonymous said...

There is a hotfix for failure of server name mappings when crawling Domino databases: http://support.microsoft.com/kb/937208

 
At 9:37 PM, Anonymous Anonymous said...

Thanks for the nice post!

 

Post a Comment

<< Home