Notes/Domino Administration
Volume 1

Domino and Exchange Interoperability — A Step-by-Step Guide to Making It Work
by Jessica Couto

This article gives best practices and detailed, step-by-step instructions for implementing coexistence so that Domino and Exchange users can seamlessly exchange mail. You’ll learn which tools to use, how to keep the Domino and Exchange public address books synchronized, and how to enable sharing of calendar information between Domino and Exchange.


A Chat-Logging Solution for Sametime 3.1+
by Richard Thomsen

Lotus Instant Messaging (Sametime) doesn’t come with a chat-logging database, or even a way to record chat conversations. This article provides a solution that you can put to use right away. Using Sametime 3.1+, a database template, and a Notes agent, the solution stores chat logs in a Notes database where you can view them by user and date and get at-a-glance information on average chat message-size and duration. The template and agent are available for download from THE VIEW Web site.


A Guide to Document Locking in Notes/Domino 6
by James Ray

The new document locking functionality in Notes/Domino 6 can alleviate save and replication conflicts in your environment. To help you make informed decisions for a successful implementation, this article explains the out-of-the-box functionality, what’s happening behind the scenes when documents are locked and unlocked, things to watch out for, and what you still need to customize. The demonstration database includes sample code for applying and removing locks, a lock decay solution, and a checkin/checkout solution for effective document locking on the Web.


Extending the Resource Reservations System to Manage Room Resources
by Mark W. Rose, IBM Software Software Services for Lotus

The native Lotus Notes and Domino Resource Reservations system does not provide the ability to manage room contents (chairs, media equipment, etc.) on a per-meeting basis. With the custom solution in this article, however, you can enable facilities managers to easily administer the physical layouts and services available in their meeting rooms. The solution requires no template changes. The custom resource management system code and all example forms and views are available for download.

Resource Reservations — A Utility for Moving and Consolidating Resources
by Mark W. Rose, IBM Software Software Services for Lotus

Gain best practices for improving end-user support and ensuring ease of maintenance of your Resource Reservations system. In this article, you’ll learn how to: devise an effective naming standard for sites and resources; eliminate orphaned reservations; and ensure that users don’t get any nasty surprises when rescheduling repeating meetings. You’ll also get recommendations for sizing servers for Resource Reservations, a checklist for testing customizations you make to Resource Reservations, and more.

NSFDB2 — What It Is, How It Works, and What It Means for Domino Administrators and Developers
by Wai-ki Yip, John Curtis, and Gary Rheaume

In Domino 7, Lotus Notes and Domino customers will have the option to store their Domino data in DB2, IBM’s relational database system. The feature is called NSFDB2, and it has profound implications for Domino developers and administrators. In this article, IBM Lotus engineers take you through the design and implementation of NSFDB2, explaining how it works and what it means for you and your users. They also preview two new features for exploiting DB2 capabilities in Domino applications. Whether you are looking to exploit relational database technology with Domino data, considering deploying Domino within an existing DB2 infrastructure, or simply interested in the future direction of Notes and Domino, this article provides you with the information you need for understanding NSFDB2.

Setting Up Mail Interoperability between IBM Lotus Domino and IBM Lotus Workplace Messaging
by Niklas Heidloff

IBM Lotus Workplace Messaging 1.1 is a low-cost messaging solution that enables you to provide e-mail and calendaring to users in your organization not currently served by Notes and Domino. This article provides instructions for setting up Workplace Messaging and Domino to coexist so that both types of users can exchange e-mail. You’ll also see how you can use your Domino Directory with Workplace, how to create and manage Workplace user accounts, and how to apply mail policies to Workplace users.

Secure Messaging — A Guide to Protecting the Content of Internet E-mail Messages with Domino 6
by Richard Thomsen

Anti-virus software and firewalls can’t protect the sensitive business or customer information that leaves your environment e-mail. This article guides you through the process of selecting solution to secure the content of Internet e-mail and shows you can use native Domino features to complement, enhance, replace other solutions, even if your Internet e-mail leaves Notes for another vendor’s SMTP gateway. You’ll learn how use Mail Rules and Journaling to filter the confidential information going through your mail gateway, and you’ll get guidance building an all-Domino message-redirection solution.

AEM — A Tool for Automatically Monitoring Your Applications
by Michael Tingey

For Domino developers and administrators who want a better way to keep an eye on their applications, this article presents an easy-to-use, highly configurable monitoring tool that you can download. First, you’ll see how to set up your applications to send messages to the monitor when an operation has successfully completed or an error has occurred. Then you’ll learn how to configure the monitor to handle those messages — even what to do when an
expected event does not occur. The solution works for any application that can send e-mail or issue URL output streams.

From the Inside Out — Understanding Unread Marks Replication in Notes/Domino 6.5
by Bill Spencer

Prior to Notes/Domino releases 6.03 and 6.5, unread marks are not part of the database information that is exchanged during replication, and the mechanisms to keep unread marks synchronized across users’ mail replicas are not able to achieve 100% success. The new unread marks replication feature in releases 6.03/6.5 changes all that. The implementer of this new feature guides you through its architecture, explains its behavior, and provides insight on how it affects performance. Administrators of earlier releases get a thorough explanation of unread marks prior to release 6.03 that helps in understanding when unread marks are working as designed and when they can be improved.

Customizing Resource Reservations — Enable Users to Schedule Rooms Based on Room Attributes
by Mark W. Rose, IBM Software Software Services for Lotus

In the standard Resource Reservations system that ships with Domino, users must reserve equipment separately from rooms take their chances on getting a room that has the features they require. With the solution in this article, you can modify the Resource Reservations database to enable users to reserve rooms based on the room’s equipment or other attributes. Users will be able to select from a list of attributes when making a reservation, and customized search engine will return results that meet all of the user’s requirements. You will also see how to modify the Mail template to extend the solution to users reserving resources through Notes Calendar and Scheduling features. A template including design elements and search code is available for download.

Resource Reservations — A Utility for Renaming Resources & Changing Category and Site Information
by Mark W. Rose, IBM Software Software Services for Lotus

Before Notes/Domino 6.5, the Resource Reservations system does not support renaming meeting resources or changing their categories or sites. This article provides a utility that enables administrators of any version of the Resource Reservations system to easily make those changes without incurring errors in existing reservations. You simply fill out a change request form and the Resource Re-name utility (available for download) coordinates the change in all required areas of the Resource Reservations and Calendaring and Scheduling systems. Developers also get a detailed look at how this utility is constructed and how it can be modified.

A Custom Bookmarks Database for Developers Administrators
by Michael Tingey

For administrators and developers with too many book-marked databases, Web pages, or replicas to be able to easily keep them in the Notes Workspace, this article provides a utility finding bookmarks fast, without needing to remember which folder they’re in. The utility enables you to find your bookmark by keyword, file or host name, or server, and then launch single click, all from one easy-to-use interface. You’ll learn the utility works, how to set it up, and how to use it. The 3D-Bookmarks database is available for download.

“0% Recovered” When Users Compact Databases and Transaction Logging Is Enabled? Solve This and Other Problems with Dynamic Server Commands
by Richard Thomsen

When transaction logging is enabled, the behavior of the database Compact button changes — instead of recovering unused space user’s database, it simply arranges the space more efficiently. Unfortunately, this doesn’t solve the problem for a user whose database has exceeded its size quota. This article shows how you can use event monitors, a mail-in database, and an agent that issues server console commands to automatically recover unused space when users click the Compact button. The same solution can perform a variety of tasks that would otherwise require administrative action. The agent uses a new release 6 method (release 5 environments, it uses an undocumented method) to issue the server console commands; it is available for download.




Notes/Domino Adminstration Volume 2

Mitigate and prevent threats to your systems by optimizing how you use and deploy Domino Web Access (DWA) security features
by Jason Dumont, IBM Software Group

Guard your internal systems with client-side protection features in Domino Web Access (DWA). Discover how authentication options, content filtering, mail encryption, cache clearing, S/MIME Internet certificates, and more work with DWA to secure your internal network and company data. Learn how to configure and implement these security features and get tips and tricks for best results. Find out how to safely enable DWA users to take their DWA Mail files offline, delegate access to their messages and calendars, and more. You also get a handy list of security-related browser and Server Configuration document settings for further optimizing DWA safety and performance.


Domino Domain Monitoring (DDM) in Domino 7 — Monitoring application health
by Julie Kadashevich, Messaging and Collaboration Group, IBM Software Group

In Domino 7.0, administrators and developers can radically reduce the time and effort they spend analyzing and resolving database problems. The new Domino Domain Monitoring (DDM) feature provides highly customizable probes for monitoring application code, databases, Web services, and much more. See how DDM application probes simplify analysis and resolution by prioritizing problems, identifying root causes, drilling down to provide more detailed information when needed, and presenting possible solutions (many automated). This article shows how to configure and work with application probes to identify resource hogs, monitor agent schedules, and resolve common error conditions.


Securing Domino Web Access (DWA) from both sides of the firewall
by Jason Dumont, IBM Software Group

To maintain system security and avoid risky pitfalls, such as unauthorized access to your servers, you need to know what security steps to take when deploying the browser-based Domino Web Access (DWA) client. This article highlights the architectural differences between DWA and the Notes client, explains how Domino
security operates with DWA, and shows how to use access control settings and network architecture to ensure secure access to your Domino DWA servers from both sides of the corporate firewall.


Enhanced Logins to the Domino Web Server — Ensure Sufficient Server Resources, Lock Out Hackers, and More
by Dhanasekar Dhandapani, Wipro Technologies

By configuring extra tasks to run during logins to a Domino Web server, you can enhance server protection, better manage server resources, and improve the end-user experience. This article shows how to implement an extended login solution with features you can set to: lock out a user after a specified number of invalid login attempts; reject new logins when the server’s RAM usage, CPU usage, or number of HTTP sessions exceed limits; allow users to log in using any type of user name; display custom images and messages during login to different applications. The solution preserves Domino’s own secure login, is easy to maintain, and is appropriate for all intranet environments. You can download all of its components from THE VIEW Web site.


Domino 24/7: Recovery Techniques and Strategies for a Healthy Domino Environment
by Richard Thomsen

Keeping your Domino servers and applications up and running 24/7 requires planning for small-scale, ordinary disasters (like hung servers), as well as for the rarer disaster that threatens core assets. The tactical fixes and system improvements featured in this article enable you to speed recovery times from ordinary disasters and maximize the time available for problem prevention. Discover the ten steps to faster server recovery. Get recommendations on providing redundant services for high availability using a server
consolidation strategy. Learn how to put together a monitoring strategy that alerts you to potential problems, and more. The article’s download files include templates you can use in implementing the author’s recommendations.


Detecting and Eliminating Broken Links — Using DXL to Implement a Domino Link-Checking Tool
by Andrew Cowell

Broken links in a Web page or Notes application can frustrate end users, increase support calls and costs, and reflect poorly on the owner of the application. There are several third-party utilities available for validating links; however, none recognizes Notes design elements (such as views and hotspots). This article takes you through the workings of a utility (available for download from THE VIEW Web site) that reports on all broken links and their page locations in a Notes or Domino application. By gaining insight into the technologies the utility uses — a Java agent, Domino XML (DXL), and Simple API for XML (SAX) — you
will see how you can easily extend this utility to validate other element types, such as JavaScript files or image resources, or change the actions it performs on the data it finds.


Resource Reservations — Implementation and Maintenance Best Practices
by Mark Rose, IBM Software Services for Lotus

Gain best practices for improving end-user support and ensuring ease of maintenance of your Resource Reservations system. In this article, you’ll learn how to: devise an effective naming standard for sites and
resources; eliminate orphaned reservations; and ensure that users don’t get any nasty surprises when rescheduling repeating meetings. You’ll also get recommendations for sizing servers for Resource
Reservations, a checklist for testing customizations you make to Resource Reservations, and more.


New Automatic Diagnostic Collection (ADC) Features in Notes/Domino 7
by Jon Champlin, IBM Messaging and Collaboration

Since Notes/Domino 6.01, the Automatic Diagnostic Collection feature has allowed first-failure data capture on both Notes clients and Domino servers. Learn how new ADC features in release 7 make it easier to collect, distribute, and analyze crash data so you can diagnose and resolve crashes more quickly. See how to configure and use the new Fault Analyzer feature, which identifies crashes stemming from the same root cause. In addition, you’ll find out about all of the other ADC enhancements, including the option to configure what files to collect, new logging options, expanded e-mail notifications of crashes, and more.


Load Testing Domino 7 Using Server.Load
by Ethann Castell and Michael Little, Caliton Innovations

Domino 7 offers the option of using DB2 data storage in addition to, or as a complete replacement for, the standard NSF file format. How do these storage options perform relative to each other in terms of server load capacity? This article provides an in-depth guide on how to use the Notes built-in load testing tool, Server.Load, to answer this question in Domino 7; it also shares the results of the authors’ load testing of the Beta 2 version of Domino 7. Learn how Server.Load works, what tests it performs, the purpose of various test parameters, and the significance of the metrics that are recorded. You can use the testing methods taught in the article to test Domino 7 or any other release of Domino.


See How They Run — Testing Application Performance in Domino 7
by Ethann Castell and Michael Little, Caliton Innovations

Using DB2 storage in Domino 7, developers can design applications with views based on SQL queries, and they can provide external applications like WebSphere with direct access to Domino data. For the performance-minded Domino developer, the question is “How much faster, or slower, will my applications run using DB2 storage?” This article shows you the testing methodology the authors used to test application performance in the Beta 2 version of Domino 7 and shares the results they obtained. You can use the same tests of common application tasks to perform your own analysis of DB2 performance relative to NSF performance in Domino 7. The test database is available for download from THE VIEW Web site.



Monitoring Servers in Domino 6, Plus a Look at Monitoring in Domino 7
by Ted Hardenburgh, Apria Healthcare

The Domino server provides a multitude of statistics and monitoring options that enable you to see what’s going on in your Domino environment. To help you design and configure your own monitoring solution, this article provides a comprehensive guide to Domino monitoring — including deployment guidelines, the events to watch, how to configure monitoring, and a survey of the Domain Monitoring feature in Domino 7. It also shows how you can use Domino to monitor non-Domino TCP/IP services in your network, which is
very handy if your Domino network depends on these services.





Notes/Domino Adminstration Volume 3

How to set up and configure remote sites with Linux Terminal Server Project (LTSP) and thin clients for Notes
by Matt Schmandt, Lifestyle Communities

Reduce the costs and administrative burden of managing remote Notes users without sacrificing functionality by using Linux Terminal Server Project (LTSP). This case study reveals how an actual network of thin clients based on a Domino Web server was set up and configured for a remote office with Notes users. See how to install LTSP on the server and configure services to support the thin clients. Get instructions for connecting login accounts on the server to Domino’s Lightweight Directory Access Protocol (LDAP) and configuring the system to allow user logins from thin clients.


How to extend the Sametime Connect 7.5 client: A step-by-step guide to developing and installing plug-ins as miniApps
by Bret Swedeen, IBM Global Services

Learn to incorporate frequently used functions into the Sametime Connect 7.5 client. You don’t have to be a Java programmer to obtain or reuse Java code for plug-ins that install on Sametime Connect as mini applications (miniApps). Step by step, this article shows Sametime administrators and developers how to install the development environment (it’s not difficult, just detailed!) and customize the Sametime Connect 7.5 client by developing and installing a miniApp that provides continuous updates on Sametime server connections. The sample plug-in is available in a download file from THE VIEW Web site.


Lotus Notes access for SAP solutions (NaSs): Using the Notes client as a friendly interface to SAP data and processes
by Bob Balaban, IBM Software Group

Discover “Lotus Notes access for SAP solutions” (NaSs), the Notes feature set that turns Notes 7.0.1+ clients into a familiar front end for SAP R/3 4.6C solutions. This article provides administrators and developers with insight into what NaSs does and how it works. See how end users work with NaSs features in Notes to manipulate SAP data for seven packaged scenarios, including contact management, time reporting, and more. Examine the NaSs mechanisms for integrating Notes clients with SAP solutions, including Notes templates, forms, views, and LotusScript code to manage interactions with the SAP server. Find out how NaSs is packaged and installed and where to access the source code for customizing NaSs features.


How to add Internet telephony to your Lotus Notes and Domino applications
by Andrei Kouchinnikov, Botstation Technologies

Explore a telephony solution for your Notes and Domino applications. This article takes a close look at the current options and techniques for integrating Skype telephony features into Notes clients, Notes applications, and Domino Web applications. See how to use Skype APIs to add telephony and call monitoring to Notes applications. Gain insight into the security issues you need to consider and learn how Skype compares with Sametime. The accompanying demo database is available for download from THE VIEW Web site.


Get instant activity data from your Sametime server
by Bret Swedeen, IBM Software Group

Sametime administrators, discover how to get real-time Sametime activity data that helps you understand Instant Messaging (IM) usage patterns and recognize when disaster looms in time to take steps to prevent it. Picking your way through the Sametime log is time consuming and can’t reveal the current state of your IM environment. In this article, learn to use the powerful but little-known StAdminAct.exe tool to get accurate totals for connections, connected users, active one-to-one and group chats, and active places. You also get techniques for embedding this tool in a simple Web page or using it with the Perl scripting language in a more advanced presentation. All of the code examples are available for download at THE VIEW Web site.


Get the most from Domino Domain Monitoring: Tips, tricks, and best practices
by Leah Busque, IBM Lotus Software

Domino Domain Monitoring (DDM) provides highly customizable, in-depth monitoring of Domino servers and consolidates domain reporting into a single database. The best practices and recommendations in this article help you to get the most from DDM and increase administrator efficiency. Learn to configure DDM for a smooth startup and protect your domain’s reporting configuration during upgrades. Discover techniques for managing the volume of reporting. Find out how you can customize DDM events and handling to meet local needs. Plus, get guidance on using the new console commands for scheduling and INI variables for debugging.


Quickly and securely integrate Domino servers and data with IBM Workplace Services Express (WSE)
by Thomas Křcks

IBM Workplace Services Express (WSE) 2.5 helps people and teams in small and medium companies work in collaborative, productive ways. When integrated with Domino, it also offers seamless access to the data on your Domino servers. This article shows how to configure WSE and Domino with Lightweight Directory Access Protocol (LDAP) and Single Sign On (SSO) to provide users with easy, secure access to Domino data. Learn the prerequisites for an integrated WSE/Domino environment, the integration tasks to perform during the WSE install, and the order in which to perform them to avoid rework later. Plus, get started integrating Domino data into WSE pages by following step-bystep instructions for adding two popular portlets to a WSE page.


Recall Lotus Notes messages easily and completely
by Richard Thomsen

Every minute counts when you’re trying to contain the distribution of a damaging, confidential, or malicious e-mail message, yet it can take admins countless hours to recall such messages in a Notes system. This article shows you a quick, reliable, secure way to recall messages in Notes. The mechanism is a simple agent on the client that works with a database you control to find and delete or replace the content of a message from recipients’ mailboxes, while retaining a copy of the original message and all actions to comply with ethical standards. You get a frank discussion of the philosophical implications of recalling messages and advice on best practices for configuring the solution. You also get advice on assembling Mail Rules and other tools to create a complete recall solution that protects your environment in the gap between the
time malicious messages are identified and the time commercial screening tools are updated.


Easily manage and distribute Notes 6 and 7 toolbar buttons
by André Guirard, IBM Lotus Development

In releases 6 and 7, Notes has a new way of representing toolbar buttons on the Notes client. Whether you want to provide new functionality via toolbar buttons or tailor toolbars for specific groups of users, this article enables you to work with toolbar buttons in these releases by explaining the new mechanisms. Then, it demonstrates a tool you can use to centralize and automate toolbar-button maintenance and distribution.





Advancing Your Programming Skills: Java, XML, LotusScript, and Object-Oriented Design

An Introduction to Object-Oriented Notes Programming with LotusScript
by Kevin Pauli

LotusScript provides developers with the option of creating their own object classes and using them to build object-oriented solutions, which can be easily modified, extended, or reused. In this article, you will learn how to get started with object-oriented Notes programming in LotusScript. The author introduces basic object-oriented development concepts, provides a foundation for determining when an object-oriented approach makes sense, and walks you through the creation of a sample Notes application (available for free download from THE VIEW’s Web site).

Performance Testing LotusScript Code Using Object-Oriented Design Techniques
by Burke LaShell

This article shows developers how to build and use a Stopwatch utility for finding performance “bottlenecks” in LotusScript code. In the process, it furthers your understanding of object-oriented LotusScript programming by fully explaining the object-oriented design techniques used to create the Stopwatch. Both the Stopwatch tool and the author’s full complement of LotusScript performance tests are available for free download from THE VIEW’s Web site.

Apply OO Analysis & Best Practices to Build a LotusScript Framework
by Douglas Tillman

Make your applications more flexible and maintainable using best practices to implement object-oriented (OO) LotusScript frameworks. In this article, you’ll learn how to analyze your application requirements, choose an appropriate design pattern, and apply the pattern as you implement your application’s functionality in a LotusScript framework. The example error-handling framework is available for download from THE VIEW Web site.

Using the MVC Design Pattern to Engineer Domino Web Applications
by Keith Nolen

Using best practices and object-oriented programming components, a design pattern provides a structure for solving a frequently encountered design problem. This article shows how to use the principles of the popular Model-View-Controller (MVC) pattern to design Domino Web applications that are easy to modify and maintain. Standard Domino design elements and a few easy-to-learn object-oriented programming techniques are all that’s required to implement the methods taught in this article. The demonstration application is available for download from THE VIEW Web site.

Java for Domino: Why?
by Bob Balaban, IBM Software Group

For developers who have not leveraged Java within their Domino development efforts, and who are wondering whether or not it is even relevant to their work, this article attempts to answer the questions: Do I need Java? Can I live without it? Is it just “nice to have”? And, of course: If I didn’t need Java before, does R5 change that? Here, we examine Java, first as a language, and then in terms of its role in the “big picture” of Domino and Notes development, helping you to draw conclusions about Java’s worth relative to comparable alternatives and to determine its value to you in your own work.

Getting Started Using Java in Notes and Domino
by Kevin Pauli

With this article, LotusScript developers who have some experience in object-oriented programming can take the next step and learn how to program in Java. Written from a Domino developer’s perspective, this article explains what Java is and why a Domino developer might want to use it, and then shows how to create your first standalone Java program, using it as the basis for your first Java agent in Notes

Using Java Tools for Data Connectivity: JDBC and Lotus Connector JavaBeans
by Louis Sacco

When performance and scalability are of primary importance, Java tools are recommended for connecting to back-end databases from Domino applications. This article teaches you how to use two Java connectivity tools: one programmatic, the other visual (no Java coding required). First you’ll learn to code a Java servlet that uses Java Database Connectivity (JDBC) to automatically populate a relational database table with data from a Domino form. Then you’ll learn to use a graphical tool, Lotus Connector JavaBeans (LCBeans), to build an applet that connects to several tables and provides a browser interface for reading and modifying data (the applet displays on a Domino page). The servlet, applet, and sample application are available for free download. Detailed instructions for setting up the development and test environments can be found in the appendix to the article.

LiveConnecting CORBA-Enabled Java Applets: A Tutorial for LotusScript Programmers
by Amelia Pape

With support for CORBA in Domino R5, programmers have the ability to code a Java applet that can instantiate Domino objects residing on a remote Domino R5 server. From an application running in a Web browser, for example, you can get a Notes view that exists on a Domino server and navigate through it directly. If you want to display a Notes document in the CORBA-enabled applet, however, you must code a Java User Interface — which is difficult to code and time consuming to display in a browser. This article is for the LotusScript programmer who wants to use the new R5 support for CORBA, but who does not have Java skills. It shows how to use LiveConnect to display a Notes document to the user on the HTML page. You’ll learn how to write a simple CORBA-enabled applet that gets a Notes document, and how to use LiveConnect to read the fields of the document and display them in the browser. The example application in this article is also available for free download from THE VIEW’s Web site.

Printing Reports Using the Java API in Notes 6
by Rayan Hanoudi

Print reports from Notes views without resorting to third-party tools. Select which documents and fields to print and how to format the output. This article demonstrates a simple method for printing Notes data using a custom Java class that encapsulates functionality of the Notes 6 Java Print API. You’ll learn how to allow users to select specific documents to print, how to print all view columns or a subset of columns, how to print column totals, and how to customize the formatting of printed reports (page layout, margins, fonts, page title, and page number). No previous experience with Java or the Java Print API is required. The Java class code and a demonstration database are available for free download from THE VIEW Web site.

Scheduled Servlets in Domino — The Power of Java Threads
by John Reese and Luke Conrad

Java servlets are a good solution for processing that needs to be triggered from outside Domino or that needs to run on multiple servers, but if you want to schedule your servlets dynamically, a bit more development effort is required, especially since rescheduling a servlet involves making a design change to your database. This article provides a scheduled servlet solution that allows you to dynamically enable, disable, and reschedule servlets via a Notes configuration document. There is an example implementation for release 5, as well as one for release 6 that uses the new Java classes Timer and TimerTask — both examples are available for download from THE VIEW Web site.

Using XML to Transmit Notes Data Over the Internet
by Bob Balaban, IBM Software Group

The eXtensible Markup Language (XML) standard enables the development of applications that can share data with systems that don’t necessarily understand their data formats. One such Domino application is the “Server Census” template, an information-gathering application built for Lotus with Notes R5.02, LotusScript, Java, and XML. This application is deployed to Lotus customer sites, where it collects data on the versions of Domino in use. Then, at the customer’s discretion, it e-mails a report to Lotus. The problem that XML solves in this application is how to send a structured Notes document (the report) via Internet mail (where SMTP routing restricts you to plain text and file attachments) and still have a properly structured Notes document on the other end. In this article, you’ll learn how it’s done by walking through the architecture and code of the Server Census application.

Transporting XML Data Using the Simple Object Access Protocol (SOAP) — A Reusable Solution
by Paul Ray

This article teaches an easy, generic way to package XML data for network transport -- without needing to worry about the implementation details. The Domino-based solution allows you, in any application, to quickly and easily encode XML using the Simple Object Access Protocol (SOAP) specification. As a preparation for understanding the technical details and architecture underlying the solution, it explains the basics of SOAP -- what it is, why and when you might want to use it, and how to structure SOAP messages.

Write LotusScript R5 Agents That Import and Export Domino XML (DXL)
by Paul Ray

LotusScript developers don’t have to wait for Rnext to start using the same easy methods for importing and exporting Domino XML (DXL) available to Java developers in R5. This article shows how you can use your LotusScript skills today to work with DXL in Domino R5 by making simple calls to a custom-built LotusScript Extension (LSX) that “wraps” a few of the C++ classes from the Lotus XML Toolkit. The LSX module, source code, and documentation (with examples) are available for download.

Creating Web Services in Domino 6 with SOAP, XML, and Java
by Bob Balaban, IBM Software Group

Gain a better understanding of what Web services are all about as you learn to create a Domino 6 Web service using SOAP, XML, and Java. In this article, you’ll see how to configure the back-end business logic of a Domino application for use as a Web service and how to use (free!) downloadable Java libraries to easily create and parse SOAP remote procedure calls over the Internet. You’ll also see how to code a client program that invokes the Web service. The sample SOAP setup file and client-side code are available for download from THE VIEW Web site.

Building Real-Time Integrated Solutions Combining XML Schemas, Java, and Domino
by Lou Sacco

Automate the real-time transfer and validation of XML data from an external system to a Domino Web application by combining XML Schemas, Java , and Domino. Using a sample application that you can download, this article shows you how to put together the building blocks of a reusable solution, parse XML data using a Java servlet, and validate XML data for entry in your Domino applications using XML Schemas.


Notes/Domino Security: An Administrator's Guide

Securing Your SMTP Infrastructure in Domino 5 and 6 — A Deep Dive into the Server Configuration Settings Document
by Mike Lazar

The server Configuration Settings document is the Domino administrator's best line of defense against the twin Internet scourges of illegitimate mail relayers and spammers. In this article, you'll learn how to use this powerful tool to deny connections to bulk mailers who attempt to relay their mail through your Domino servers and to block messages from spammers. The author takes you all the way through the server Configuration Settings document, tab by tab, differentiating the crucial fields from the less important ones and explaining what settings to use.

Secure Remote Access to Your Domino Infrastructure
by Joshua Hosseinof and Joseph Steinberg

This article shows how to achieve secure, cost-effective, and scalable deployments of Lotus Webmail and iNotes for anywhere, anytime access to Domino. It covers the currently available options for providing remote access to Domino, weighs the advantages and disadvantages of each, and recommends a secure architecture for most Web applications hosted on Domino.

An IT Security Policy: What Every Hacker Does Not Want You to Have in Place
by Mary LaRoche and Timothy Speed

Today's Domino administrators need to be concerned, not just about Domino security, but about the total security environment. This means understanding the basic security issues and learning what goes into developing an effective network security strategy. That's the purpose of this article: to get you up to speed on security issues and arm you with an approach to meeting them. In addition, this article provides sample code for automated checking of your environment's Domino security, and it explains how to weigh risk and threat against the cost of countermeasures.

Agents in Notes/Domino 6: A Comprehensive Preview for Administrators and Developers
by Julie Kadashevich

This article provides an overview of what's new with agents in ND6, along with all the information you need to take full advantage of each new feature and enhancement, including the "on behalf of" security paradigm, the remote agent debugger, background thread agents on the Notes client, the "Full Access Administrator" role, and more.

Secure Ways to Change the Apparent Sender in Agent-Generated Mail Messages
by Julie Kadashevich

In this article you'll learn how to programmatically control the name of the sender that appears in the "From:" header in agent-generated mail and how to programmatically redirect a reply to go to someone other than the sender using simple and secure methods that are built into Notes.

Configuring ECLs for Improved Security, Efficient Administration, and User-Friendly Operation
by Valerie Freund

This article arms you with the information and insights you need to implement the right ECL strategy for your Domino environment. You get thorough explanations of Workstation and Administration ECLs: what they are, how they work, and the options you have with each. You also get step-by-step instructions for configuring, rolling out, and maintaining ECLs. Most importantly, you learn how to strategically manage ECLs instead of dealing with them ad hoc. The author outlines four distinct ECL strategies and makes recommendations that will guide you in selecting a strategy for your environment.

Plus . . .
  • Unlocking the Secrets of Internet Security: How to Implement X.509 Certificates for SSL and S/MIME in Domino
  • A Security Audit for Your Notes/Domino Installation
  • Administrator's Guide to Domino Controller and Domino Console: Secure Access to Domino 6 Servers from Any Location



Notes/Domino Utilities, Tools, and other Problem Solvers

"0% Recovered" When Users Compact Databases and Transaction Logging Is Enabled? Solve This and Other Problems
by Richard Thomsen

When transaction logging is enabled, the behavior of the database Compact button changes — instead of recovering unused space in a user's database, it simply arranges the space more efficiently. Unfortunately, this doesn't solve the problem for a user whose mail database has exceeded its size quota. You can't change the button's behavior, but this article shows how you can use event monitors, a mail-in database, and an agent that issues server console commands to automatically recover unused space when users click the Compact button.

Resource Reservations — A Utility for Renaming Resources & Changing Category and Site Information
by Mark W. Rose, IBM Software Software Services for Lotus

This article provides a solution that enables administrators of any version of the Resource Reservations system to easily make those changes without incurring errors in existing reservations — you simply fill out a change request form and the utility coordinates the change in all required areas of the Resource Reservations and Calendaring and Scheduling systems.

A Custom Bookmarks Database for Developers and Administrators
by Michael Tingey

For administrators and developers with too many bookmarked databases, Web pages, or replicas to be able to easily keep track of them in the Notes Workspace, this article provides a utility for finding bookmarks fast, without needing to remember which folder they're in. The utility enables you to find your bookmark by keyword, file, host name, or server, and then launch it with a single click, all from one easy-to-use interface. You'll learn how the utility works, how to set it up, and how to use it.

Working with Design Elements in Release 6 — An Application for Storing, Modifying, and Exporting Rich Text Buttons
by Matt Holthe

This article gets you started working with the release 6 DXL classes and gives you a useful application at the same time. The sample application stores buttons that an end user can modify (to add an entry to a calendar or a connection document to a local address book, for example), and it copies modified buttons into a new memo in the user's mail database for sending to other users. Administrators take note! This application is a useful administrative tool.

The Unique Key Table — What Domino Administrators and Developers Need to Know
by Cindy Hufford

When a database's UNK table exceeds its size limit, you get error messages and warnings — and though the application could continue to run in this state, it's likely to become corrupt or provide users with inaccurate results. This article is a comprehensive reference that shows you how to interpret error messages relating to the UNK table and resolve the underlying problem. You'll learn how to avoid UNK-related problems in your databases using proven design techniques and best practices. You'll also find a guide to tools for analyzing UNK-related error messages and performing preventive maintenance.

Create User-Friendly Reports with Excel — A Utility for Your Notes and Web Applications
by Ingvar Engelbrect

You can provide Notes and Web users with the ability to easily create either standard or customized Excel reports of Notes data with the utility featured in this article. The solution's flexible, modular design makes it easy to add and adapt to your own applications, and because it is based on using COM objects, it is entirely transparent to users. As the author takes you through the solution's code and forms, you'll learn some useful Web techniques you can apply to other solutions as well.

Plus . . .
  • A Customizable Turnkey Notes Client Installation for Streamlining the Setup of Users' Workstations
  • A File Distribution Utility for Admins and Developers — With a Developer's Tour of Undocumented Features
  • Failover Support for Background Agents on Clustered Servers — A Solution for Your Workflow and Domino Apps
  • Simplified Web Agent Debugging



ND6 Development: Principles and Practical Techniques

A Comprehensive Tour of Programming Enhancements in ND6 — Part 1
by Robert Perron

This is the first of two articles that prepare you for the vast changes in LotusScript programming in release 6. It gives you a tour of what's new, describes the new capabilities you have, and provides lots of code demonstrations. This article covers: the new programming interface for the administration process; enhancements for agents, sessions, and workspace; the new color class that extends to RGB and HSL; enhancements to database classes; changes in document, item, and form classes; and more.

A Comprehensive Tour of Programming Enhancements in ND6 — Part 2
by Robert Perron

Continuing the comprehensive overview of new and changed LotusScript classes in Notes/Domino 6, this article prepares you for programming in release 6 by covering important new capabilities in four major functional areas: rich text, streams, views, and XML. Find out how you will be able to navigate and interrogate rich text items. Learn how new classes in LotusScript and Java enable you to write to and read from sequential storage (streams), and more.

Working with the Release 6 LotusScript Rich Text Classes and Methods
by André Guirard

Release 6 brings new LotusScript functionality for creating, analyzing, and manipulating rich text. This article helps you get started using the new rich text classes and methods by taking an in-depth look at these features in the context of developing a Web application. You learn how to build an agent that examines the rich text context of the application, modifies it as needed, and builds a nicely formatted report of any problems found.

A Comprehensive Tour of Programming Enhancements in Notes/Domino 6.5
by Robert Perron

This article helps you get a handle on all of the programming changes and enhancements in release 6.5. It gives you a tour of what's new, describes the new capabilities you have, and provides lots of code demonstrations. The tour includes coverage of enhancements to the programming interface for the Administration Process, agents and sessions, database and ACL classes, document and item classes, rich text (including navigation, interrogation, and insertion), views, HTTP and Notes URLs, and classes for exporting XML.

Printing Reports Using the Java API in Notes 6
by Rayan Hanoudi

This article demonstrates a simple method for printing Notes data using a custom Java class that encapsulates functionality of the Notes 6 Java Print API. You'll learn how to allow users to select specific documents to print, how to print all view columns or a subset of columns, how to print column totals, and how to customize the formatting of printed reports (page layout, margins, fonts, page title, and page number). No previous experience with Java or the Java Print API is required.

Working with Design Elements in Release 6: An Application for Storing, Modifying, and Exporting Rich Text Buttons
by Matt Holthe

This article gets you started working with the release 6 DXL classes and gives you a useful application at the same time. The sample application stores buttons that an end user can modify (to add an entry to a calendar or a connection document to a local address book, for example), and it copies modified buttons into a new memo in the user's mail database for sending to other users. Administrators take note!

Plus . . .
  • Agents in Notes/Domino 6: A Comprehensive Preview for Administrators and Developers
  • Inside the Rnext Formula Language
  • Let Your Relational Database Do the Work: How to Invoke Stored Procedures from Domino 6 Applications
  • Creating Web Services in Domino 6 with SOAP, XML, and Java



Web Development
Volume 1: Principles and Techniques of Domino Web Design

The Web Designer's Guide to $$Return Fields and WebQuerySave Agents
by John Chamberlain

Leveraging two special form-design features – the $$Return field and the WebQuerySave agent – you can provide your Web users with unambiguous and predictable responses to their form submittals. This article clearly explains what each feature can and can't do, the situations for which each feature is best suited, and how to use each of these features to get the responses you want. You'll also see how to redirect the browser to internal or external sites, build links using CGI variables, and properly construct references to Domino databases and objects. All examples are based on a sample multiform application available at THE VIEW Web site.

Simplified Web Agent Debugging
by Michael Tingey

To address the problems inherent in Web agent debugging, this article provides developers with the TraceLog tool to capture: basic agent execution information; debugging information (captured variable values, error handling routines, and code logic verifications); consolidated logs for each separate agent run; and persistent records over time. The author teaches everything you need to use TraceLog for debugging all your agents, whether activated by browser or Notes clients. TraceLog is included in the download available at THE VIEW Web site.

Boosting Web Performance and Functionality with Dynamic HTML (DHTML)
by Amelia Pape

Dynamic HTML is the technology that makes every HTML element on a Web page a scriptable object, and in this article you will see how to use it for cleaner, friendlier, faster user interfaces. To get you started using DHTML on your Domino forms, the author explains the fundamentals of DHTML and how it works. Then she shows you how to implement three powerful DHTML techniques: changing style properties (e.g., the color or size of text on a form); coding dynamic hide/display functionality based on user selections; and creating tabbed interfaces. All of the demonstration code and examples are available from THE VIEW Web site.

Using Data Binding to Significantly Improve the Usability of Large Views
by Amelia Pape and David Morton

Domino developers building Web applications for Internet Explorer 4.0 (IE) or higher can use a powerful technique called "data binding" to provide end users with instant manipulation of data in large views – without costly trips back to the server. In this article, you learn how to use data binding to create a Web dialog box that goes beyond what you can do with a Notes client PickList on the Web: It handles large numbers of documents without return trips to the server, gives you complete control over table and page formatting in the browser, and allows end users to dynamically sort the contents of the list. The example Web pick-list application is available from THE VIEWWeb site.

Dynamically Accessing Back-End Data Using the <iframe> src Referencing Technique – An Easy-to- Implement, Cross-Browser Solution
by Adam Glasby

Undocumented until now, the <iframe> src referencing technique allows your Web users to query back-end Domino data and get results without a page submit, reload, or refresh. In this article, you learn how to use this technique to build Domino Web applications that dynamically retrieve data as needed, just as if there were a persistent server connection. The demonstration application, available from THE VIEW Web site, provides browser users with a dynamic Domino Directory search utility.

The 5 Web Design Techniques Every Domino Developer Should Know
by Thierry Soubestre

Learn to build fast, user-friendly Web applications by replacing some of Domino's Web defaults. This article teaches you five practical techniques that combine HTML, Cascading Style Sheets (CSS), and JavaScript for quicker field validation, a graphical date picker, saving and displaying rich text entered by users in large text blocks, displaying multivalue fields in dynamic tables, and using dynamic multilevel keyword lists. Each technique includes a conceptual overview, sample code, and implementation guidelines. The example code is available from THE VIEW Web site.

Five Domino Web Development Tasks Made Easier
by Kenneth Haggman

This article helps Domino developers to improve both the performance and versatility of their Web sites with five reliable techniques for meeting some challenging tasks. You'll learn how to: 1) refresh Web forms dynamically with a handy, undocumented JavaScript code phrase, 2) improve Domino's default display of form attachments, 3) ensure that your file names are Web-safe, regardless of accents or other special characters, 4) accelerate the display of Notes documents by automatically converting them to HTML documents (either scheduled or on-the-fly), and 5) avoid problems with non-English names in URLs by using an @Password formula. All techniques are illustrated with working sample code available from THE VIEW Web site.

Web Printing Made Easy – A Reusable Java Servlet for Printing User-Selected Documents Individually or in Batch
by John Daniells

Give your browser users the ability to quickly select, preview, and print documents while freeing yourself from the need to maintain separate, printer-friendly versions of document forms. This article

Simple Methods for Creating HTML-Formatted E-mail in Domino Web Applications and Scheduled Agents
by Dr. Mark Roden

This article demonstrates two simple, easy-to-implement, crossplatform methods for sending HTML mail – no large files, Java, or third-party software is required. The first method sends e-mail from a Web-based workflow application after the user submits a document. The second method allows HTML mail to be sent from a scheduled agent. Both techniques work with Domino releases 5 and 6 and are illustrated in a demonstration database from THE VIEW Web site.

Create MS Office and Other Application Documents from a Browser – Using a LotusScript Agent, Some HTML, and a Content-Type Flag
by Mark Roden

Learn how to send information from a Domino application to a Web browser and have it open in a non-Domino application like MS Word or Excel, without using COM. This article demonstrates an easy-to implement technique that overcomes many of the issues that typically bedevil developers who need to disseminate Domino information in specific formats. It's flexible (open documents in real time or download them to the user's client), it's not restricted to a Microsoft Web server, and it's not server-intensive. Through a series of step-by-step examples, you'll learn how to export a Domino view to an Excel spreadsheet, add a dynamic chart, prepopulate Word templates, and create contacts using vCards. You'll also learn how to force the browser to download a file instead of opening it. Two sample databases (release 5 or 6) are available from THE VIEW Web site.

8 Techniques for Creating Dynamic, Interactive Domino Applications Using MS Office Web Components
by Larry Palm

Office Web Components (OWCs) are small, programmable objects that provide Domino developers with an easy way to incorporate Microsoft features (spreadsheets, charts, and more) into their applications. In this article, learn how to use OWCs in your browser-based applications: Place spreadsheets, charts, and pivot tables on Domino Web pages and forms. Link them to Domino views or other OWC components. Allow users to work with them interactively, entering and changing data directly on the Web page. A database with eight examples is available from THE VIEW Web site.

Leverage Your Notes Client Applications in a Browser-Based Corporate Intranet – The Cookie Technique
by Burke LaShell

Use your Notes client applications on your corporate intranet – without converting them to browser applications. With the cookie technique demonstrated in this article, you can launch Notes client applications from your intranet Web site and pass data between browser applications and Notes applications. The demonstration application is a browser-based company calendar with links that launch the Notes client and populate users' calendar documents. Learn how to build the solution, using JavaScript to write a cookie with the information that Notes will use to populate a calendar entry. The sample application is available for download from THE VIEW Web site.



Web Development
Volume 2: Creating Great User Interfaces

Using Cascading Style Sheets (CSS) in Domino
by Amelia Pape

Learn how to achieve greater control over the appearance of your Web pages – font family and size, line height, background colors, positioning of elements – than you can with HTML and Domino alone. Also see how you can reduce the number of graphics on your sites. Best of all, learn how to make changes to views, pages, forms – even hundreds of documents – simply by changing a style rule once, in one place. It's all done with Cascading Style Sheets (CSS). If you have never used the CSS standard, or never used it in Domino, this article will serve both as your primer and survival guide. It is a comprehensive introduction that shows you everything from the ground up – how to write style rules, create style sheets, and apply styles to design elements throughout your Domino applications (CSS) in Domino

Web UI Techniques Your Users Will Love – Better, More Helpful Validation Error Messages
by Edward Castelli

A user-friendly interface is important to the success of any application, and one important aspect of building user-friendly interfaces is the handling of error messages. This article demonstrates how to put user-friendly principles into action with techniques for creating better data-entry error messages and building helpful links that put the user on the express route to fixing errors. The code and design elements for all the demonstrated techniques are in a sample database that is available for download from THE VIEW Web site

Dynamically Modifying the Domino Action Bar Applet Using JavaScript
by Dhanasekar Dhandapani

Domino Designer provides developers with a choice of two kinds of action bar for their Web pages: they can use Domino's HTML action bar, or they can use the Java-based action bar applet. The applet overcomes some of the limitations of the HTML bar, but it has a major limitation of its own. Unlike the HTML bar, it cannot be dynamically modified at runtime using native Domino methods. In this article, you'll see how you can dynamically modify the action bar applet using some simple JavaScript code and a custom Java component. The sample database contains everything you need to implement the solution and is available for download from THE VIEW Web site.

Building Custom Domino HTML Action Bars – Featuring Central Configuration, Flexible Positioning, and More
by Robert Patt-Corner

In this article, you'll learn how to build a centrally configurable, customized action bar that can be added anywhere on any form or view (put it at the bottom of the page or even add more than one bar to a page). If you want to change a font or color, you can easily change it in every action bar in your application with a single change to the style sheet. All this flexibility is gained without losing any of the functionality of the action buttons and bars you can create using standard Designer features. The bar is built with forms and subforms, HTML tables, and some HTML code on a style sheet page.

A Dynamic Hide-When Component for Your Web Applications – No Form Refresh Required!
by Hans van der Burg

The native Notes/Domino hide-when functionality relies on a form refresh to recalculate hide-when formulas in fields, which makes it less than ideal for Web applications. This article provides a JavaScript component that you can add to any form to show and hide content (including tabbed interfaces) without a form refresh. It's lightening fast and user-friendly. You'll see how to combine the hide-when JavaScript component with a little DHTML coding to provide your end users with an instant refresh based upon their selections. The hide-when component is in an example database available for download from THE VIEW Web site.

Advanced File Attachment Presentation in Your Domino Web Applications
by Kenneth Haggman

Domino's presentation of file attachments on Web pages is plain and utilitarian, with no native options available for improving either the look or functionality of attachment presentation. In this article, developers learn how to gain control of attachment presentation, how to organize and format the attachments on Domino Web pages, and how to provide user options for controlling attachments. Each technique is isolated in its own version of the demonstration database, so you can really understand what makes it tick and how to gain fine control of attachment presentation. All versions of the demonstration database are available for download from THE VIEW Web site.

Guide Your Users Step by Step – Compelling Wizard Functionality in an Easy, Reusable Design
by Hans van der Burg

A wizard is the ultimate user-friendly interface – simple, intuitive, and easy to use. By guiding users through a process, a wizard ensures that the procedure is executed properly and user-entry errors are minimized, plus it allows you to handle conditional situations easily. This article shows how to create wizards for your Web applications using Domino technology and some reusable components. You can either reuse the logic of the demonstration wizard (it helps users build search queries), or you can write your own logic for guiding users through other kinds of processes. All of the wizard components are in a downloadable database available from THE VIEW Web site.

Providing Web Users with a Fully Interactive Domino View
by Matthew Hoey

Using a single LotusScript agent, you can provide your browser users with fully interactive, searchable Notes views that display neatly on one or more Web pages in a style similar to that used by popular search engines. Results can be filtered using categories and are easy to navigate. This article shows you how to build the view using a self-calling agent that simplifies code organization and maintenance. You can download the working demonstration database from THE VIEW Web site.

A Custom View Interface for the Web -- Featuring Fast Loading, Easy Drill-Down, Breadcrumb Links, and "Jump-to" Functionality
by Michael Tingey

Using Domino's default views to serve Web browsers very large sets of document links can mean slow-to-load pages and a less than crisp user interface. In this article, developers learn a unique solution for serving large Web views very quickly, using a custom interface that provides users with easy drill-down, breadcrumb links, and a "jump to" function based on user entries. The application is built with standard Notes development features – LotusScript, Formula Language, passthru HTML – and the new R5 property for embedded views, "Show single category." You'll also see how this solution can be easily adapted to provide a Yahoo!-like presentation of categorized links. The demonstration database is available for free download at www.eVIEW.com.




Notes/Domino Development
Volume 1

A Comprehensive Tour of Programming Enhancements in Notes/Domino 6.5
by Robert Perron

In Notes/Domino 6.5, the majority of enhancements to the programming interface are for COM, Java, and CORBA, though the LotusScript interface has a few additions as well. This article helps you get a handle on all of the programming changes and enhancements in release 6.5. It gives you a tour of what’s new, describes the new capabilities you have, and provides lots of code demonstrations. The tour includes coverage of enhancements to the programming interface for the Administration Process, agents and sessions, database and ACL classes, document and item classes, rich text (including navigation, interrogation, and insertion), views, HTTP and Notes URLs, and classes for exporting XML. All of the code examples are available for download from THE VIEW Web site.

A Custom Bookmarks Database for Developers and Administrators
by Michael Tingey

For administrators and developers with too many bookmarked databases, Web pages, or replicas to be able to easily keep track of them in the Notes Workspace, this article provides a utility for finding bookmarks fast, without needing to remember which folder they’re in. The utility enables you to find your bookmark by keyword, file or host name, or server, and then launch it with a single click, all from one easy-to-use interface. You’ll learn how the utility works, how to set it up, and how to use it. The custom 3D-Bookmarks database is available for download from THE VIEW Web site.

Advanced File Attachment Presentation in Your Domino Web Applications
by Kenneth Haggman

Domino’s presentation of file attachments on Web pages is plain and utilitarian, with no native options available for improving either the look or functionality of attachment presentation. In this article, developers learn how to gain control of attachment presentation, how to organize and format the attachments on Domino Web pages, and how to provide user options for controlling attachments. Each technique is isolated in its own version of the demonstration database, so you can really understand what makes it tick and how to gain fine control of attachment presentation. All versions of the demonstration database are available for download from THE VIEW Web site.

Guide Your Users Step-by-Step — Compelling Wizard Functionality in an Easy, Reusable Design
by Hans van der Burg

A wizard is the ultimate user-friendly interface — simple, intuitive, and easy to use. By guiding users through a process, a wizard ensures that the procedure is executed properly and user-entry errors are minimized, plus it allows you to handle conditional situations easily. This article shows how to create wizards for your Web applications using Domino technology and some reusable components. You can either reuse the logic of the demonstration wizard (it helps users build search queries), or you can write your own logic for guiding users through other kinds of processes. All of the wizard components are in a downloadable database at THE VIEW Web site.

Extend the Power of Notes Views: Techniques for Enhancing Selection and Performance
by André Guirard

Domino’s standard view selection formulas present some significant limitations (for example, they do not support user-provided selection criteria at runtime), and certain date-related views come with too high a performance cost for some applications. This article shows you how to work around these and other limitations to enhance the “selection power” of shared views and improve the performance of date-related views. For each technique, you get a how-to example and a discussion of its advantages and disadvantages. The techniques work in Domino 5 or higher, with a couple of exceptions. The sample application accompanying this article is available for download from THE VIEW Web site.

Exchange Information Almost Anywhere — The MS XMLHTTP ActiveX Object
by Kenneth Haggman

Microsoft’s XMLHTTP object offers developers an easy way to make an HTTP connection to any server anywhere, request or send information in a URL, and get a response. This article shows how to use the object in your Domino server, Notes client, or IE browser applications to exchange data between Domino and non-Domino systems, consume Web services, run agents without the limitations imposed by server-to-server restrictions or user privileges, and trigger real-time updates of Domino databases from relational database systems. All of the code examples in this article are available for download from THE VIEW Web site.

How to Create and Maintain Domino Data in Your JSP-Based Web Applications
by Robert Patt-Corner

With the examples and techniques explained in this article, you can quickly get up to speed on building JavaServer Pages (JSP) pages that display, create, and maintain Domino data without depending upon native Domino forms. Using Domino JSP tags, your JSP-based Web applications can address Domino databases as easily as relational databases, getting data from and posting it to Domino. All of the code for the examples in this article is available in a database that you can download from THE VIEW Web site.

Extend the Power of Notes Views: Techniques for Creating User-Based Views and Query Assistants in the Notes Client
by André Guirard

When a standard Notes view or query does not meet your application’s requirements, you can use the alternative techniques featured in this article to create custom search dialogs and views to display search results. You’ll see how you can customize the Fill Out Example Form dialog in the full-text search bar, create a custom dialog for a full-text search that can be executed in the current open view, and provide a powerful user-driven search based on relationships between documents. You’ll also see how to create selections in private and embedded views based on a user’s name or other personal attributes. A fully developed example of each technique is available in a database you can download from THE VIEW Web site.

Using the MVC Design Pattern to Engineer Domino Web Applications
by Keith Nolen

Using best practices and object-oriented programming components, a design pattern provides a structure for solving a frequently encountered design problem. This article shows how to use the principles of the popular Model-View-Controller (MVC) pattern to design Domino Web applications that are easy to modify and maintain. Standard Domino design elements and a few easy-to-learn object-oriented programming techniques are all that’s required to implement the methods taught in this article. The demonstration application is available for download from THE VIEW Web site.




Notes/Domino Development
Volume 2

Here, There, and Everywhere — A Simple, Secure Tool for Searching Domino Databases from Any Application
by Herbert van Vliet

Give your browser and Notes client users a single point of access for searching across multiple Domino databases from any application, even non-Domino applications. The solution presented in this article allows you to enable searching in one or more Domino databases and to specify what to search on in each database, whether all documents or specified views. The search is completely secure because it is conducted under the authority of the logged-in user. You will learn how to write an agent that returns results as XML documents and how to format the XML for display in any application. The solution works in Notes Domino releases 4.6, 5, and 6 and is available for download from THE VIEW Web site.

Create MS Office and Other Application Documents from a Browser — Using a LotusScript Agent, Some HTML, and a Content-Type Flag
by Mark Roden

Learn how to send information from a Domino application to a Web browser and have it open in a non-Domino application like MS Word or Excel, without using COM. This article demonstrates an easy-to-implement technique that overcomes many of the issues that typically bedevil developers who need to disseminate Domino information in specific formats. It’s flexible (you can open documents in real time or have them downloaded to the user’s client), it’s not restricted to a Microsoft Web server, and it’s not serverintensive. Through a series of step-by-step examples, you’ll learn how to: export a Domino view to an Excel spreadsheet, add a dynamic chart, prepopulate Word templates, and create contacts using vCards. You’ll also learn how to force the browser to download a file instead of opening it. Two sample databases, one for release 5 and one for release 6, are available for download from THE VIEW Web site.

Leverage Your Notes Client Applications in a Browser-Based Corporate Intranet — The Cookie Technique
by Celeste Frey

Would you like to use your Notes client applications on your corporate intranet — without first converting them to browser applications? With the technique demonstrated in this article, you can launch Notes client applications from your intranet Web site and even pass data between browser applications and Notes applications. The demonstration application is a browser-based company calendar with links that launch the Notes client and populate users’ calendar documents. Step-by-step, you’ll learn how to build the solution, using JavaScript to write a cookie with the information that Notes will use to populate a calendar entry. The sample application is available for download from THE VIEW Web site.

Scheduled Servlets in Domino — The Power of Java Threads
by John Reese and Luke Conrad

Java servlets are a good solution for processing that needs to be triggered from outside Domino or that needs to run
on multiple servers, but if you want to schedule your servlets dynamically, a bit more development effort is required, especially since rescheduling a servlet involves making a design change to your database. This article provides a scheduled servlet solution that allows you to dynamically enable, disable, and reschedule servlets via a Notes configuration document. There is an example implementation for release 5, as well as one for release 6 that uses the new Java classes Timer and TimerTask — both examples are available for download from THE VIEW Web site.

Dynamically Modifying the Domino Action Bar Applet Using JavaScript
by Dhanasekar Dhandapani

Domino Designer provides developers with a choice of two kinds of action bar for their Web pages: They can use Domino’s HTML action bar, or they can use the Java-based action bar applet. The applet overcomes some of the limitations of the HTML bar, but it has a major limitation of its own. Unlike the HTML bar, it cannot be dynamically modified at runtime using native Domino methods. In this article, you’ll see how you can dynamically modify the action bar applet using some simple JavaScript code and a custom Java component. The sample database contains everything you need to implement the solution and is available for download from THE VIEW Web site.

NSFDB2 — What It Is, How It Works, and What It Means for Domino Administrators and Developers
by Wai-ki Yip, John Curtis, and Gary Rheaume

In Domino 7, Lotus Notes and Domino customers will have the option to store their Domino data in DB2, IBM’s relational database system. The feature is called NSFDB2, and it has profound implications for Domino developers and administrators. In this article, IBM Lotus engineers take you through the design and implementation of NSFDB2, explaining how it works and what it means for you and your users. They also preview two new features for exploiting DB2 capabilities in Domino applications. Whether you are looking to exploit relational database technology with Domino data, considering deploying Domino within an existing DB2 infrastructure, or simply interested in the future direction of Notes and Domino, this article provides you with the information you need for understanding NSFDB2.

Domino Development on a (Soccer) Shoestring Budget — How to Develop a Secure Web Application in 30 Minutes or Less
by Page Nix

This article shows how to build a template application you can use to quickly develop low-cost Domino Web sites that are both user-friendly and secure. Originally conceived in response to requests the author received from not-for-profit community organizations like his daughter’s soccer team, the session-based authentication mechanism for this solution is secure enough for commercial use. The demonstration database is available for download from THE VIEW Web site.

Put Better Programs into Production in Less Time with Code Reviews: What They Are, How to Conduct Them, and Why
by David F. Jenkins and Burke LaShell

Conducting code reviews is a proven way to significantly reduce the cost of developing Notes/Domino applications. This article will get you started using code reviews to support the delivery of error-free programs on time and within budget. In addition to detailed instructions on putting together a code review team and conducting a review, the article provides an extensive code review checklist that you can download from THE VIEW Web site and adapt for your own reviews.

Dynamically Modifying the Domino Outline Applet Using JavaScript
by Dhanasekar Dhandapani

Web application developers often prefer Domino’s Javabased outline applet to the Domino HTML outline design element. The outline applet has a cleaner look, is easy to use, and provides features not available in the HTML version. It has one important limitation, however — developers cannot directly access the properties of the applet to customize its look and feel. This article provides a solution that enables you to use JavaScript to dynamically change the appearance of the outline applet in a Web browser, enabling you to modify background and foreground images, twistie images, fonts, mouseover color, and more. The files for implementing this solution are available for download from THE VIEW Web site.



Resource Reservations

Resource Reservations — A Utility for Renaming Resources & Changing Category and Site Information
by Mark W. Rose, IBM Software Software Services for Lotus

Before Notes/Domino 6.5, the Resource Reservations system does not support renaming meeting resources or changing their categories or sites. This article provides a solution that enables administrators of any version of the Resource Reservations system to easily make those changes without incurring errors in existing reservations — you simply fill out a change request form and the utility coordinates the change in all required areas of the Resource Reservations and Calendaring and Scheduling systems. For developers, the article includes a detailed look at how this utility is constructed and how it can be modified. The Resource Re-Name utility is available for download from THE VIEW Web site.

Customizing Resource Reservations — Enable Users to Schedule Rooms Based on Room Attributes
by Mark W. Rose, IBM Software Software Services for Lotus

In the standard Resource Reservations system that ships with Domino, users must reserve equipment separately from
rooms or take their chances on getting a room that has the features they require, such as whiteboards or eating facilities. With the solution in this article, you can modify the Resource Reservations database to enable users to reserve rooms based on the room’s equipment or other attributes. Users will be able to select from a list of attributes when making a reservation, and a customized search engine will return results that meet all of the user’s requirements. You will also see how you can modify the Mail template to extend the solution to users reserving rooms or other resources through Notes Calendar and Scheduling features. A template including new design elements and search code is available for download from THE VIEW Web site.

Resource Reservations — A Utility for Moving and Consolidating Resources
by Mark W. Rose, IBM Software Software Services for Lotus

In Notes/Domino 6, you can manage resources with different time-zone settings within the same Resource Reservations database. Geographically dispersed organizations that previously required multiple Resource Reservations databases to manage resources in different time zones can now consolidate those databases and manage them from a single location. This article provides a solution that automates the time-consuming tasks of consolidating resources and updating reservations. Stepby-step, you’ll see how to create a utility for rapidly consolidating resources, whether in a single instance of Resource Reservations or in a group of centrally located databases. All of the utility’s code and key design elements
are available for download from THE VIEW Web site.

Extending the Resource Reservations System to Manage Room Resources
by Mark W. Rose, IBM Software Software Services for Lotus

The native Lotus Notes and Domino Resource Reservations system does not provide the ability to manage room contents (tables, chairs, media equipment, and the like) on a per-meeting basis. With the custom resource management solution in this article, however, you can enable facilities managers to easily administer the physical layouts and services available in their meeting rooms. The solution requires no template changes. The custom resource management system code and all example forms and views are available for download from THE VIEW Web site.

Resource Reservations — Implementation and Maintenance Best Practices
by Mark W. Rose, IBM Software Software Services for Lotus

Gain best practices for improving end-user support and ensuring ease of maintenance of your Resource Reservations system. In this article, you’ll learn how to: devise an effective naming standard for sites and resources; eliminate orphaned reservations; and ensure that users don’t get any nasty surprises when rescheduling repeating meetings. You’ll also get recommendations for sizing servers for Resource Reservations, a checklist for testing customizations you make to Resource Reservations, and more.