Friday, January 19, 2007

Integrating Domino Data with Microsoft SharePoint Services

Interesting article by Tony Patton on how IBM's Domino can integrate with Microsoft SharePoint Services. It uses the domino agent to retrieve XML content from the Lotus notes database which can then be consumed by SharePoint. Another possible solution to integrate SharePoint and Domino.

Wednesday, January 10, 2007

Displaying the Correct Titles of Lotus Notes Documents in SharePoint Search Results

Liam has posted a great article on configuring SharePoint to search Lotus Notes.

The post reminded me that I missed out a part of the configuration steps - how to get the titles to show up correctly. By default, the search results display the GUID of the Notes document which isn't pretty. For example, you may get results which resemble the following:

Having Guids as titles really does not make any sense to anyone reading it.

What I like best about this part of the configuration is that it demonstrates how flexible SharePoint can be. Here, we have a Lotus Notes document which is at best an alien to SharePoint. It was created by a completely different organisation (IBM) and may be tweaked and customized by Notes developers anyway they deem fit. Yet, we can easily configure SharePoint to understand what fields the Notes document has. Pretty neat, huh?

The answer lies in the Metadata property mappings. You can access the Metadata Property Mappings page from SharedServices Administration Page > Search Settings > Metadata property mappings.

1. Where is the Title Stored?
First,we need to take a look at the fields available in our Lotus Notes document. Lotus Notes documents stores its Title/Subject in a variety of places. To locate the name of the field, we'll have to take a look at the document's fields. To do so, simply open the document using the Lotus Notes client. Right-click anywhere on the document and select Document Properties...

A dialog appears showing the document's properties. Look for the field that contain's its title. For example, in the diagram below, the field is named Subject

2. Link the SharePoint's Title field to the Lotus Notes Document's Title field

Next, we will use the Metadata property mappings administration page to link the document's Title field to SharePoint's Title field.

In the Metadata property mappings administration page, click on the managed property named Title (you may have to navigate to the second page to find it) and select Edit/Map Property.

In the Mappings to crawled properties section, click Add Mapping. The Crawled property selection dialog appears in a new window.

In the Select Category field, choose Notes. Select the property you would like to map to. In our case, we will choose the Subject field. Click OK.

Back at the Edit Managed Property page, click the Move Up button twice to give the notesfield higher priority over the Basic:displaytitle(Text) field. Click OK to save the changes.

3. Start a Full Crawl

Finally, start a full crawl so that SharePoint and index the new Notes property. After the crawl completes, you will find that the correct title now appears in the Search results!

Saturday, January 06, 2007

I've been tagged - 5 Things you may not know about me

Stefan, my co-writer for the MCMS books we've written has tagged me. I'm suppose to list 5 personal details that you may not know about. Well, I've never really shared any personal secrets on my blog before (it's a Tech blog), so this will be a first :-)

1. I was born a left-hander but was trained to use my right hand to write. Now, I perform most tasks with my left hand except holding a pen or mouse.

2. I once shot a 3-in-1 at Air Rifle practice when I was at Junior College. And yes, I shoot better with my left arm than my right.

3. My childhood ambition was to be a vet. But the encounter with my neighbour's Apple IIe (he was an Apple engineer) changed all that. My brother and I would sneak over to his house to play computer games with his son and run back before he got home. I was 7 years old then.

4. I studied electrical engineering in University, specializing in wireless technologies. My final year thesis was about building a "multi-layered suspended microstrip low pass filter". It gave me the taste of being on the bleeding edge of technology. I enjoyed it immensely but thought it was better matched with my interest in computers.

5. I started participating in the MCMS community with a pseudonym so that I could keep my activities hidden from the watchful eyes of the then conservative culture at my ex-company. You may have known me as "Trevor". No, I'm neither a cross-dresser nor someone with a complex alter ego. The name was chosen randomly such that no one who looked at it could remotely link it to me. I have since changed jobs and retired Trevor.

I've now got the license to tag 5 more people and I'm tagging Kit Kai, Chewy, Howard, Serena and Lilian.

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.

I'm an MCTS for SharePoint: Configuring!

Just received the good news that I've passed the beta exam for 071-630, TS: Configuring Microsoft® Office SharePoint® Server 2007. Woot! It's my first exam for the new Microsoft certification track.

Update 4 Jan 07: I peered into my mailbox this morning and was surprised to see the letter notifying me that I've passed 071-631, TS: Windows SharePoint Services, Configuring too! Coolness!