New features in IBM Lotus iNotes 8.5: Full mode

Editor's note: Know a lot about this topic? Want to share your expertise? Participate in the IBM Lotus software wiki program today.

Lotus iNotes 8.5 is not only a new name for IBM Lotus Domino® Web Access, it is a feature-packed new release with numerous improvements, the most notable of which is a new look and feel that is more consistent with the Lotus Notes client and that leverages and improves on the innovations first seen in Lotus Domino Web Access 8.0.1 lite mode. (Refer to the previous developerWorks® article, "Introducing IBM Lotus Domino 8.0.1 Web Access Lite mode.") The 8.5 release includes managed tabs as well as a sidebar, status bar, and support console in full mode. It also introduces richer, more performant widgets and advanced features that leverage this new framework. Lotus iNotes lite mode also has many improvements, including support for the calendar. There is also a new ultralite mode, which begins to bring the critical subset of iNotes functionality to the rich browsers now common in mobile devices.

Because there is much to cover on this topic, this article is the first in a series and provides a detailed overview of the primary improvements to full mode. A second article, "New features in IBM Lotus iNotes 8.5: Administration policies and lite mode," covers improvements to lite mode and the significant administration improvements. The final article, "New features in IBM Lotus iNotes 8.5: Ultra-light mode and the redirector," covers the new Lotus iNotes ultra-light mode.

General improvements to full mode

Full mode has adopted the same frameset-based page architecture and user interface (UI) framework that was first unveiled with lite mode in Lotus Domino Web Access 8.0.1. It also leverages many of the same base UI widgets, such as the functional area switcher, menu bar, and splitter. Full mode continues to provide more sophisticated user interaction capabilities, such as a richer virtual list with support for an alternate narrow display format (to facilitate greater width for the side preview), keyboard interactivity, and a typical single-entry scroll experience that rivals rich client applications. Full-mode views now also perform asynchronous transactions to retrieve view data. See figure 1.

Figure 1. Inbox in full mode
Inbox in full mode
Inbox in full mode

Functional area switcher

The functional area switcher offers application icons for the main Lotus iNotes functional areas. Clicking one of these entries either launches or switches to a managed tab within which the functional area view is displayed.

Managed tabs

Like the Lotus Notes client, Lotus iNotes now opens functional areas and documents in separate tabs that users can click to switch between different works in progress. User preferences also open in its own tab. Later in this article, we discuss how the new widgets feature also leverages these tabs.


The sidebar introduced in 8.0.1 lite mode has been enhanced to support additional panel types, most notably the IBM Lotus Sametime® contacts list. This component extends the AccordianContainer Dojo widget and leverages various AJAX visual effects provided by the Dojo library. There are also sidebars provided for Day-At-A-Glance and Help. Users can manage the display of the sidebar, or they can choose to hide or show the entire sidebar.

Status bar and support console

The status bar area and the support console are now also an integral part of full mode.

Improved UI controls

The improved menu bar widget now supports an overflow indicator, shown in figure 2, when the window is sized down to a width that doesn’t support displaying all the current top-level actions.

Figure 2. Action bar shown with the overflow indicator
Action bar shown with the overflow indicator
Action bar shown with the overflow indicator

A new virtual list control works with the new UI framework and also offers all the same capability of the prior virtual list with the addition of using asynchronous data retrieval transactions.

Calendar view improvements

The calendar views have been redesigned to be more compatible with the Lotus Notes 8 or later client views and to support asynchronous data retrieval. See figure 3.

Figure 3. One work week calendar view shown with the date control
One work week calendar view shown with the date control
One work week calendar view shown with the date control

Safari 3.1 support

Lotus iNotes full and lite modes now support the Apple Safari 3.1 browser on Mac OS X Leopard/10.5. Mac users now have a choice of using either Mozilla Firefox or Safari. A couple of features supported by Lotus iNotes on Microsoft Windows®, though, are not available on the Mac platform:

  • Offline or local archiving through Domino offline services
  • Establishing Lotus iNotes as the default mail application used to send mail from other native applications

In addition, Lotus iNotes on Safari does not have the ability to do more thorough cache scrubbing on logout or when the last browser is closed. Most data responses, however, are already specified to not be stored within the browser cache.

Last, to use the Lotus Sametime capability on Mac browsers, the NOTES.INI setting iNotes_WA_MacIM=1 must be specified within the server’s NOTES.INI file.

Spell check on send

Lotus iNotes now offers a mail preference setting "Spell check message before sending." When this setting (on the Mail - General panel) is selected, Lotus iNotes automatically runs a spell check prior to sending a message. If any errors are encountered, the Spell Check suggestions window includes both Send As Is and Cancel Send buttons.

Viewing MIME message headers

If a user receives a suspicious message and wants to explore the MIME message headers, it is now possible to do this task from the Inbox folder, the All Documents view, or any user folder. The Show MIME Header and Show MIME Full actions are available from the More menu.

Web 2.0 features

Several new features were added in Lotus iNotes 8.5 to allow better integration with various Internet- and intranet-based services. The key features include integration with IBM Lotus Quickr™, the ability to overlay Google Calendar data within Lotus iNotes calendar views, and using Lotus Notes Toolbox-compatible widgets to offer tighter integration with Internet or intranet services. The remainder of this article focuses on providing details about these features.

Enabling and configuring new Web 2.0 features

The Web 2.0 features in Lotus iNotes are now governed by Lotus Domino mail policy settings as shown in table 1. This configuration means that the settings can be enabled or disabled on a per-user basis, regardless of which Lotus Domino mail servers the user might have replicas on. The second article in this series will cover the new Lotus Domino policy-related capabilities within Lotus iNotes in greater detail. For now, we’ll mention that the administrator must explicitly enable the desired features for appropriate users.

Table 1. Web 2.0 features sections on the Lotus iNotes tab of a mail settings document
Widget settings Show the Widgets folder in the mail outlineEnable
Allow users to create widgets from XMLEnable
Lotus Quickr integration Allow Lotus Quickr integration Enable
Calendar subscriptions Allow calendar subscriptionsEnable

Introducing the Lotus iNotes proxy servlet

Getting data from external servers and mashing the data up within the Lotus iNotes page require working around the cross-site scripting security restrictions imposed by browsers. Lotus iNotes introduces a proxy servlet on the Lotus Domino server to resolve these issues. The proxy servlet runs as a plug-in within the Lotus Domino XPages servlet adapter and sends requests out to the particular external site or service (located at a different host address) on behalf of the user, and it returns the response to the browser. See figure 4. Typically, a Web page generated from a particular host address is restricted to communicate back only to the same host address. With the aid of the proxy servlet, Lotus iNotes continues to communicate back only to the same server, as far as the browser is concerned.

Figure 4. Proxy servlet architecture
Proxy servlet architecture
Proxy servlet architecture

The Lotus iNotes proxy servlet has three specific contexts for proxying: BasicProxy, GoogleProxy, and QuickrProxy. As the context names imply, BasicProxy is a generic proxy capability that is the base for the other two. GoogleProxy is a specific proxy capability for Google overlay calendars, and QuickrProxy offers similar capability for Lotus Quickr.

The servlet implements REST-based proxy URLs. For example:


An open proxy to any Web site leaves the Web server and pages leveraging the proxy potentially vulnerable to abuse. To limit any such exposure, a white list is in place and must explicitly list which URL patterns are permitted to be proxied in this manner. The administrator needs to edit the proxy servlet configuration file that specifies this white list using a standard text editor. This configuration file is named and is located in the <domino data>\properties folder. The default file doesn’t permit proxying of any URLs.

When there is an error due to policy violations based on the current white list in effect, the proxy sends a custom JSON error object back to the browser. See listing 1.

Listing 1. The custom JSON error object
{ "error":
      “param” : [ {"@name":"url","value" : ""} ],
      "details" : "Forbidden: A policy was against the issued request --Unauthorized:  
      Requested URI not in list of allowed URIs"}

Table 2 lists the details of valid properties within the file.

Table 2. Valid properties of the file
enabledSet to true to enable proxy servlet.
connectTimeout Length of time to attempt a connection; 10 seconds by default if unspecified.
Policy<n>.urlAddress of the site to which this policy applies.
Policy<n>.actionsThe set of HTTP methods that this policy allows.
Policy<n>.cookies Cookies allowed for this site.

Cookies with specified names are always proxied to this site. In addition, any incoming (Set-Cookie response headers) received from this site are also remembered and eventually sent back on subsequent requests to this site.
Policy<n>.headers Headers allowed for this site, or use an asterisk to allow all. This attribute determines which headers are forwarded to the target server.
Policy<n>.mime-types Content types allowed back from the target server, or use an asterisk to allow all.

Listing 2 is an example configuration file that permits the Lotus iNotes overlaid Google calendars feature to work properly. The first policy (policy0 below) is used to fetch the data from your Google calendars. The second policy (policy1) is used when an HTTPS connection is required for authentication, so that you can access your private calendars.

Listing 2. Configuration file



If single sign-on is configured between the Lotus Domino and Lotus Quickr servers, the authentication cookie (LtpaToken) can be proxied in this manner as shown in listing 3.

Listing 3. Authentication cookie

Administrators can monitor the proxy servlet by enabling Java™ logging. This step is done by editing the <domino>\jvm\lib\ file, and it is useful for troubleshooting or tracking purposes. Listing 4 is an example.

Listing 4. Enabling Java logging
#This example logs all the activities to a file specified using simple text format
java.util.logging.FileHandler.pattern = c:\\domino\\log\\jdklog.txt
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter = ALL

Overlaid Google calendars

Lotus iNotes 8.5 includes support for overlaying entries from one or more Google calendars within your calendar views. Public Google calendars are available with schedules for various sports teams, such as the Boston Red Sox or New York Yankees, or for organizations such as schools or theaters. Many individuals also use such calendars to keep track of personal events. By overlaying these events on the Lotus iNotes calendar, users can visually see these events along with their normal Lotus Domino business events.

An external calendar can be specified by clicking the Add link to the right of the My Calendars outline entry. See figure 5.

Figure 5. Overlaid Google calendars in month view and add a calendar window
Overlaid Google calendars in month view and add a calendar window
Overlaid Google calendars in month view and add a calendar window

Private calendars specified in Lotus iNotes 8.5 do not retain any specified Google authentication information, as Lotus iNotes does not yet support Lotus Notes Account documents. This fact results in being prompted for this information once per session, the first time it is needed. The public calendar URL option can also be utilized for private calendars when the XML Private Address URL to this calendar is known. You can retrieve this information from the Google Calendar settings windows. For each overlaid calendar, a background color, text color, and one of a predefined set of icons can be chosen to help visually differentiate entries originating from the external calendar.

After an external calendar has been specified and is enabled (the check box next to calendar is selected), Lotus iNotes retrieves the appropriate calendar data asynchronously as you navigate within your calendar views. You can show or hide any configured overlaid calendar by manipulating these check boxes in the left panel.

When opening overlaid Google calendar entries in Lotus iNotes, the entries open in a new window displaying the Google calendar UI. If the entry is from a private calendar that requires authentication and if you have not yet authenticated to the Google site, the Google login page displays and then, after you have authenticated, you are redirected to the event page.


This initial release of overlaid Google calendars has a few known limitations, especially when compared to the similar capability introduced in Lotus Notes 8.5:

  • As mentioned earlier, the user’s credential information is not stored and remembered across sessions. Unlike the Lotus Notes 8.5 client implementation of this feature, in this case you are prompted to log in to each such overlaid calendar once per session.
  • It currently works with your default Google calendar only, even if you have multiple calendars in the same account.
  • Other types of overlaid calendars (such as other Lotus Notes calendars or iCal calendars) are not supported.
  • The settings related to the list of configured overlaid calendars are not shared with the Lotus Notes 8.5 client.
  • This feature is not available when the user is offline or accessing a local archive database.

Lotus Quickr integration

Lotus Quickr is team collaboration software that helps you share content, collaborate, and work online with your teams. Lotus iNotes integrates with Lotus Quickr by offering the following capabilities:

  • Establish preferred Lotus Quickr places within Lotus iNotes preferences
  • Browse and insert links to Lotus Quickr files, folders, or places while composing outgoing messages
  • Store received attachments within a Lotus Quickr place
  • Whenever sending any outgoing attachments, have Lotus iNotes automatically store such attachments into a prespecified Lotus Quickr place and send links to those files
  • Whenever sending any outgoing attachments, have Lotus iNotes display a prompt asking the user whether it should move such attachments to a Lotus Quickr store and send links or send the attachments as is

To use Lotus Quickr integration features in Lotus iNotes 8.5, you must enable session-based authentication using either single-server or multi-server, also known as single sign-on (SSO) for your Lotus Domino mail server. If your Lotus Domino server is configured for SSO and the Lotus Quickr servers that you are connecting to are in the same domain, users can access Lotus Quickr servers just by allowing the LTPA token to be passed through the white list as shown in the example for If the Lotus Quickr server is not in the same domain, users are prompted for each session to authenticate with the servers they are connecting to.

When browsing the Lotus Quickr servers, the list of feed entries returned from Lotus Quickr is limited to 50 by default due to performance considerations. To change the default number of feed entries allowed, use the NOTES.INI setting iNotes_WA_Quickr_Feed_Page_Size and specify the number of entries to return in the server’s NOTES.INI file.

Let’s take a closer look at the Lotus Quickr integration UI within Lotus iNotes as shown in figure 6.

Figure 6. Lotus Quickr window in Lotus iNotes preferences
Lotus Quickr window in Lotus iNotes preferences
Lotus Quickr window in Lotus iNotes preferences

A new Lotus Quickr window in Lotus iNotes user preferences includes Lotus Quickr integration settings. This window gives you the ability to add or remove preferred Lotus Quickr places and configure what should happen when you send attachments. You must add one or more preferred Lotus Quickr places before you can make use of the other Lotus iNotes Lotus Quickr integration capabilities.

Using the Add a Place button, enter a URL to a Lotus Quickr server and then click the Browse button. You can then browse places that you have access to on the Lotus Quickr server, and you can select the ones that you want to access from Lotus iNotes.

When sending e-mail with attachments, you can configure what should happen with relation to Lotus Quickr. You can send attachments in the usual manner, or you can always place the attachments in a specific preferred Lotus Quickr place and then replace the attachments with URL links. Alternatively, you can be prompted to decide how to handle attachments for each message.

When sending messages, you can use the Lotus Quickr icon in the editor action bar to browse and select one of the preferred Lotus Quickr places that you previously configured within Lotus iNotes preferences. When you insert a link to a file, a folder, or a place in Lotus Quickr, it is presented in the email as shown in figure 7. For inserted file links, you can view the summary or download and see the actual file through your browser’s download feature. If the Lotus Quickr Connectors are installed on your workstation, an Edit link is also available.

Figure 7. Inserting Lotus Quickr links while composing a new message
Inserting Lotus Quickr links while composing a new message
Inserting Lotus Quickr links while composing a new message

When sending an outgoing message, you can select whether new attachments are sent with the message or are saved to a Lotus Quickr library and replaced with links in the email. If you have selected the Prompt me option in the Lotus Quickr preferences, then you are presented with a message similar to the one shown in figure 8 when you send an email that contains new attachments.

Figure 8. When sending message with attachments (and preference set to Prompt me)
When sending message with attachments (and preference set to Prompt me)
When sending message with attachments (and preference set to Prompt me)


This initial release of Lotus Quickr integration has a few known limitations, especially when compared to the similar capability available in Lotus Notes 8.5:

  • When storing received attachments to a Lotus Quickr place, you do not have an option to also remove the attachment from within the current message (and replace it with the Lotus Quickr link to this stored file).
  • When viewing a message containing a Lotus Quickr link sent from a workstation with the Lotus Quickr Connectors installed, if the Lotus Quickr Connectors are not also installed on the current workstation, the Edit link (shown in figure 8) does not work. Instead, you encounter an error page in a separate browser window or tab. The Edit link contains a Lotus Quickr protocol URL, which the workstation can’t process without the Lotus Quickr Connectors. Here’s an example of a Lotus Quickr protocol URL :
  • This feature is not available when you are offline or accessing a local archive database.


Lotus iNotes provides limited support for Lotus Notes widgets. Widgets display in the Widgets folder in the Mail navigation pane. Widgets can be used to display Web pages in a Lotus iNotes tab panel or a new browser window. They can be configured to prompt the user for required input and to automatically receive input from selected text on the page. Lotus iNotes supports only Web page widgets. Google Gadgets, feed, and Lotus Notes document widgets are not currently supported.

Widgets can be added to the Widgets folder in the following ways:

  • Administrator-defined widgets for all Lotus iNotes users can be specified in inotes_config.xml.
  • Users can select widgets from a toolbox catalog. The toolbox catalog and categories that Lotus iNotes users can browse and select widgets from are specified in inotes_config.xml.
  • If allowed by policy, users can create their own widgets by inputting the XML that defines the widget into Lotus iNotes.

Using the Lotus Notes client to create widgets is beyond the scope of this article. Information regarding widget creation is readily available in the "Configuring a widget using wizards" topic in the Lotus Notes 8.5 Information Center.

Figure 9 shows how a Lotus iNotes user can select catalog widgets to add to the Widgets folder from a toolbox catalog. You can invoke the Available widgets window by selecting the Browse Widgets Catalog menu item from the Widgets folder context menu. Figure 9 also shows the result of displaying the Google Maps widget in a Lotus iNotes tab panel beneath the window.

Figure 9. Browse Widget Catalog to add to a widget to the Widgets folder
Browse Widget Catalog to add to a widget to the Widgets folder
Browse Widget Catalog to add to a widget to the Widgets folder

Enabling widgets

To enable widgets in Lotus iNotes, use the Lotus Domino 8.5 Administrator client to enable user policies described in the previous "Enabling Domino User Policies" section.

Next, edit or create a file called inotes_config.xml in the Data/domino/html directory and include a toolboxCatalog element specifying the name of the toolbox catalog database and the categories that contain widgets from which Lotus iNotes users can select, as shown in listing 5.

Listing 5. The toolboxCatalog element
<?xml version="1.0" encoding="UTF-8" ?>
<inotes:extensions xmlns:inotes="">
   <toolboxCatalog name="toolbox.nsf" categories="iNotes,DWA"/>
   <webcontextConfiguration version="1.1">
	<!-- First default widget here -->
   <webcontextConfiguration version="1.1">
	<!-- Another default widget -->

This element enables the Browse Widgets Catalog context menu item on the Widgets folder and allows users to populate their Widgets folder with widgets from the catalog categories specified. Note that only widgets that specify iNotes 8.5 in the Platform field of the widget document are listed in the browse catalog results, and a local replica of the toolbox catalog database must be on the Lotus Domino server being accessed for iNotes.

Specifying default widgets for all Lotus iNotes users

Administrators can specify default widgets that display in every Lotus iNotes user’s Widgets folder by including the XML that defines the widget within one or more <webcontextConfiguration> elements in inotes_config.xml. For those widgets that are in a toolbox catalog, the XML can be obtained from the extension.xml file attached to the widget document.

Differences between the Lotus Notes client and Lotus iNotes using HTTP POST

The Lotus Notes client and Lotus iNotes implement the HTTP POST form submission method of loading a Web page for a widget differently due to security restrictions imposed by the same origin server policy on browser applications.

The Lotus Notes client first loads the form from the Web site into the embedded browser, and then it inserts the required parameters into the DOM of the form and submits it by invoking the form's submit JavaScript™ method.

Because Lotus iNotes is a browser application running within a browser (rather than an embedded browser container within a native application such as the Lotus Notes client), it cannot access any elements in the Document Object Model (DOM) of the Web application when the Web application is served from a different server than Lotus iNotes. This limitation is known as the same origin server security policy. Consequently, Lotus iNotes must create a form element with the known input fields and values, and then it must submit the form to the Web application server on behalf of the Web application using the form's action URL, specifying that the response displays in the target iframe. As a result, Lotus iNotes cannot support widgets for all Web sites that the Lotus Notes client can support.

The method of form submission that Lotus iNotes uses can fail for a number of reasons, but these reasons are the most common:

  • The Web application requires JavaScript code to run when the form is submitted, which sets the values of hidden fields on the form.
  • The Web application uses a nonce (a unique string whose value is valid only for a short time) that is included in the POST as a way to guard against denial-of-service attacks.

Known issues

Widgets created using the Lotus Notes 8.0 client do not specify the action URL for the form when using form-based (HTTP POST) parameter submission. In Lotus Notes 8.5, the widget creation wizard has been enhanced to provide the action URL in the <formAction> element. This issue means that widgets created with Lotus Notes 8.0 that use HTTP POST form submission likely do not work with Lotus iNotes and need to be recreated using the Lotus Notes 8.5 wizard.

Web agent design elements in the toolbox catalog database must be signed using the Lotus Domino server's credentials to allow these agents to run for Lotus iNotes users. If the elements are not signed by the server, iNotes users are not able to browse the widgets catalog. Use the Domino Adminstrator client to sign the design documents in the database with the server's ID.


There are a number of limitations regarding the use of widgets with Lotus iNotes compared to the Lotus Notes client. Catalog widgets should be tested with Lotus iNotes to make sure that they work well on that platform prior to making them available to Lotus iNotes users.

Catalog widgets are made available to Lotus iNotes users by adding iNotes 8.5 to the Platform field in the catalog document for the widget, and by including them in a category specified in inotes_config.xml. Note that filtering widget catalog entries by platform type is relatively expensive from a server performance standpoint compared to filtering by category, so to maximize server performance, avoid including widgets that cannot support Lotus iNotes in the categories used to expose widgets to Lotus iNotes users.

Following is a list of widget limitations when using widgets with Lotus iNotes:

  • Only Web page widgets (<palleteItem> elements with providerId="") are supported at this time.
  • When wiring an action for a widget, you can specify where you want users to see the results of the action. The only supported action targets in Lotus iNotes are a tab panel and a new browser window. The sidebar panel and the floating window are not currently supported. The action target is specified in the <actionType> element in the widget XML. If the <actionType> element for the widget specifies an unsupported target, then the output is displayed in a Lotus iNotes tab panel. Note that the user can override the default action actionType by selecting the desired target in the Open context menu item for the widget.
  • The only supported contentTypeId for <contextData> elements is content.textSelection. This contentTypeId corresponds to the Text Selection option for Other content under “What content do you want to use?” when wiring an action to configure a widget.
  • It is possible for users navigating a Web site within a tab panel in Lotus iNotes to click a link that navigates to a different top-level browser page. Due to the browser architecture, there is no way for Lotus iNotes to prevent this action from occurring. It is best to avoid using tab panels with Web sites that contain such links; instead, open these Web pages in a new browser window.
  • Due to browser security policies, Lotus iNotes cannot detect selected text within a Web page that is displayed in a Lotus iNotes tab pane for the purpose of passing the selected text as an input parameter to a widget, if the Web page is served from a different server than Lotus iNotes.


Lotus iNotes 8.5 full mode offers new features to bring more consistency between the iNotes browser-based experience and the Lotus Notes 8.5 installed client experience. It also begins to add the same integration to external data services. We have explored the new features in Lotus iNotes 8.5 full mode and examined the Web 2.0 related features in particlar depth. Additional articles in this series will cover improvements to Lotus iNotes lite mode and other administration improvements and introduce the new Lotus iNotes ultralite mode.


The authors would like to thank Dana St. Clair for her editing of multiple versions of this article. She joined IBM in 2000 as a Principal Technical Writer for the IBM/Lotus Software Group. Dana has worked on a number of documentation efforts including Domino Administrator help. She currently writes the client and administration documentation for Lotus iNotes, as well as client documentation for Lotus Notes.

Downloadable resources

Related topics

ArticleTitle=New features in IBM Lotus iNotes 8.5: Full mode