Lotus Domino


14/7/2006: 7:22 am: Justin FreemanLotus Domino, Free & Open Source Software, SUSE Linux

Well, it definitely *feels* like Christmas in July. There is no less than 3 major software releases I’ve been hanging out for which are scheduled for release this month, these include:

  • VMWare server: released yesterday. Simply amazing software. I cannot recommend this software enough. Virtualise your server management, run multiple operating systems on the same server, simultaneously. Brilliant software and perhaps the most innovative software this decade?
  • SUSE Enterprise Desktop 10 & SUSE Enterprise Server 10: due for release any day now. The beta has been out for a while now and is pretty solid. I’ve been KDE-man but with what Novell have done to the Gnome desktop, I may just switch! The great thing about Linux is that no matter what desktop environment I use - everything will just keep working.
  • Lotus Notes for Linux running on Eclipse: this one was a complete surprise announcement. I’m still a bit stunned by the way IBM have kept this one quiet for so long and then announced the release date with only two weeks notice - July 24th is apparently the date that Lotus Notes will run on a Linux desktop. I’ve been hanging out for this for a long time and in fact I’d all but given up.

In other news, we’ve all been pretty busy at Agileware. We landed a number of big projects and new clients which have been occupying our time. Hence, we’ve been pretty quiet on the Blog, apologies but work demands y’know.

Our focus has been to deliver a range of open source solutions to our customers. This has been met with amazing success, huge cost-benefits to the customer and incredibly reduced time-to-delivery. Here are some of the FOSS we have been working with:

  • Asterisk: VOIP PABX
  • BackupPC: Backup software for Linux. Backup laptops, servers, desktops, remote servers etc. Diff backups, comparison, data restore, Web-UI.
  • iFolder: Data synchronisation.
  • LAMP: Linux, Apache, MySQL, PHP
  • Zimbra: Enterprise-grade Email & Calendaring for Linux, Windows & Mac.
  • SME Server: Point-click-go Linux services.
  • Drupal: Web-based community framework & content management system. We’ve been deliverying training, public websites, custom web applications and Intranets. More about this later.
  • Linux server rollouts. An equal mixture of replacing existing Linux servers, installing new servers or retiring Windows servers.
  • Desktop Linux: Ubuntu, Kubuntu and OpenSUSE
  • And of course, integrating combinations of the above to deliver some really kick-arse solutions!

As you can see this is a diverse range of software.

In the pipe-line we’ve got:

  • A SUSE Enterprise Desktop 10 update coming up.The customer is already on SUSE Desktop 9. SUSE 10 will really kick butt. Windows Vista looks old and slow in comparison, my the tables have turned in such a short time.
  • A few more Zimbra & iFolder roll-outs. This combination really suits mobile workers who just want there data to be accessible where-ever they are, no matter what desktop they are using.
  • Probably a SUSE Enterprise Server 10 rollout replacing a group of Windows Servers.
  • I expect we’ll be doing some custom Linux workshops for a few customers.
  • Looks like Lotus Notes development is picking up again somewhat as a few of the local customers have finally upgraded to Domino R6.5 from Domino R5. It is however, also sad to note that a lot of the local industry has migrated off away from Lotus Notes. Oh well.
  • Oh yeah, and of course lots more Drupal work. We love Drupal :) Seems that the IBM developerWorks team agrees too!

As part of our work with FOSS, we are increasingly giving back to the FOSS community. Although we are a pretty small team, our contributions, no matter how small will benefit someone, somewhere else in the world. And that’s the whole point.

So we have been contributing back Drupal patches and even a custom module - Signwriter. With further modules on the way, contributing to the overall value of the Drupal project.

In addition, we have been developing a Drupal Training Workshop for end users (strictly non-technical users). The workshop has been run 3 times now for our customers. Feedback from attendees has been positive and encouraging. Everyone leaves the workshop fired up about what they can do with their new Drupal system. So that’s great affirmation. There is a dire need for Drupal training materials for end users, so we will also contribute this back to the community soon too.

Podcasts (and Videocasts to some extent too) have really taken off at Agileware and we’ve been listening to a diverse range of sources. My personal favourites being:

We plan on making some big changes to the public Agileware website and getting back into the groove of regular blogging. Our company has come a long way in the last 6 to 8 months, in fact almost a complete transformation. So as a consequence it will be time to change our website to do justice to our capabilities and talk more about what real solutions are being delivered using FOSS.

BLUG is firmly on my list of things to kick-off (OK, so it’s been 4 months from idea to action). There is a need and an interest in having a regular meet-up of BLUG-type people. So I’ll be sending emails and making calls to get this going soon. Can’t wait!

Signing off, Justin :)

22/3/2006: 2:34 pm: Justin FreemanLotus Domino, SUSE Linux

This press release from Novell’s Brainshare Conference 2006 caught my eye today. A great example of SUSE Linux and Lotus Domino in action.

The Ministry’s decision-making processes, correspondence and e-mail communications run through a central Lotus-based process management and documentation application. All correspondence is scanned into the application and initiatives are reviewed and approved through the system. Moving off an existing UNIX* deployment, the Ministry turned to a version of Novell’s SUSE Linux Enterprise Server specifically optimized for Lotus Domino* environments. The Ministry is also using SUSE Linux as the basis for the Ministry’s new Intranet portal, which holds key organizational information and workgroup applications such as facility reservation and notice boards for ministry employees.

Tom Francese, president, Novell EMEA. “Novell’s technology and its comprehensive service offering have enabled the Ministry of Defence to seamlessly migrate existing systems to Linux and smoothly and securely run critical applications on an open source platform.”

Read more of the press release @ novell.com/brainshare

24/2/2006: 6:45 am: Justin FreemanLotus Domino

This is our first Show’n Tell Thursday posting (what a great idea Mr. B Balaban and Mr. R Oliver!) and even though today is actually Friday, it’s better to be late than never! So here goes.

Show-n-tell ThursdaySince our office entirely moved to a Linux desktop environment, we ceased using the Lotus Notes client for email as it does not run natively under Linux (well, not yet at least…).

Instead we use the Mozilla Thunderbird Email (just a standard SMTP, IMAP, POP3 mail client) using SMTP/IMAP and SSL to send/retrieve email. The switch has been almost completely painless, with a few minor gotchas:

  1. Notes Mail has a unique feature whereby you can have a single email document in many Folders. This is not possible using IMAP.
  2. Moving email documents between Folders causes the document to be deleted from the database and recreated.
  3. Notes Mail uses Views for “All Documents”, “Sent” and “Drafts”. Using a IMAP client these are Folders and must be created separately. Which means that when you open your IMAP-enabled email using Lotus Notes you will have a “Sent” View as well as a “Sent” Folder.

Depending on your level of sophistication on using Lotus Notes these may or may not be major problems. For us these were really minor.

After using IMAP email for a few weeks, we noticed that all of the IMAP sent email appeared differently in the Lotus Notes mail client:

  • First of all, the email was being displayed in our new “Sent” Folder but was not being displayed in the “Sent” View.
  • Secondly, the “Who” column displayed the name of the Sender, not the recipient of the email. Which meant for me, that all of my sent email was addressed to “Justin Freeman”. Totally bizarre.

Some investigation revealed that the problem was caused by Domino stamping all IMAP sent email with a DeliveredDate field, which had the same value as the PostedDate.

Therefore, you would think that simply removing the DeliveredDate field from the IMAP sent email would solve the problem. Yes, this approach works when you know where the IMAP sent documents are all located, ie. the “Sent” Folder. Deleting the DeliveredDate field causes the document to be displayed in the “Sent” View and also display the correct value for “Who”.

But what happens when those documents are not in a known folder, how do you locate those? You need to search the Email database and locate all the IMAP documents, not a simple task.

So to identify a document created by a IMAP email client connecting directly to your Domino server, the following rules are used:

Document must not have the following fields set. As these indicate that the document was routed too, not created directly in the database.

  • Received
  • RouteServers

For Mozilla Thunderbird, document must have the following fields set:

  • DeliveredDate
  • PostedDate
  • $SMTPNotFromNotes
  • User_Agent

For Microsoft Outlook, document must have the following fields set:

  • DeliveredDate
  • PostedDate
  • $SMTPNotFromNotes
  • $Mailer

If the document meets the above criteria, then (I believe) it is a document created by a IMAP client. And the DeliveredDate can be removed.

You can then wrap this logic up into a simple scheduled Notes Agent that parses your email on a daily basis, fixing all of the IMAP sent email so that they display correctly within Lotus Notes. See below for an example.

Function to identify IMAP created documents

Function localImapSentDocument(docTarget As notesdocument) As Integer
'This function determines whether or not the target document was sent directly from a local IMAP client
'When this is performed Domino automatically assigns a delivereddate value which then interferes with the display of the "Who" column in the Inbox
localImapSentDocument = False
If Not docTarget.HasItem("Received") And Not docTarget.HasItem("RouteServers") And docTarget.HasItem("DeliveredDate") And docTarget.HasItem("PostedDate") And docTarget.HasItem("$SMTPNotFromNotes") then
'Check for email sent by Mozilla Thunderbird or Microsoft Outlook client
If docTarget.HasItem("User_Agent") or docTarget.HasItem("$Mailer") Then
localImapSentDocument = True
End If
End If
End Function

Example Agent code

Note: our internal system execution and error logging has been commented out:

Sub Initialize
'Dim syslog As New mylog(cAgent)
'sysLog.FunctionLocationA="Initialise"
'sysLog.FunctionDescription="Removes the delivereddate from imap documents"
'syslog.LogGeneral ("Starting")
On Error Goto errHdlr
Dim ns As New notessession
Dim dbCurrent As notesdatabase
Set dbCurrent = ns.currentdatabase
Dim colEmail As notesdocumentcollection
Set colEmail = dbCurrent.UnprocessedDocuments
Dim docEmail As NotesDocument
Set docEmail = colEmail.GetFirstDocument
Do While Not(docEmail Is Nothing)
'Check if this is a local IMAP document
If localImapSentDocument(docEmail) Then
'If so then remove the DeliveredDate
Call docEmail.RemoveItem("DeliveredDate")
Call docEmail.Save(True,False)
'syslog.LogGeneral ("Updated: " + docEmail.subject(0) + "; UNID: " + docEmail.UniversalID)
End If
Set docEmail = colEmail.GetnextDocument(docEmail)
Loop
'syslog.LogGeneral ("Completed")
Exit Sub
errhdlr:
'sysLog.ProcessError Err, Error$, PROCESSERROR_LOG
Exit Sub
End Sub

Technorati tags: ,

17/2/2006: 5:30 am: Justin FreemanLotus Domino

Found these demos on the IBM website which I thought were an excellent insight into where Workpace is now and the direction that Lotus Notes will follow in the very near “Hannover future” (2007 timeframe). Exciting times ahead!

IBM Workplace Managed Client delivers fully integrated, server-managed collaboration to the end user’s desktop. It provides flexibility and portability of client-side applications, combined with server-side control and cost savings traditionally associated with Web-based computing.

Workplace Managed Client

IBM Workplace Managed Client Demonstration

IBM Workplace Designer provides developers with an easy-to-use, yet powerful tool to build applications for the IBM Workplace environment.

Workplace Designer

  1. Creating an application
  2. Working with Views & the Schema Editor
  3. Deploying an Application
11/2/2006: 6:49 am: Justin FreemanLotus Domino

This UK Guardian article derides Notes Client user interface for the counter-intuitive features: menus, smart icons, user prompts, layout etc. And quite frankly, I’d have to agree completely with this sentiment. The Notes user interface *is not intuitive* and is *hard to learn*. The Notes client uses concepts and metaphors simply not comparable in any other Windows application, presents a multitude of menus and options which overwhelms new users. The Notes client is a very unique and overly complex Dinosaur.

From UK Guardian:
http://technology.guardian.co.uk/weekly/story/0,,1705106,00.html

Dave Delay, who worked on Notes from 1996 to 2002, points out that it is one of the few products Microsoft has tried - and failed - to wipe out. “People dislike Notes because their expectations don’t jive with the intent of the product. At its core, Notes is a runtime environment for collaborative applications, but when people complain about Notes, they are usually not talking about core Notes. They are talking about the Notes Mail and Calendar applications” (http://tinyurl.com/9v94z).

Delay’s remarks brought one sharp user retort, who observed that “Notes’s backend functionality has no bearing on us 100m or so end-users. As far as we are concerned the GUI is the system. And boyo… is the GUI client a heap of ill-conceived, non-intuitive rubbish.”

There is also an interesting post-article discussion on the author’s blog, where he received 60+ comments.

So is it all doom and gloom for the Notes client? Up until recently I would have certainly thought so. But wait… change is coming with the next major release of the Lotus Notes client, code named “Hannover” or Lotus Notes 8 which is due 2nd half of 2007. Check out the picture below for a preview (click for a larger image)…

The Hannover announcements have been a refreshing change of direction in the user interface strategy. It appears that IBM/Lotus have indeed heard their consumers complaints about the Notes client usability and they are committed to doing something positive about it. Hannover should address these issues and propel Lotus Notes into the 21st century. Here are some of the features I am looking forward to in the upcoming “Hannover” release of Lotus Notes:

  1. A reworked and user centric user interface
  2. Based on the Eclipse framework
  3. Extensible via Eclipse third party plug-ins
  4. Native platform support for Windows and IMHO more importantly Linux (yes there will be a Mac OS X version too)
  5. Domino server based provisioning (what this really means is that the Notes client can be downloaded / updated directly from the Domino server on demand - or something like that)
  6. Portalised application interface and new Portal features integrated into the Domino server
  7. An improved Notes Designer (developer) and Notes Administrator clients
  8. New and exciting application widgets

The Notes community and Notes end users *want* Hannover to succeed and I believe the future is very bright indeed.

Other Hannover useful links:

  1. Highlights from LotusSphere 2006 which includes more details and pictures of Hannover
  2. Hannover Home Page
  3. Hannover dicussion via Ed Brill
  4. Hannover FAQ
20/12/2005: 5:50 am: Justin FreemanLotus Domino

Domino R7 is a great product. Stable and runs lightning fast on Linux, thanks to the 2.6 kernel optimisations. So as a IBM Business Partner, I want to get the message out there that Domino is here to stay and is one of the best collaboration suites on the market today (and *fingers crossed* soon to be available on the Linux desktop).

So I’m currently on the look out for Domino R7 marketing kits with glitz and some zing! Surely these must exist… somewhere. I’ve not been able to find them to date.

Last time I checked on IBM PartnerWorld which had only R6.54 information at the time. And even that info. only talked about why people should upgrade to Domino from Microsoft Exchange or from a previous version of Domino. But what about people who are using neither or nothing at all? I couldn’t find any information for first-time customers who want to find out more about this product called “Domino”. Well, not officially from IBM (bloggers are a great source). Isn’t that totally bizarre?

As a comparison, Novell have an entire marketing website devoted to helping partners promote and sell their products. Which includes up to date marketing kits, box shots, product images, lots of people smiling, mini-movies, pdf’s etc etc. It’s soooo easy to take it to market.

Lotus Domino? Half the battle is simply educating a customer as to the products (initial & continued) existence. Hopefully this will change soon.

: 5:43 am: Justin FreemanLotus Domino

Sending out the call - has anyone succesfully performed a Lotus Domino (the server bit) install on Ubuntu server (or desktop)? If so, I’d love to know how :)

The install process works OK, but exits with an error.

Error status: 32512 compat-libstdc++

Anyone got this sorted?

15/12/2005: 6:50 pm: Justin FreemanLotus Domino

As a follow-up to my previous post, IBM Technical Support accepted a suggestion that they update the description for Tech Note Doc Number: 1087199 so that it applies to Domino R7 and also causes the “entry not found in index” error.

Now that’s a great outcome.

13/12/2005: 8:42 pm: Justin FreemanLotus Domino

I’ve been struggling with this corker of a problem for over a month now and yesterday, I finally found the solution (completely by chance) to the problem which has caused iNotes 7 (or dwa7) to cease functioning on 4 Domino R7 Servers we support, and only return the generic error: entry not found in index - for every possible page request. Aaaarrrrggghhhh!!!!

So what causes this error? Well, you wouldn’t believe it…


Domino Directory - Server Document (or Internet Site document) - 'Maximum Lines Per View Page' change this value to 0 (zero).

Yep, that’s it! (cue the background manical laughter).

From the doco, this should enable unlimited views in Domino. But it also has the nasty side-affect of completely buggering your iNotes too! Useful to know.

And the fix? Easy! (cue more background manical laughter).


Domino Directory - Server Document (or Internet Site document) - 'Maximum Lines Per View Page' change this value to anything BUT 0 (zero).

I found this 2004 technote in the IBM Knowledge Base which is for a different error message that applies to Domino R5 and R6, but surprisingly the problem is still occuring in Domino R7. (Hint: Might be time to work on a fix for this one guys…)

iNotes Warning: “Application Exception - Couldn’t Find Design Note” in
iNotes Web Access

Product: Lotus Domino Web Access (iNotes) > Lotus Domino Web Access > Version 6.0, 5.0, 6.5
Platform(s): Windows, OS/400
Doc Number: 1087199
Published: 19/09/2004

Problem

When you attempt to view or create a message, or set User Preferences, etc. in Domino Web Access (a.k.a. iNotes Web Access), the following error message appears:

“iNotes Warning
Problem: Application Exception - Couldn’t find design note.
Solution: Click here to close this window and return to the main window.”

Content

This issue occurs if the ‘Set Maximum Lines Per View Page’ option in the Server Document (Internet Protocols - Domino Web Engine tab) of the iNotes Web Access server is set to “0″.

This issue has been reported to Lotus Software Quality Engineering. There are no current plans to address this issue in iNotes Web Access 5.x or 6.x.

Workaround:
The Notes/Domino Administrator should do the following:

1. Open the Domino Directory and open the Server document of the iNotes Web Access server.
2. Switch to the Internet Protocols tab and select the Domino Web Engine sub tab.
3. Go to the Conversion/Display section.
4. Change the ‘Image Conversion Format’ to “GIF”.
5. Change the ‘Default Lines Per View Page’ value to “1000″.
6. Change the ‘Maximum Lines Per View Page’ value to “1000″.
7. Save the Server document.

Well, this has wasted a lot of our time and caused serious grief. Domino R7 had just been deployed to a new customer wanting to access iNotes (and they couldn’t) and we could no longer access our schedules internally.

Not to mention the numerous phone calls and emails to IBM Support in India, who finally escalated the problem report (PMR) to severity 1 and the PAE team. This PMR was open for just over 4 weeks before I stumbled onto the answer.

So if anyone else out there is experiencing this same problem, I hope this entry saves you all the trouble I had in finding the solution.

And now to help Googlers find this solution:
inotes errors
inotes does not work
dwa does not work
inotes entry not found in index
dwa entry not found in index
dwa7 entry not found in index
domino r7 inotes entry not found in index linux
inotes no work
inotes no worky me cranky
inotes does not work and no one has the answer
how to migrate lotus domino to novell groupwise

23/10/2005: 5:18 pm: Justin FreemanLotus Domino

Ever wanted to be able to authenticate users on your Domino Web Server using a Web Service, against a MySQL database, a text file or some other external source? Or how about changing the default Domino behaviour so that user sessions remain active for days or weeks. It’s easy and I’ll show you how using Apache Tomcat and a simple Java Servlet. I’ll then discuss a more advanced setup where you can use Apache Web Server, mod_proxy and mod_rewrite to have Apache Web Server, Apache Tomcat and Lotus Domino all responding on Port 80.

Up until R6.5x user authentication options in Domino had been very limited (in my opinion). Requiring a custom DSAPI when authentication extends beyond the Domino Directory or LDAP. And unfortunately, DSAPI programs are complex little buggers written in C. I haven’t done any serious C programming since University and I’ll happily admit that I really suck when it comes to writing C :) So in my toolkit, DSAPI just has never been an option.

We’ve (Agileware) also had experience administering a Domino Web Server which used a custom DSAPI solution, and it would crash on a regular 2 week basis, guaranteed. I will not go into the details here, but let’s just say that good C programmers must be thin on the ground ;)

Anyway, getting back to the topic. If you’ve got a Domino Web Server and you want to be able to authenticate it against external authorative sources, what do you do? Well with R6.53+ you can now use the humble Java method:

Session.getSessionToken();

This method simply returns a LPTA token for the current Notes Session. Until recently, this has only been accessible via the Notes C API. I believe Thomas Gunz
Steve Nikopoulos @ IBM is the guy to thank for this. Thanks Thomas! Steve!

But the LPTA token is just one component of the single sign-on puzzle. For this solution you will need to have the following components installed and configured:

  1. Domino Server configured for single sign-on (SSO)
  2. Apache Tomcat installed
  3. Eclipse IDE and the Tomcat plugin for coding
  4. (Optional - advanced configuration) Apache Web Server to proxy requests for Domino and Apache Tomcat on Port 80

Process Overview
Here’s a brief overview of the process using a Domino Website contains resources (documents, views, forms, agents etc) which have restricted access and you want to provide a alternate authentication scheme.

  1. Request received for a secure Domino web resource.
  2. Domino checks for a LPTA cookie in the request. If one is not found then Domino redirects the user to the Domino login page.
  3. Login page submitted with login details and posts directly to Tomcat Servlet.
  4. Servlet implements your custom authentication logic, for example: querying the MySQL database or calling a Web Service or even just reading a text file.
  5. Servlet determines if the user has passed the necessary authentication tests and determines what Domino user name to authenticate the user with.
  6. Servlet creates a Notes Session with the Domino server.
  7. Servlet sends response with the LPTA cookie and redirect to the secure Domino web resource, or to the Domino login page if authentication failed.
  8. If a LTPA cookie was returned, then all subsequent requests having that LPTA cookie will be authenticated and will be able to access the secure Domino web resources.

The key message here is that the Servlet will receive the login requests and process the login, returning a LTPA cookie if successful. Once the LTPA cookie is returned then that cookie can be used in all subsequent requests to gain access to secure Domino resources.

So to get started, we will need our environment configured correctly.

Configure Domino Servers for Single Sign-On (SSO)

The LTPA token is only available when a Domino Server has been configured for SSO. So you need to enable SSO for the Domino Servers you want to authenticate against. This process requires a number of steps which must be completed, so I recommend that you follow the Lotus SSO guide and use the FAQ for trouble shooting. Miss one step and it will not work!

An easy way to test if SSO has been enabled on your Domino Server is to try and access the DIIOP IOR value from the Web Server. Do this by requesting the IOR directly, for example:
http://extranet.agileware.net/diiop_ior.txt.
If you receive an error when trying to access the IOR then DIIOP is not working.

You should also be able to login to a Domino Web Server A and then using that same session to access secure web pages on Domino Web B without being prompted to re-login.

A vital step that I always miss is to correctly configure the Internet Site documents. In particular, the domain name in this document must match the domain name you will issue the IOR call too. If they do not match then Domino will not return the IOR and DIIOP will not work.

It can be a real bugger to setup SSO on Domino, but follow the instructions to the letter and you should be fine.

Take Note Of The DIIOP Port
Once you’ve got SSO and DIIOP running on your Domino Server, note down the DIIOP port. You will need this information later for your Java Servlet. For example, the default DIIOP port is not usually available and so an alternate port is used 60148.

Install Apache Tomcat
Installing Apache Tomcat is usually a pretty straight forward affair. Simply:

  1. Make sure a Java runtime is available on your system. You can test this by entering java --version at the command-line. If you get an error message then you need to install Java
  2. Download and unpack the newest stable release from tomcat.apache.org.
  3. The JAVA_HOME environment variable must be set to point to the Java directory. You can test this by entering echo $JAVA_HOME at the command-line. If nothing is displayed, then it has not been configured.
  4. The CATALINA_HOME environment variable must be set to point to the Tomcat directory. You can test this by entering echo $JAVA_HOME at the command-line. If nothing is displayed, then it has not been configured.
  5. Start Tomcat at the command-line tomcat/bin/startup.sh. If you get errors here, then Tomcat will not run.
  6. No errors? Cool. Point your Web Browser to http://localhost:8080 you should now see the default Tomcat homepage.
  7. (Recommended) Setup Tomcat so that it automatically starts up on boot. This step is dependent on your OS. Here is a Apache Tomcat startup script for Linux

For more detailed instructions on how to install Tomcat on your OS, I recommend Google: how to install apache tomcat. It was great to see that Ferdy Christant blogged today about how to install Tomcat on SUSE.

Install Domino Java Classes in Tomcat (NCSO.JAR)
This is a very important step and easy to miss! To enable you to reference the Domino Java classes in Tomcat, you will need to:

  • Copy the ncso.jar file from the notesdata/domino/java directory to the /tomcat/common/lib directory.

This will enable all of your Tomcat applications to use the Domino classes.

Tip: If you upgrade the Domino server software you must copy the new NCSO.JAR file to Tomcat. DIIOP may not work with previous versions of NCSO.JAR.

Download and install the Eclipse IDE and the Tomcat Plugin
Download the latest stable version of Eclipse and download the Apache Tomcat plugin for Eclipse from sysdeo.com. Read the instructions on how to configure the Tomcat plugin.

Persistent Authentication Example
Now that we’ve got our Domino + SSO + Apache Tomcat environment all setup and working. Let’s get down to actually using it.

In this example, I explain how to authenticate a Domino user and return a LPTA cookie as a persistent cookie, as opposed to the default session cookie. The advantage here is that the user only has to login once per day and that same login is then used over that period, instead of being lost when the Web Browser is closed. The code below actually sets the cookie to expire after one month, but the Domino Server session expiry settings will take precedence.

Here’s the steps for this example:

  1. In Eclipse, create a new Tomcat project. Set the project references to include NCSO.JAR and the Tomcat classes (as found in tomcat/common/lib
  2. In Eclipse, create a new Java Servlet in the Tomcat project and copy the Java Servlet code below
  3. In Domino, customise the session login form which is located in the domcfg.nsf database. You will need to customise the login HTML form so that it posts the user login directly to the Tomcat Servlet. I’ve attached an example of the domcfg.nsf for your reference.
  4. Deploy your Java Servlet and updated domcfg.nsf database
  5. Try to login to Domino and watch the tomcat/logs/catalina.out for errors or authenticaftion success messages.
  6. If the process fails, then test your environment configuration.

Code Resources

Advanced Configuration - Using Apache Web Server To Proxy Requests
The configuration described above using just Domino and Apache Tomcat will work fine in most cases. However, if you were going to deploy this on the Internet or provide access to users from behind stricter Firewall setups, then posting requests back to Port 8080 will not be feasible. Ideally, you would want all communication to take place over Port 80 and to tightly control all external communication with Apache Tomcat. Only expose what you must and therefore control the risk of compromise.

This is where the Apache Web Server steps in and the very powerful mod_proxy. Using this configuration you can setup all requests to be posted to Port 80 and redirected to the appropriate service based on a domain name, sub-directory or some other URL pattern based on regular expressions. It’s incredily flexible and powerful.

Our existing setup processes requests like this:
Request -> Domino Web Server (Port 80)
Request -> Apache Tomcat (Port 8080)

You can see that both Port 80 and Port 8080 are exposed to the Internet.

With our new setup all requests will be processed as follows:
Request *.nsf -> Apache Web Server (Port 80) -> Domino Web Server (Port 81)
Request /servlet/ -> Apache Web Server (Port 80) -> Apache Tomcat (Port 8080)
Request [anything else] -> Apache Web Server (Port 80)

Only Port 80 is exposed to the Internet and Apache does all the work of forwarding requests to the correct service.

Tip: It’s important to point out at this time that Domino and Apache Tomcat do not have to be running on the same server for this setup to work. You can separate each service on their own individual server and thereby share the load across multiple servers. You can even have your Apache Web Server in the DMZ and all Domino and Apache Tomcat on your local network, firewalled from the Internet. Way cool!

Setting Apache Web Server To Proxy Requests
So to use this setup, you need to download and install Apache Web Server. Now if you’re using Linux, there is a good chance it has already been installed. If you’re using anything else, you’ll probably have to install it manually.

You will need to perform the following changes to your existing Domino & Apache Tomcat environment:

  1. Apache Web Server will listen and respond to Port 80 requests. Therefore you need to change the default HTTP Port on Domino to something else. Port 81 will do.
  2. Recommended, but not required. I would set your firewall rules to block requests on Port 81 and Port 8080. Do this for two reasons:
  1. Stop direct requests to those services and,
  2. So that you can verify that request proxy’ing is actually working!
  • Change the Domino login page so that it posts the request to the correct URL (/servlet/) and Port 80, not Port 8080.
  • You will also need to configure the Apache Web Server for proxy’ing. This requires the following changes to the Apache Web Server /conf/httpd.conf, enable the required modules:


    LoadModule rewrite_module modules/mod_rewrite.so
    LoadModule proxy_module modules/mod_proxy.so

    And then enable proxy’ing and set the rules in the Virtual Host in /etc/httpd/conf/httpd.conf:

    <virtualhost *:80>
    ServerAdmin root@agileware.net
    DocumentRoot /var/www/html
    ServerName extranet.agileware.net
    ServerAlias extranet.agileware.com.au
    ErrorLog logs/extranet.agileware.net-error_log
    CustomLog logs/extranet.agileware.net-access_log combined
    RewriteEngine on
    #This rule forwards any URI requests containing /servlet to Apache Tomcat
    ProxyPass /servlet http://localhost:8080/
    ProxyPassReverse /servlet http://localhost:8080/
    #These rules forward any URI requests containing .nsf to Domino
    RewriteRule ^(.*).nsf(.*) http://extranet.agileware.net:81/$1.nsf$2 [P]
    ProxyPass / http://extranet.agileware.net:81/
    ProxyPassReverse / http://extranet.agileware.net:81/
    </virtualhost>

    You will of course need to change the Virtual Host and proxy/rewrite rules to your own domain names.

    Now you’ve got a pretty powerful setup! Apache Web Server proxy’ing requests for Domino and Apache Tomcat. While you’re at it you may as well install PHP and MySQL to have a truly kick-ass do-anything Web Server.

    Final Thoughts
    Authentication using a Java Servlet is a pretty flexible authentication process and easily extensible. For example, you could easily change the above process so that the Domino login is exposed as a Web Service, instead of the standard Login Page. Thereby, enabling other applications to easily authenticate with Domino. Since you can write the logic in your Servlet to determine how users are authenticated, and who they are authenticated as, the mind boggles as to the possibilities here!

    Using the Apache Web Server to proxy requests to Domino is also a great solution which further expands the options available to you as a Domino Web Developer. No longer are you restricted to the Domino toolkit for your web applications. Now you can employ PHP, JSP and anything else that Apache Web Server & Tomcat can support, all using the same web address and Port 80.

    And finally, I welcome any feedback or enhancements to this solution. If you’ve done it a better way then please let me know :)

    Recommended Reading
    Below is a list of useful references I used to create this solution and well worth a read:

    First of all, a big thanks goes to Automated Logic for this blog entry, Lotus Domino and Apache Tomcat - Single Sign On (SSO).

    freetagish.net - Domino Tomcat Redirector an alternative to using Apache Web Server to proxy requests, the Redirector allows Domino and Tomcat to be integrated such that certain requests are passed to Tomcat, very cool kit.

    http://www-1.ibm.com/support/docview.wss?rs=463&uid=swg27006575 This Lotus Knowledge Collection had some really useful information.

    Guide to configuring Single Sign-on (SSO) (1217754) This document contains instructions about how to configure Single Sign-on (SSO) for a Lotus Domino server.

    Common questions and problems with Single Sign-on (SSO) (1216978) This document describes common questions and problems you might encounter when setting up or using single sign-on (SSO) for a Lotus Domino server.

    Frequently Asked Questions - Using Secure Socket Layer (SSL) with Lotus Notes/Domino (1218820) This document is intended to answer the most frequently-asked questions about SSL and the Certificate Authority (CA) Process

    20/10/2005: 9:08 pm: Justin FreemanLotus Domino

    Just your typical wonderful morning in sunny Canberra. Whilst eating a bowl of Weetibix, I check over the health of our servers and notice that one Domino server is no longer relaying email. Oh bugger… what’s the story here, those Weetibix will have to wait.

    Try to send an email out and received the following error in return:
    Error transferring to DOMINO/AGILEWARE mail.box; Recovery Manager: Log File is Full, try again later

    Solution
    Turns out that a problem involving the Domino JVM has caused the error message log to become full and the Domino server to stop relaying email. Remote in and check out the Domino server console, restart and this is the error message on HTTP startup.

    HTTP JVM: java.lang.UnsatisfiedLinkError: /opt/lotus/notes/70000/linux/jvm/bin/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory

    Having never seen that error message before and a quick Google not returning any answers (hence I’m blogging about it now), I re-install Domino just in case some linked file has been deleted or become corrupted. No joy.

    Restarting HTTP displays the entire message as listed below.


    tell http quit
    20/10/2005 07:22:26 AM DOMWS Convert AddIn Terminating
    20/10/2005 07:22:27 AM HTTP Server: Shutdown
    20/10/2005 07:22:27 AM DOMWS Convert AddIn Termination Complete
    > load http
    20/10/2005 07:22:50 AM HTTP Server: Using Internet Site Configuration View
    20/10/2005 07:22:51 AM JVM: Java Virtual Machine initialized.
    20/10/2005 07:22:51 AM HTTP Server: Java Virtual Machine loaded
    20/10/2005 07:22:51 AM DOMWS Convert AddIn Initializing
    20/10/2005 07:22:52 AM HTTP JVM: Exception
    20/10/2005 07:22:52 AM HTTP JVM: in thread
    20/10/2005 07:22:52 AM HTTP JVM: "main"
    20/10/2005 07:22:52 AM HTTP JVM:
    20/10/2005 07:22:52 AM HTTP JVM: java.lang.UnsatisfiedLinkError: /opt/lotus/notes/70000/linux/jvm/bin/libawt.so: libXp.so.6: cannot open shared object file: No such file or directory
    20/10/2005 07:22:52 AM HTTP JVM: at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    20/10/2005 07:22:52 AM HTTP JVM: at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:2120)
    20/10/2005 07:22:52 AM HTTP JVM: at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1986)
    20/10/2005 07:22:52 AM HTTP JVM: at java.lang.Runtime.loadLibrary0(Runtime.java:824)
    20/10/2005 07:22:52 AM HTTP JVM: at java.lang.System.loadLibrary(System.java:908)
    20/10/2005 07:22:52 AM HTTP JVM: at sun.security.action.LoadLibraryAction.run(LoadLibraryAction.java:76)
    20/10/2005 07:22:52 AM HTTP JVM: at java.security.AccessController.doPrivileged1(Native Method)
    20/10/2005 07:22:52 AM HTTP JVM: at java.security.AccessController.doPrivileged(AccessController.java:287)
    20/10/2005 07:22:52 AM HTTP JVM: at sun.awt.NativeLibLoader.loadLibraries(NativeLibLoader.java:81)
    20/10/2005 07:22:52 AM HTTP JVM: at sun.awt.DebugHelper.(DebugHelper.java:56)
    20/10/2005 07:22:52 AM HTTP JVM: at java.awt.Component.(Component.java:548)
    20/10/2005 07:22:52 AM HTTP JVM: at java.lang.Class.forName1(Native Method)
    20/10/2005 07:22:52 AM HTTP JVM: at java.lang.Class.forName(Class.java:180)
    20/10/2005 07:22:52 AM HTTP JVM: at lotus.domino.ws.ServiceContext.sInit(Unknown Source)
    20/10/2005 07:22:53 AM DOMWS Convert AddIn Initialization Complete
    20/10/2005 07:22:53 AM HTTP Server: Started

    Now this has got me really perplexed now. This server, which is Fedora Core 3 by the way, has been running Domino for close to a year now and the only recent change was to upgrade from R6.5 to R7. And it’s been running R7 with no problems since it’s release. Very very weird.

    In the end we managed to solve the problem. The problem was that the libXp.so.6 is deprecated in Fedora Core 3 and is not installed unless you do a complete install. So to solve the issue, at the console you simply enter:

    To find out what RPM actually contains the required library…

    $ rpm --query --whatprovides 'libXp.so.6'
    xorg-x11-deprecated-libs-6.8.2-37.FC3

    Then install the required RPM’s.

    $ sudo yum install xorg-x11
    $ sudo yum install xorg-x11-deprecated-libs

    Restart Domino HTTP and error message gone, back to normal transmissions ;)

    Now if you are running Domino on Linux and have not performed a complete install, then you may encounter this same issue. And if you do, I hope this solution helps you out. I expect this problem may show up in any Linux distro, Fedora Core 3, Fedora Core 4, SUSE, Red Hat, Ubuntu etc.

    Here’s links to some of the resources I used to help identify what was the cause of this issue:
    http://docs.codehaus.org/display/ninja/Installing+JDK+1.4.2+on+FC4
    http://forums.oracle.com/forums/thread.jspa?messageID=1070191
    https://www.redhat.com/archives/fedora-list/2005-January/msg02895.html
    http://www.trustix.org/forum/archive/index.php/t-39.html

    8/4/2005: 5:15 pm: Justin FreemanLotus Domino, Small Business

    There’s been a lot of hype lately about how “Notes is dead” etc. etc. We’ll here’s my small rebuttal to that statement from the fud-meisters.

    I’ve just posted a new success story on our www.agileware.net website and I am pretty proud of this project, Hazard Log for Royal Australian Navy using Lotus Notes/Domino. There is simply no other product on the market today that meet the requirements this project demanded, which in brief were:

    1. Distributed user base
    2. Intermittent network communications
    3. Off-line capability for access via a laptop
    4. Security and user authentication
    5. Web interface and Windows client
    6. Document based workflow and tracking

    Read more about this success story, Hazard Log for Royal Australian Navy.

    Lotus Notes is dead? Bah humbug! Notes is alive, kicking and exceeding my customers expectations. Delivering this project using Microsoft’s competitive technologies is simply not possible.

    This is just one story of a real solution to a real problem, using software that works, today. Long live Lotus Notes! I’m sure there are millions of other success stories out there using Lotus Notes, so lets get loud in proclaiming them.

    You can expect to see many more Lotus Notes related success stories appear on our website in the near future too :)

    17/3/2005: 4:52 pm: Justin FreemanLotus Domino

    Just posted the wrapup of Bob Balaban talking at the March 2005 meeting of Walnut (the Canberra Lotus User Group). I really enjoyed listening to Bob talk and especially meeting him in person. Bob wrote the first book I ever purchased on amazon.com - Programming Domino 4.6 with Java and so it was great to finally meet the man behind the legend, who turned out to be very down to earth, incredibly knowledgeable, open minded, positive and totally unassuming. Great guy.

    Again, we took the opportunity to capture the talk and we are sharpening our skills when it comes to the capturing the Walnut meetings on video & audio. Here’s a short summary of the lessons we learnt this time round:

    • Newer video cameras rock!
    • The iRiver recorded an excellent MP3 audio of the entire talk, the lapel microphone recorded excellent sound quality.
    • Turn off the auto-focus feature of the video camera. It will constantly try to focus on the brightest object. And when the speaker is moving in front of a projection screen this causes the camera to over compensate and darken, then lighten again when the speaker moves back.
    • Don’t bother trying to use the Helix server on a Linux 2.6 kernel. It does not work. Do not even try to download the code to build it, the make files don’t work either. Helix server will only run on a 2.4 kernel.
    • Use the Windows Real Producer application to convert AVI to Real Media. Linux Real Producer just does not work.
    • Have a spare removable hard disk available to move the large AVI files extracted from the video tape.
    • Helix server on Linux 2.4 requires minimal resources. We have it running on a spare Pentium 3 with 384mb RAM and it’s showing less than 1% usage when 2 streams are active.

    I thought I’d also share these interesting stats about the production process.

    • Total duration of the talk was 2:03hrs.
    • 2 video tapes were used.
    • Audio was recorded as a single mp3 file using the iRiver @ 128kps, total size 119 mb.
    • Uncompressed AVI (video) from the 2 video tapes was 27 gigabytes.
    • Real Media compressed the 27 gigabytes down to a more manageable 636mb, whilst retaining clarity of image and sound.
    • Real Media compression took 13 hours to complete, a 2-pass compression was performed for streaming at audiences of 56kbs, 256kbs and 512kbs. This was using a dedicated Pentium 4, 3GHZ with 512mb dual DDR2 RAM.
    • Total time wasted trying to build Helix server from source 2 days. Task was abandoned.
    • Level of annoyance with the Helix server project - high
    • Total time spent building a brand new Linux 2.4 server from scratch and installing Helix server - 1 hour. This is now the dedicated Helix server.
    11/3/2005: 6:59 am: Justin FreemanLotus Domino

    Lotus Insight 2005 was great. It had a good turn-out and good overall feeling & excitement. And in my view, showed that these type of events should be more frequent. So well done to Hala Bataniah and her Canberra team on a very successful event.

    Now here’s a quick brain dump of the important bits I took away from Lotus Insight.

    1. Lotus Domino R6.54 will be released at the end of the month. There are currently 631 fixes in this release, so as far as releases go this one is worth upgrading too.

    2. IBM announced special new entitlements bundled with the Lotus Domino Utility Server license, these are:
    a. Unlimited licenses for Domino.Doc (Document management system)
    b. Unlimited licenses for Lotus Workflow (Drag & drop driven workflow process builder & implementor).

    Now this is a fantastic offer and I’m surprised that I havent’ heard more details about it on the wire. If you’re a SMB (<1,000 employees) then for $AUD 4,5000 (check our price list) you have access to a enterprise grade Document management system and workflow system, this is a fantastic deal! I’ll try and find more details about this offer and post it to here and our website.

    Update 17/03/2005 - Arthur Fontaine clarifies this special offer. Basically, it does not apply to Domino Utility Express. Bugger.

    3. IBM’s Rich Client is scheduled to have Notes Plugin support for Linux with Domino R7.5/8.0. Which should be released sometime in 2006.

    4. The Lotus Notes/Domino R7 release is focussed on enhancing Domino Server functionality. The Lotus Notes/Domino R7.5 release will be focussed on enhancing the Lotus Notes Client functionality.

    5. IBM re-iterated the Lotusphere 2005 announcement, that customers who have an current Passport Advantage agreement/license will be entitled to a free 20 user pack of Workplace Services Express plus 12 months maintenance. This is a saving of about $AUD 3,750. This is a limited offer commencing from March 15th and customers have a 6 month period with which to register for this offer. Cool.

    6. IBM’s Rich Client will be functionally equivalent on Windows, Linux and Mac platforms. These will be the first platforms supported, with a priority on Windows & Linux. Sorry Mac guys :)

    7. Workplace Services Express R2.5 will be released around June 2005. This release will include the IBM Rich Client for Windows.

    8. I learnt that the Workplace Services Express user-based licensing has no CPU restriction, which means you can run it on some pretty grunty hardware with no additional licensing cost. It is only restricted to running on the same server hardware.

    9. To date, there have been 7 major roll-outs of Workplace Services Express in Australia. We were congratulated on our “early adopter” status.

    10. Workplace Services Express currently can support around 750 to 1,000 users, with about 10% of those being concurrent users (75).

    11. You can still pick the IBM guys from the Lotus guys. Hint: IBM’ers love the grey suit.

    12. Adam Osbourne and his company Preemptive Consulting had a stand demonstrating their product, The Vault, which is a very cool bit of technology. It looked like a lot of interest was generated, so hopefully a sale or two in there for you Adam.

    13. I also met up with a number of people from the Blogging community (introduced myself, much to their surprise) and the IBM Business Partner community, in particular Frank de Sa who I often see in the BP Forums. So it was good to meet these guys in the flesh and say G’day! Frank’s company also gave away a U2 edition of the iPod which was won by Alex from the AMA (well done Alex!). Alex was about the 4th winner announced, the other 3 were not there to claim the prize. Bummer doods.

    The other great thing about Lotus Insight was meeting up again with so many ex-colleagues from Wizard Computer Training. Each one is still active in some way with the Lotus community and so Lotus Insight brought them all together again.

    UPDATE 15/03/2005 - IBM offers 20 licenses of WSE to Passport Advantage customers - at no charge

    UPDATE 17/03/2005 - My review of the Workplace Services Express Roadshow today - Chris Miller

    16/2/2005: 9:34 am: Justin FreemanLotus Domino

    This is a really common problem. You want the outgoing emails from your Domino system to have a a special Reply To and From address. Domino is a bit of a pain in this regard, because by default it will always assign the email address of the code signer or person executing the code as this address.

    For example: For the Agileware Support Request system, we want all outgoing emails to have a FROM and REPLY TO address of agileware-support [ at ] agileware.net. But when emails are sent out by our agents they are marked with a FROM and REPLY TO addresses of justin [ at] agileware.net. Eeek!

    Here’s a few simple solutions to this problem.

    1. Do not use Domino to send the final outgoing email (this is what I currently do for our Walnut website). You can either trigger a process in another piece of software, like PHP, Java or Perl which sends the email message or route it thru something like PostFix which mangles the FROM and REPLY TO fields.

    2. In Domino compose the outgoing email message directly in the Domino Server or Notes Client mail.box database. Set the from field to whatever you want. When you save the document the router will automatically route the email for you. No need to send it. This is a really simple solution. Just make sure that when you save the document, it is ready to be sent! Remember most users only have DEPOSITOR access to mail.box.

    3. The more standard/orthodox method is to assign the following fields to a Notes document then just send it. I use this method for the Agileware Support Request system. Example as follows.
    docEmail.Principal = “support@agileware.net@NotesDomain”
    docEmail.SMTPOriginator = docEmail.Principal(0)
    call docEmail.send

    In any environment, you should be able use options #2 and #3. For more complex situations you may need to revert to option #1.

    Anyway - hope this helps!

    30/1/2005: 1:14 pm: Justin FreemanLotus Domino, Free & Open Source Software

    I just love Open Office! It’s free, all data is stored as a zip’d XML, it can be automated using COM (and various other API’s), it can produce quality PDF’s and most importantly, it’s not a Microsoft product. What a fantastic program and an excellent opportunity for integration with Notes.

    This database is an example of how to integrate Open Office (OoO) with Lotus Notes using COM automation. It exports information from an Invoice document in a Notes database into a OoO Writer document. The Writer document is then formatted sincely into a printable invoice, then both a completed PDF and OoO version is re-attached to the Invoice document in Notes - all within a few seconds!

    I use a variation of this system in my business for sending out invoices to clients and it works really well. Saves me heaps of time mucking around formatting documents etc.

    Download the Demonstration
    Download the Open Office & Notes Integration demonstration database (200kb)

    How To Use The Demonstration Database
    In the Invoice by Status view, use the New Invoice button to create a new Invoice. Complete all fields on the Invoice Form (yes, I know there’s a lot, sorry). Create a number of Invoice Detail documents (optional - these are used to breakdown large costs into smaller identiable items). Click the Generate Invoice button to execute the code which will then:

    1. Launch Open Office
    2. Export the Notes data
    3. Generate a OoO file and a PDF file, and then
    4. Attach the Resultant files back to the original Invoice document.

    Tip: To make things easier for this demonstration, inheritance has been enabled on the Invoice form, so if you select the existing Invoice document and click New Invoice you’ll get a pre-populated Invoice.

    The ooo-template view contains a Open Office document used as a template for the Invoice. To change the Invoice layout, simply change this template.

    Other Useful Resources:

    1. It obviously requires an installation of Open Office, download from http://www.openoffice.org
    2. http://api.openoffice.org/DevelopersGuide/DevelopersGuide.html
    3. http://www.ooomacros.org
    4. http://www.oooforum.org

    Questions?
    If you have any questions about this demonstration, then please contact us.

    15/12/2004: 6:14 am: Justin FreemanLotus Domino

    2004 has absolutely flown past and I can’t believe we’re having our last meeting for the year tonight.

    Should be a good event as Kathy Staples from IBM will be providing a hands-on demonstration of the new IBM Workplace Services Express. She’ll be doing the full installation, presentation and then a hands-on demo of it actually working. And all on her laptop. Which is a considerable effort since last time I checked the minimum recommended RAM requirements was 4gb RAM. That’s some laptop!

    I’ll also be trying out something new… I’ll be both filming the event and recording the audio. The aim being to make these both available on the website so that interstate & overseas people can listen in on our do.

    More details about the meeting can be found here:
    http://walnut.agileware.net/?q=node/294

    There’s also a good wrapup of the November meeting over here:
    http://walnut.agileware.net/?q=node/293

    14/12/2004: 8:16 pm: Justin FreemanLotus Domino

    Have you ever wondered how to get your return email address to be "Justin Freeman" <jfreeman@tryandspamthis.com.au> as opposed to the default <jfreeman@tryandspamthis.com.au>?

    Well I set about last week to find out how as it’s been bugging me no end for a few years now. And the solution is quite simple, if not obtuse.

    When you send an email the Domino router checks the “Internet Address” field in the Domino Directory for each sender. The value in this field is then stamped as the return email address on the outgoing email. However, for some wacky “Lotus only knows” reason you cannot put an email address of the format "Justin Freeman" <jfreeman@tryandspamthis.com.au> into this field. No idea why.

    Now here’s the solution. The Domino router checks “Internet Address” field and if this field has NO VALUE then it checks the “Short Name/User ID” field. And this field accepts an email address of the format "Justin Freeman" <jfreeman@tryandspamthis.com.au>.

    So if you update the Person documents in the Domino Directory so that the email address is removed from the “Internet Address” field and insert the email address into the “Short Name/User ID” field the router will start stamping outgoing emails correctly.

    There is one last thing you need to be aware of, it appears that both the Domino router and the Notes client cache return address lookups. So you need to retart the Domino router (”tell router quit” and then “load router”) as well as restarting the Notes client.

    Thought you might find this useful :)

    15/10/2004: 12:51 pm: Justin FreemanLotus Domino

    Thought I’d share this useful tip with you all. If you have upgraded from Microsoft Internet Explorer and are using a real Web Browser, like FireFox for example. It can be very annoying to revert back to the bad old days everytime you click on a URL within Lotus Notes.

    So how can you escape this time-warp? Here’s how:
    1. First of all, find your Location Document in your Personal Name & Address Book.

    Finding your Location Document

    2. Once you’ve found the current Location Document, edit this document and switch to the Internet Browser tab.

    Location Document - default setting Microsoft Internet Explorer

    3. Select the Other option for the Web Browser and click the Torch icon (why this is a torch who knows…).

    4. Using the pop-up dialog, navigate to your C:\Program Files\Mozilla FireFox and select firefox.exe. Of course, if you can choose any another Web Browser you have installed as well.
    File Open Dialog Box

    5. Click the select button and your Location Document should now be updated.
    Updated Location Document with FireFox

    So the next time you click on a URL in Lotus Notes - FireFox will launch instead of Microsoft Internet Explorer - groooovy baby!