Skip to main content

By clicking Submit, you agree to the developerWorks terms of use.

The first time you sign into developerWorks, a profile is created for you. Select information in your profile (name, country/region, and company) is displayed to the public and will accompany any content you post. You may update your IBM account at any time.

All information submitted is secure.

  • Close [x]

The first time you sign in to developerWorks, a profile is created for you, so you need to choose a display name. Your display name accompanies the content you post on developerworks.

Please choose a display name between 3-31 characters. Your display name must be unique in the developerWorks community and should not be your email address for privacy reasons.

By clicking Submit, you agree to the developerWorks terms of use.

All information submitted is secure.

  • Close [x]

developerWorks Community:

  • Close [x]

XPages, Themes, and Mashups in Domino Web Application Development

Creating the Big Brother mashup application

Summary:  XPages and Themes are two new technologies available to Lotus Domino Web application developers with the release of IBM Lotus Notes and Lotus Domino 8.5. They provide more flexibility and greater control over what is delivered to the Web browser client screen than any previous release. XPages leverages a new JavaServer Face rendering engine while Themes allows even further control to manipulate the content -- from CSS declarations to XML markup rendering -- that is displayed. In this tutorial, you will use both XPages and Themes to create an enterprise-class salesforce tracking and task assignment Lotus Domino Web application. To further showcase the advanced capabilities of the technologies available to Lotus Domino Web application developers, the example for this tutorial is a mashup application featuring functional OpenStreetMap and GeoCoder integration.

Date:  16 Dec 2008
Level:  Intermediate

Activity:  58 views

The Big Brother example application

In this section, you will discuss the project that will showcase the CSS and XML control capabilities of Themes for XPages in Lotus Domino Web application development. The project, a mobile sales tracker application called Big Brother, will use Themes to control the XPages that will deliver your Lotus Domino Web application user interface. Themes in this application will also be used to control the OpenStreetMap APIs integration, further illustrating the power of Themes and giving you a fully functional Lotus Domino and public Web services mashup Web application.

Introducing the main players

Let's first review your build project, an application consisting of the following components (see figure 2):

  • Simple contact management through Lotus Domino forms and views
  • Simple location entries management through Lotus Domino forms and views
  • Management "Dashboard" through a Custom Theme-controlled XPage

Figure 2. Big Brother application overview
Big Brother application overview

This application will allow salesforce members and managers to update current location information. A sales manager can use the Dashboard, an XPage + OpenStreetMap + GeoCoder mashup, to get an immediate overview of their salesforce by location.

To show that XPages can exist and work seamlessly with existing functional Lotus Domino Web applications, you will keep the document management for this build project in XHTML-laden forms and view design elements.

Using Themes, you will easily modify the visual and functional rendering through CSS and JSF/XML markup generation, allowing for centrally maintained control over a complex design architecture.

Forms and view NotesDocument management

Big Brother will use form and view design elements written specifically for the Web browser client to handle all NotesDocument management. This is done so you can focus more on how Themes and XPages can be used to create new entry points into existing Lotus Notes and Lotus Domino-based applications.

You will see several more advanced techniques for handling NotesDocument management than those typical with more Lotus Domino Web RAD methods and techniques. The usage of (X)HTML in the forms and views will play a large part in the NotesDocument Management and in how you will build your XPage-based dashboard.

OpenStreetMap is a crucial component to the Big Brother mashup Lotus Domino Web application. The features and functionality planned for this public Web service will be discussed next.


The OpenStreetMap (or OSM) API, a public Web service (see Prerequisites for a link), will be integrated with your XPage and Theme design elements to deliver the aforementioned sales person pinpointing. Let's review some of the OSM API.

As the purpose of this tutorial is more of a review of how XPages and Themes can be used in Lotus Domino Web application development to extend Lotus Domino Web RAD, you will be keeping the mashup basic, choosing to implement the simple OpenLayers POI (Points of Interest) example in your example project.

Details on this example can be found on the OSM Wiki at the following location:

As the OpenStreetMap POI example relies on latitude and longitude data for map location pinpointing, Big Brother should include a facility to allow for location-based latitude and longitude lookup. To facilitate these lookups, you will look to yet another public Web service called GeoCoder.


The GeoCoder API, a public Web service Prerequisites for a link), will be loosely integrated with your form design elements to allow the user entering their given location the ability to query and return the latitude and longitude data that is required for the OSM pinpointing used throughout the application.

You will be using the free service (which will explain the iframe-based usage you'll see in the finished example project), as that will give you the longitude and latitude information needed to meet the functional requirements of this application. There are other services available from GeoCoder, including several that would allow you to use AJAX queries of location information, which are beyond the scope of this tutorial.

For more information on GeoCoder specific to its usage in this tutorial, review the "Using the Free Service" section (see Resources for a link.

3 of 10 | Previous | Next


TutorialTitle=XPages, Themes, and Mashups in Domino Web Application Development