Printed in the U.S.A.
SG24-5331-01
Part No. CC7EDNA
Lotus Domino Release 5.0: A Developer’s Handbook
Lotus Domino Release 5.0:
A Developer’s Handbook
Fiona Collins, David Morrison, Søren Peter Nielsen, Sami Serpola, Reinhold Strobl
SG24-5331-01
International Technical Support Organization
Lotus Domino Release 5.0: A Developer’s Handbook
Lotus Domino Release 5.0:
A Developer’s Handbook
xii Lotus Domino Release 5.0: A Developer’s Handbook
SG24-5331-01
International Technical Support Organization
Lotus Domino Release 5.0:
A Developer’s Handbook
September 1999
Take Note!
Before using this information and the product it supports, be sure to read the general information in
the Special Notices section at the back of this book.
Second Edition (September 1999)
This edition applies to Lotus Domino Release 5.0.1.
Comments may be addressed to: IBM Corporation, International Technical Support Organization
Dept. JN9B Building 045 Internal Zip 2834
11400 Burnet Road
Austin, Texas 78758-3493
When you send information to IBM, you grant IBM a non-exclusive right to use or distribute the
information in any way it believes appropriate without incurring any obligation to you.
© International Business Machines Corporation 1999. All rights reserved.
Note to U.S. Government Users: Documentation related to restricted rights. Use, duplication or disclosure
is subject to restrictions set forth in GSA ADP Schedule Contract with IBM Corp
.
16
Fields
16
Views
15
Subforms
15
Forms
15
The Domino Database
15
Domino Design Elements
14
The Script Area
14
The Reference View
13
The Objects View
13
The Programmer’s Pane
12
The Launch Buttons
12
The Window Tabs
11
The Design Pane
10
Managing Your Workspace
9
2 Lotus Domino Designer:
An Overview
8
Summary
6
Domino Administrator R5.0
4
Notes R5.0
4
Clients for Domino R5.0
2
Services Offered by Domino Servers
2
Domino Enterprise Server
1
Domino Application Server
1
Domino Mail Server
1
Domino R5.0 Server
1
1 What is Lotus Domino?
xv
Comments Welcome
xiii
The Team That Wrote This Redbook
xiii
Preface
60
Sharing and Reusing a Field
57
Performing a Test Run
56
Creating a Field
53
Objects View
52
Giving the Form a Title
43
Specifying Form Properties
43
Forms
43
4 Forms
42
Summary
40
Using Design Synopsis
33
Changing the Database Properties
27
Creating a Database
27
Domino Databases
27
3 Domino Design Elements:
Basics
25
Easy Access to Enterprise Data and
Applications
24
Multilingual Applications Support
24
Multi-Client Applications Support
23
Industry Standards Support
23
New Rapid Development Capabilities
in IDE
22
Domino User Interface Applets
22
Page Designer
21
Frameset Designer
20
Outline Designer
17
New Features of Domino Designer
16
Action Buttons
16
Tables
16
Shared Fields
Contents iii
Contents
102
Importing Pictures
102
Copying Images
102
Images Within Forms
99
Buttons, Action Bar Buttons,
and Hotspots
97
Computed Text
97
Horizontal Rules
97
Other Features of Forms
96
Embedded File Upload Control
94
Embedded Folder Pane
94
Embedded Group Scheduling
Control
93
Embedded View
93
Embedded Outline Control
93
Embedded Date Picker
93
Embedded Navigators
92
Embedded Elements
86
Table Properties
84
Merge and Split Cells
84
Create Tables Within Tables
82
Using Tables
82
Creating a Collapsible Section
82
Working With Collapsible Sections
80
Creating a Layout Region
80
Working With Layout Regions
79
Displaying a Different Form to Web
Users and Notes Users
78
Computed Subforms
77
Removing Subforms
77
Subform Properties
75
Sharing Design Elements With Subforms
74
Field Events
70
Using the $$Return Field
68
Rich Text Field (RTF) Applet
63
Field Properties
138
Presenting Views to Users
137
Creating an All by Category View
136
Using Categories in Views
136
Identifying Unread Documents
133
Overview of Styles
132
Naming Views
132
Hints and Tips on Designing Views
128
Using HTML Formatting for Views
127
Using Java Applets for Display
125
Using the Default Display
125
Views and the Web
123
Working With Views as a Developer
121
Creating a Button on the Action Bar
121
Personal Views
120
Shared, Personal-on-First-Use Views
120
Shared Views
120
Shared and Private Views
118
Summary
117
Creating Calendar Views
114
Editing View Columns
111
Working With View Properties
107
Creating Views
107
What is a Navigator?
107
What is a Folder?
107
What is a View?
107
5 Views
,
Folders
,
and Navi
g
ators
.
106
Summary
106
Using a LotusScript Agent to Capture CGI
Variables
105
Using a Field to Capture CGI Variables
103
Table of CGI Variables Supported by
Domino
103
Using CGI Variables
103
Alternate Text
103
Using Image Resource
iv Lotus Domino Release 5.0: A Developer’s Handbook
173
Resources
170
Embedded Outline
169
Creating a New Outline
167
Outlines
166
Changing the Layout of a Frameset
163
Creating a Frameset
163
Framesets
162
Launching Pages
161
Using Pages
159
Specifying Page Properties
158
Creating a New Page
157
Pages
157
6 New R5.0 Desi
g
n Elements
156
Summary
155
Including a Navigator in the View Menu
154
Testing a Navigator
154
Adding an Action Using @Functions or
LotusScript
154
Adding an Action to a Navigator Object
152
Creating a Navigator
151
Navigator Actions
151
Navigator Objects
150
Using Navigators
150
Creating a Write Access List
149
Creating a Read Access List
149
Managing Access to Views and Folders
148
Designing a Folder
145
Exporting and Importing Views
143
Sorting Documents in Views
142
Indenting Response Documents
142
Formatting Numbers in Columns
141
Formatting Date and Time Columns
140
Hiding Views
138
Embedding Views
194
Using a LotusScript Agent to Capture CGI
Variables
194
Using the @URLOpen Command to Call
Agents
193
WebQueryOpen and WebQuerySave
Agents
193
Running Multiple Instances of an Agent
192
Agents and the Web
189
Troubleshooting Agents
189
To Disable All Automated Agents in a
Database
189
To Disable Individual Agents
189
Disabling Scheduled Agents
188
Debugging Agents
188
Checking the Agent Log
187
Testing an Agent Before Copying it to a
Live Database
187
Testing an Agent During Development
187
Testing an Agent
186
Displaying the Agent Pop-up Menu
183
Specifying What the Agent Should Do
182
Selecting Documents to be Processed
180
Scheduling the Agent
179
Naming the Agent
179
Creating an Agent
178
Restricted and Unrestricted Agents
177
Access Control
177
About Agents
177
7 A
g
ents
176
Summary
176
Other
176
Script Libraries
175
Shared Fields
175
Applets
173
Images
Contents v
230
When to Use Internet Security
230
Domino and SSL
228
Secure Sockets Layer (SSL)
227
HTTP Basic Authentication
227
Authentication on the Web
225
Using Encryption for Field Security
225
Use of Hide-When Formulas
224
Controlled Access Sections
223
Combining Readers and Authors Fields
222
Editor Access
220
Read Access
219
Controlling Access to Documents
219
Preventing Printing, Forwarding, and
Copying of Documents
216
Controlling Access to Forms
215
Controlling Access to Views
215
Controlling Access to Views and Forms
214
Using Directory Link Files to Control Access
to an Application
214
Using Outline Control to Hide Parts of an
Application
212
Changing the ACL Programmatically
212
Maximum Internet Name and Password
Access
211
Enforce Consistent ACL
210
Roles in the ACL
206
Setting Up and Refining the ACL
204
Using the Access Control List to Control
Access to an Application
202
Overview of Domino Security
Architecture
201
Controlling Access to Domino Data
201
8 Securin
g
Your A
pp
lication
199
Summary
197
Using Agents — Advanced Topics
195
Creating a Web Page Counter
261
How Users Search Using a Search Site
Database
260
Multi-Database Full Text Indexes
258
Creating a Search Site Database
258
Search Site Databases
256
Customizing Search Result Forms
252
Creating a TeamRoom Search
251
Customizing Search and Result Forms
249
Full Text Indexing
249
Search Site URLs
248
Search View URLs
248
Search-Related URLs
247
Adding Search Capabilities to Your Web Site
.
247
9 Searchin
g
245
Summary
244
Distinguishing True Security Features
242
Key Design Issues
240
Developing a Plan for Securing Your
Application
240
Backup and Restore
239
APIs for Customized Authentication,
Encryption, and Signing
237
Access Control for HTML and Other Files
.
234
Using Signatures for Security
234
Other Security Options and Considerations
234
Hiding the Design of a Database
234
Controlling if Users Paste Documents into
Database
234
Password Field
233
Using @UserNameList
233
Using @ClientType
232
Using @UserName
232
Using @UserRoles
232
Programming Considerations
231
Defining Web Users
vi Lotus Domino Release 5.0: A Developer’s Handbook
301
Making Field Value Changes Effective
300
Using the Evaluate Function to Combine
LotusScript and Formulas
298
When to Use Formulas and LotusScript
297
Improving Form Performance
297
Catching Errors at Compile Time
295
Using a Template Database
293
Using Script Libraries
292
Reserved Fields
291
Use Consistent Variable Names
290
General Suggestions
290
LotusScript Programming Tips and
Considerations
285
How Scripts and Formulas Are Executed
285
Using LotusScript in Web Applications
284
Action Object
280
Event Type and Sequence
278
The Event Model
278
Programming With LotusScript
278
Using Domino Objects From Java
276
Understanding Front-end and Back-end
Classes
274
Using Domino Objects from LotusScript
273
Object Hierarchy
270
Domino Back-End Objects
270
Domino Front-End UI Objects
269
The Domino Object Model
267
LotusScript
264
Formula Language
263
Simple Actions
263
Programming in Notes
263
10 Pro
g
rammin
g
for Domino
262
Summary
261
Customizing Search Site Result Forms
349
Runtime Requirements
348
Compiling and Running a Java Program
347
How and When to Use CORBA
347
Benefits of Using CORBA
346
Adding CORBA to the Picture
345
Agents, Applets, Applications, and
Servlets
343
J
ava
343
11 Advanced Domino
Pro
g
rammin
g
342
Summary
341
The API for Domino and Notes
341
External Tools
338
Accessing Java/CORBA Applets via
LiveConnect
337
Accessing an Applet From JavaScript
337
LiveConnect — JavaScript Access to the
Domino Classes
334
Cookies and Domino
328
Examples of Adding JavaScript to Forms
323
Mapping Domino Objects to the
Document Object Model
323
Where JavaScript Gives You Access in
Domino
321
Using JavaScript in Domino Design
Elements
320
Using JavaScript
318
Tracing Programs Without a Debugger
314
How to Enable the Debugger
313
Using the Debugger
312
Error Handling
306
New Domino Objects in Domino R5.0
302
Working With a Rich Text Item and Rich
Text Style
302
Using Validation Formulas and
QuerySave
Contents vii
396
Using the LSX Wizard
396
The LSX Development Process
395
Creating an LSX
393
What the LSX Toolkit Contains
392
Overview
392
Using the LSX Toolkit
392
Using an LSX
391
What Is an LSX?
391
The LSX Toolkit
390
Considerations Before Using OLE
Embedding/Automation
387
Troubleshooting
385
Using OLE Automation Without
Embedding
380
Embedding OLE Objects
378
LotusScript Functions and Methods to Use
for OLE Applications
377
Classes of OLE Objects
376
Accessing Other Applications From Notes
Using OLE Automation
374
Runtime Errors and Debugging
372
More Examples
369
Sending Information From Excel Using
Domino
367
Accessing the Domino Object Model Using
OLE Automation
367
Domino and OLE Automation
361
Coding the CORBA Applet
359
CORBA and Domino
358
Internet Inter-ORB Protocol (IIOP)
358
CORBA Architecture
357
Benefits of Using CORBA
357
CORBA/IIOP
353
Creating a Java Agent
351
Applet Calls to lotus.domino Package
349
Remote Calls to lotus.domino Package
431
Lesson 4 - Comment Your Code
431
Lesson 3 - Try to Standardize on a Web
Browser
431
Lesson 2 - Design the Outlook as
Thoroughly as Possible
431
Lesson 1 - Use Professional Graphics
431
Creating Your Application
430
Lesson 7 - Project Scope Creep
430
Lesson 6 - Even Domino Has Limitations
430
Lesson 5 - Planning Your Application
430
Lesson 4 - Understanding the Deliverables
.
429
Lesson 3 - Ensure That There is a Real
Business Need
429
Lesson 2 - Communication
429
Lesson 1 - Getting a Business Sponsor
429
Before You Write a Single Line of Code
429
12 Develo
p
ment Dos and Don’ts
428
Summary
427
Accessing LSX Class Property Arguments
.
425
Accessing LSX Class Method Arguments
423
LSX Design Decisions
419
Understanding the C++ LSX Class
Framework
416
Architecture and Advanced Design
415
LSX Registration
415
LSX Installation
414
The LSX Runtime Environment
414
Deploying an LSX
414
The LSXRUN Tool
413
The LSXTEST Tool
413
Testing an LSX
409
Using LotusScript System Services
408
Using Data Type Descriptions
406
Using LSX Data Types
406
Compiling the LSX
viii Lotus Domino Release 5.0: A Developer’s Handbook
448
Populating the Lotus Notes Database With
Key Data
446
Creating the Activity Document
444
Creating the Lotus Notes Database
443
Creating a Simple RealTime DB2
Connection
442
The DECS Administrator Navigator
441
Using the Connection Server Administrator
441
Configuring DECS
440
Running LCTEST
440
Testing Connections With LCTEST
439
Setting Up Connectivity to DB2
438
Supported Data Sources
437
Installing and Running DECS
437
13 Introducing DECS and
Database Connectivit
y
436
Summary
435
Lesson 2 - Get Feedback From Your Users
.
435
Lesson 1 - Define a Maintenance Server
435
When Your Application is Deployed in
Production
435
Lesson 3 - Document the Application
Requirements
434
Lesson 2 - Supply an Installation Test
Verification Case
434
Lesson 1 - Perform Quality Assurance of
the Application
434
Handing Over Your Application to
Production
432
Lesson 9 - Be Aware of Performance
Options
432
Lesson 8 - Document Your Application
432
Lesson 7 - Provide Meaningful Error
Messages
432
Lesson 6 - Use the Appropriate Design
Elements and Events
431
Lesson 5 - Try to Avoid Hard Coding
498
Example: Accessing Notes From Visual
Basic
497
Known Limitations or Problems With
NotesSQL
493
Summary of Supported ODBC SQL
Grammar
490
Data Types
490
View Column Definitions
489
Using Notes Views as Indexes
488
Column, Index, Table, and View Names
486
Using SQL Tables from Derived Forms
and Views
485
The Universal Relation
485
Mapping Notes Names to SQL Names
484
Connecting to a Data Source
480
Adding a Lotus Notes Data Source
479
Installing NotesSQL
478
Hardware and Software Requirements
478
When to Use NotesSQL
477
Technical Advantages
473
SQL Grammar Conformance Level of
NotesSQL
472
What is ODBC?
471
NotesSQL
471
14 Using Other Database
Connectivit
y
Tools
470
Summary
467
Multi-Value Data
463
Updating Data From Notes to an External
Source
452
Reading Data From an External Source
into a Notes Form
452
LotusScript Extension for Domino
Connectors
449
Accessing More Than One Table
448
Running the DECS Activity
Contents ix
554
Running Multiple Instances of an Agent
551
Digging Deeper
550
How Does This Work?
546
Server Side Processing for Web Applications
.
533
LS:DO Class Library
529
How to Trace and Debug LS:DO
529
Mapping Data Types Between RDB
and Notes DB
528
USELSX Statement to Enable LS:DO
527
Registering ODBC Data Sources
526
Software Requirements
525
Performance
525
Functionality
524
Programming Environment
524
Differences Between LS:DO and ODBC
524
When to Use LS:DO
523
Architecture
522
Concepts
521
What Is LS:DO?
521
LotusScript:DataObject (LS:DO)
519
What is ODBC?
518
Database Access Facilities
518
Data Resource Access
518
LotusScript Data Objects and ODBC
516
To Configure and Run Domino Driver for
JDBC Using IBM WebSphere
516
Using IBM WebSphere Application Server
.
516
Using IBM VisualAge for Java Version 1.0
.
509
Creating a Connection
507
Domino Driver for JDBC Data Types
506
What is JDBC?
506
Domino Driver for JDBC
502
Example: Using NotesSQL With Microsoft
Active Server Pages (ASP)
599
Hide-When Formulas
599
Use Formulas Instead of Simple Actions
598
Temporary Variables
597
Use Aliases
593
In General
593
Preparing Your Database — Tips for
Developers
592
The Difference Between Updating and
Rebuilding
591
Skipping Terms During Tagging Versus
Marking Terms as “Do Not Translate”
.
589
Building Language Databases
586
Translation
584
Preparing the Glossary for Translation
577
Running Checks Using
Pseudo-Translation
566
Setting up the Project and Tagging the
Database
565
Localizing an Application
565
The Synchronizer
564
The Standalone Tagger
564
The WorkBench
563
What is Tagging?
563
Domino Global WorkBench Databases
562
Concepts, Databases, and Tools in Domino
Global WorkBench
559
15 Domino Global WorkBench
558
Summary
557
@DBCommand
557
@DBLookup
556
@DBColumn
556
How to Use @DB Functions
555
When to Use
555
Using @DB Functions to Access Other
Databases Through ODBC
x Lotus Domino Release 5.0: A Developer’s Handbook
635
Domino URL Command Syntax
635
A
pp
endix A Domino URLs
634
Summary
633
Denying a Request
631
Approving a Request
626
Submitting a New Form for Approval
624
Creating a New Request
624
The Major Fields
623
A Closer Look at the ApprovalLogic Subform
.
619
How Is the Approval Cycle Database
Organized?
619
How Does a Form Flow?
619
Approval Cycle Database: Design
618
Working With the Request
617
Using the Workflow Document
613
Creating a Database Using the Approval
Cycle Template
612
Workflow Design Considerations
611
What is Workflow?
611
16 Domino Ad Hoc Workflow
610
Summary
607
Create a Design Synopsis
607
Make a Backup
607
Preparing an Existing Database
606
Keep Translators Informed
605
LotusScript
604
Pay Attention to Length Limitations
604
Fonts
602
Keywords
602
Handling Translatable Lists
600
Concatenated Sentences
600
Avoid Shared/Personal on First Use
Folders or Views
599
Exclude Paragraphs From Translation
Using the DO_NOT_TAG Style
681
ITSO Redbook Evaluation
671
Index
667
IBM Intranet for Employees
667
How to Get ITSO Redbooks
665
Redbooks on CD-ROMs
664
Other Lotus-Related ITSO Publications
663
International Technical Support Organization
Publications
663
Related Publications
661
How to Get the Web Material
661
Additional Web Material
657
S
p
ecial Notices
655
CORBA Objects
651
A
pp
endix C CORBA Internals
649
Keys for Editing Documents or Designing
Domino Objects
649
Dialog Boxes
648
Function Keys
647
Workspace Keys
647
A
pp
endix B Shortcuts
645
Searching for Text with Domino Search
URLs
643
Advantages of Using Keys Instead of
Universal ID
642
Opening Documents by Key
642
Opening an Anchor Link
641
Opening, Editing, and Deleting
Documents
639
Opening Framesets, Pages, Forms,
Navigators, and Agents
637
Opening Servers, Databases, and Views
Contents xi
xii Lotus Domino Release 5.0: A Developer’s Handbook
This document describes how to develop applications using Lotus Domino
Release 5.0.
The earlier chapters in the book introduce some of the basic design elements
of a Domino database such as the database itself, forms, views, folders, and
navigators. Those readers that are familiar with developing applications
using earlier releases of Lotus Domino may want to move straight to the
chapters that introduce the new features in Domino 5.0, such as framesets,
pages, outlines, resources and headlines.
The book then describes how to use the programming languages available in
Domino Designer; the formula language, LotusScript, JavaScript, Java, IIOP
and CORBA, C++ API and the LSX toolkit. Some good practical advice on
Domino development do’s and don’ts is then outlined before discussing the
Domino Enterprise Connectors (DECS) which are used to access data from
external data sources, along with chapters describing how to use NotesSQL,
ODBC, and the LotusScript Data Object (LSDO).
The book then explains how to create multilingual international applications
for Domino and the Web using the Global Workbench tool.
Finally, the topic of creating workflow applications with the Approval Cycle
template is covered with an in-depth look at the LotusScript in the
ApprovalLogic subform.
This redbook was written for Domino technical specialists and
programmers, customers, IBM Business Partners, and the IBM and Lotus
community who need a good technical understanding of how to develop
applications using Lotus Domino R5.0.
The Team That Wrote This Redbook
This redbook was produced by a team of specialists from around the world
working at the International Technical Support Organization Center at Lotus
in Cambridge, Massachusetts, USA.
Fiona Collins is an International Technical Support Specialist for Notes and
Domino at the International Technical Support Organization Center at Lotus
Development, Cambridge, Massachusetts. She manages projects whose
objective it is to produce redbooks on all areas of Domino. Before joining the
Preface
xiii
ITSO in 1996, she provided technical support for Lotus Notes/Domino and
the AS/400, for Lotus and IBM in the UK.
David Morrison is a senior Lotus Notes consultant working for IBM
e-business services in the United Kingdom. David specializes in designing
and developing large scale Internet and data integration applications based
on Lotus Notes and Domino technology. David has over 10 years experience
working in the IT industry, with five of these spent working with Lotus
Notes and Domino.
Søren Peter Nielsen works as an IT Architect for IBM Global Services in
Denmark with Domino development and Domino infrastructure. During his
more than 15 years at IBM, Søren has worked with solutions for industries
like Small and Medium Business, Banking, Insurance, News & Media,
Manufacturing, Public Sector, Travel & Transportation, and Petroleum.
Søren is a Certified Lotus Professional at the Principal level in Application
Development and System Administration.
Sami Serpola works in IBM e-business Services in Finland as a Lotus Notes
and Domino Application Development Consultant, designing and
developing Lotus Notes and Domino solutions for IBM customers.
Reinhold Strobl works for the IBM Product Support Services Department in
Vienna, Austria, where he provides specialist support to customers for Lotus
Domino and support for other aspects of application development. Before
joining the IBM support organization, Reinhold was a software designer and
developer working out of an IBM software development laboratory.
A number of people have provided support and guidance. In particular, we
would like to thank Chris Reckling, Product Manager for Domino Designer.
In addition, we would like to thank the following people from Lotus
Cambridge (unless otherwise noted):
• Stephen Auriemma
• Mike Bisacre
• Janet Bowers, Lotus Notes Application Center of Competence,
IBM Boulder
• Martin Broekhuysen
• Paul Castiglione
• Shu Chen
• Bill de la Vega
• Gary Devendorf
• Carl Hero
• Bernadette Kelly
xiv Lotus Domino Release 5.0: A Developer’s Handbook
• Carl Kriger
• Thierry Mayeur
• Avshalom Neer
• Mary Peterson
• Moshe Rappoport, IBM Zurich
• Michael Roche
• Mark D Smith
• Barry Wand, IBM Global Services Notes Database team, IBM Austin
• David Watkins, e-business Services, IBM UK
• Lauren Wendel
• Stanley Wood, IBM Global Services Network Computing Office
• Graphic Services, Lotus North Reading
Comments Welcome
Your comments are important to us!
We want our redbooks to be as helpful as possible. Please send us your
comments about this or other redbooks in one of the following ways:
• Fax the evaluation form found at the back of this book to the fax number
shown on the form.
• Use the online evaluation form found at
/>Send your comments in an Internet note to
Preface xv
The Domino™ Server family is an integrated messaging and Web
application software platform, for growing companies that need to improve
customer responsiveness, and streamline their business processes.
Domino, the only solution built on an open, unified architecture, is trusted
by the world’s leading companies to deliver secure communication,
collaboration and business applications. Domino R5.0 servers set a new
standard for rich Internet messaging, ease of administration, and integration
with back-end systems.
This chapter describes the Domino R5.0 Server Family, the services Domino
R5.0 offers, and the clients for Domino R5.0.
Domino R5.0 Server
The Domino R5.0 Server is offered in different packages, to allow customers
to pick the functionality that meets their current requirements and extends
that functionality as their requirements change in the future. We will briefly
describe the three Domino R5.0 servers below.
Domino Mail Server
Domino Mail Server is the newest member of the Lotus® Domino server
family. Domino Mail combines support for the latest Internet mail standards
with the advanced messaging capabilities and enterprise-scale reliability and
performance of Lotus Domino. Its integrated, cross-platform services include
Web access, group scheduling, collaborative workspaces, and newsgroups —
all accessible from a Web browser or other standards-based client.
Domino Mail Server is used for messaging only. Customers that want to
deploy their own applications on the Domino server should consider
Domino Application Server or Domino Enterprise Server.
Domino Application Server
Domino Application Server is the leading integrated messaging and
applications server. It delivers best-of-breed messaging as well as an open,
Chapter 1
What is Lotus Domino?
1
secure Web application platform. The server easily integrates back-end
systems with front-end systems business processes.
This is the natural evolution of the Lotus Notes server from which Lotus
Domino originates.
Domino Enterprise Server
Domino Enterprise Server is the server for customers requiring
mission-critical, highly scalable deployments with uninterrupted access,
and maximum performance under all conditions. It extends the functionality
of Domino Mail and Domino Application Servers with high availability
services such as partitioning, clustering, and billing.
This product was previously called Domino Advanced Services.
Services Offered by Domino Servers
Lotus Domino Servers offer a wide range of services. We will briefly
describe the most important ones.
Object Store
Documents in a Domino database can contain any number of objects and
data types, including text, rich text, numerical data, structured data, images,
graphics, sound, video, file attachments, embedded objects, and Java™ and
ActiveX applets. A built-in Full text search engine makes it easy to index and
search documents. The object store also lets your Domino applications
dynamically present information based on variables such as user identity,
user preferences, user input, and time.
Directory
A single directory manages all resource directory information for server and
network configuration, application management, and security. Domino includes
user account synchronization between NT and Domino and is Light Weight
Directory Access Protocol (LDAP) compliant. The directory is the foundation
for easily managing and securing your Internet and intranet applications.
Security
The Domino security model provides user authentication, digital signatures,
flexible access control, and encryption. Domino security enables you to
extend your intranet applications to customers and business partners.
Replication
Bi-directional replication automatically distributes and synchronizes
information and applications across geographically dispersed sites.
Replication makes your business applications available to users around your
company or around the world, regardless of time or location.
2 Lotus Domino Release 5.0: A Developer’s Handbook
Messaging
An advanced client/server messaging system with built-in calendaring and
scheduling enables individuals and groups to send and share information
easily. Message transfer agents (MTAs) seamlessly extend the system to
Simple Mail Transfer Protocol (SMTP)/Multipurpose Internet Mail Extension
(MIME), x.400, and cc:Mail™ messaging environments. The Domino
messaging service provides a single server supporting a variety of mail clients;
Post Office Protocol V3 (POP3), Internet Message Access Protocol V4 (IMAP4),
Message Application Programming Interface (MAPI), and Lotus Notes clients.
Workflow
A workflow engine distributes, routes, and tracks documents according to a
process defined in your applications. Workflow enables you to coordinate
and streamline critical business activities across an organization, and with
customers, partners, and suppliers.
Agents
Agents enable you to automate frequently performed processes, eliminating
tedious administration tasks, and speeding your business applications.
Agents can be triggered by time or events in a business application. Agents
can be run on Domino servers or Lotus Notes clients.
Development Environment
Domino Designer is general-purpose client software featuring an integrated
development environment (IDE) that provides easy access to all features of
the Domino server. We will focus on the features and functions of Domino
Designer as well as the Domino Object Model in this redbook.
Domino Object Model
Domino offers a unified model for accessing its objects through back-end
classes, whether you use LotusScript® or Java. This allows you to switch
programming languages without having to learn new ways to program for
Domino. Refer to Chapter 11: Advanced Domino Programming for more
information on the Domino Object Model.
Live Integration with Enterprise Data
DECS (Domino Enterprise Connection Services) is part of the Domino
Server. It is a Lotus developed technology, first shipped with NotesPump™
2.5, that supplies an easy-to-use forms-based interface to achieve deep,
integrated connectivity to external data from Domino applications. This
allows developers to map fields in forms directly to fields in relational
database tables, without storing any data within the Domino database.
Scalability and Reliability
Domino Enterprise Server enable you to cluster up to six Domino servers to
provide both scalability and failover protection, to maximize the availability
Chapter 1: What is Lotus Domino? 3
of your groupware and messaging applications. Real-time replication
technology keeps the clustered servers synchronized.
Note
A Domino server is not the same as a file server. A file server
provides access to shared resources such as printers and applications, and
also manages network activity. Domino is an application-level server process
that provides services necessary for the effective management of
communications and applications.
Clients for Domino R5.0
Previous versions of Lotus Domino had one, all-purpose client that would be
used by users, administrators, and application developers. With Lotus
Domino Release 4.6, a special client for developers called Lotus Notes®
Designer for Domino was introduced.
As a result of the strong focus on ease-of-use in the design of Lotus Domino
R5.0, three individual clients are now available. They are:
• Notes™ R5.0: the users client
• Domino Administrator R5.0: the administrator’s client
• Domino Designer R5.0: the developer’s client
Most of the functionality in Lotus Domino can also be accessed from Web
browsers. The Lotus Domino server includes a Web administration
application. This redbook has its focus on Domino Designer R5.0. Chapter 2
is dedicated to an overview of Domino Designer R5.0. We will give a brief
overview of the two other clients below.
Notes R5.0
Lotus Notes is the leading integrated e-mail and collaborative software for
the Internet. In R5.0, Notes offers a more open, Web-like, customizable
environment, so you can work the way you want, with all the power you
expect from Notes.
The new Navigation Bar gives you instant forward, back, stop, and refresh
actions, as well as access to search engines and the Web, from wherever you
are in Notes.
Notes R5.0 has Bookmarks so that you can create links to Web pages,
application views, documents, and forms for instant access. The new
Window tabs allow you to keep track of multiple open windows, and
navigate between them quickly. Notes R5.0 also has enhanced search
capabilities, including search-by-form, fuzzy search, and the ability to
perform a domain search — making information tracking quick and intuitive.
4 Lotus Domino Release 5.0: A Developer’s Handbook
Headlines
With Notes R5.0, keeping on top of the latest and most important
information is easy. The Notes R5.0 customizable Headlines page lets you
select the information that you want to see first. You’ll be alerted to
important e-mail messages, tasks, or meetings for the day. You can even
receive updates from intranet applications and view Web content
dynamically — all from Headlines.
Each item on the Headlines page is a point of entry, so if you’ve received an
urgent e-mail message, the full document is just a mouse click away. Plus, IT
organizations can customize Headlines to feed corporate intranet
information right onto the user’s desktop.
Enhanced E-mail and Calendaring
The new mail and calendaring features in Notes R5.0 take the best of
industry leading applications, such as cc:Mail and Lotus Organizer, and
make them better. Notes R5.0 continues to build on its powerful integration
by combining your mail and calendar preferences. You can preset
preferences for every e-mail you send, including automatic spell check and
sending all mail high priority with return receipt. Notes R5.0 mail also
supports signature files, giving you a simple way to identify yourself and
add pertinent information to every e-mail you send.
Chapter 1: What is Lotus Domino? 5
If you manage multiple calendars, Notes R5.0 now gives you the ability to
view more than one calendar at a time. Choose to access multiple calendars
for a “quick view” of who is available, or get more detail on another user’s
schedule if necessary. And when you need to take your calendar with you,
Notes R5.0 gives you multiple print formats to choose from. Notes R5.0
streamlines the process of managing resources across domains, giving you
greater access and control over conference rooms, AV equipment, and more.
Installation and Setup
Setting up Notes R5.0 is easy. Integration with dial-up networking entries
means connections are created automatically for you as you install the
software. Notes R5.0 also offers several preset configurations for even faster
user setup. It’s easier than ever for you to access your ISP mail account right
from Notes. And if you’re upgrading, you’ll be ready to go as soon as you
finish installation.
A Powerful Tool for Any Infrastructure
Current Notes users can continue to take advantage of all their Domino
server-based applications like e-mail and calendaring. In addition, Notes
R5.0 offers full standards support including POP, IMAP4, SMTP, LDAP v3,
MIME, S/MIME, HTML, Java, Javascript, and X.509 certificates. So now,
even users with non-Domino, standards-based back ends or that use ISP
hosted mail at home will benefit from the power of Notes R5.0.
Domino Administrator R5.0
Domino Administrator R5.0 is a new, integrated administration control
panel that provides simple, yet flexible administration. Administration
benefits are universal whether you are a smaller company just getting
started with Domino, or an enterprise managing a large-scale deployment,
with thousands of people and applications.
The Domino Administrator R5.0 utilizes the Windows Explorer metaphor,
providing an easy, intuitive interface and allowing drag-and-drop
functionality for common administration tasks, such as moving a user.
Important new server monitoring features now allow administrators to
proactively monitor and manage an environment. Finally, administrators
have the ability to centrally configure, manage, and enforce user desktop
settings. All of these administration enhancements, and more, result in the
most comprehensive server management tools and reduce the cost of
ownership.
6 Lotus Domino Release 5.0: A Developer’s Handbook
Domino Directories Administration Tab
The Domino Administrator provides logical groupings for administration
functions and tasks via five specific interfaces reached via tabs across the top
of the Administrator UI. These tabs are People & Groups, Configuration,
Files, Server, Messaging, and Replication. On each tab, the UI is divided into
three primary work areas or “panes.”
• On the left, the Server Scope Pane gives administrators a complete
hierarchical view of your Domino Server deployment.
• The Context Pane object on the top gives administrators a view of the
specific database, directory, group, server, etc. that you are working on.
• The Results Pane on the bottom gives administrators immediate
feedback and results of tasks you invoke.
• The Toolbar along the right side provides context-specific administration
tools (also available via right-mouse click).
The People & Groups Tab in the Domino Administrator provides a central
interface for all user and group management, such as user registration,
certification, and group management.
From the Files Tab, Administrators can easily manage files and applications.
Context-sensitive tools let administrators easily perform common database
tasks such as check the disk status, move, compact, and more.
From the Server Tab, Administrators can get a graphical representation of
the state of their servers, with details on the current status of specific tasks.
Chapter 1: What is Lotus Domino? 7