Object Store Documents in a Domino database can contain any number of objects anddata types, including text, rich text, numerical data, structured data, images,graphics, sound, video, fi
Trang 1Printed in the U.S.A.
SG24-5331-01
Part No CC7EDNA
Trang 2
xii Lotus Domino Release 5.0: A Developer’s Handbook
Trang 3SG24-5331-01International Technical Support Organization
Lotus Domino Release 5.0:
A Developer’s Handbook
September 1999
Trang 4Take 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 RoadAustin, Texas 78758-3493When 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
Trang 516Fields
16Views
15Subforms
15Forms
15The Domino Database
15Domino Design Elements
14The Script Area
14The Reference View
13The Objects View
13The Programmer’s Pane
12The Launch Buttons
12The Window Tabs
11The Design Pane
10Managing Your Workspace
9
2 Lotus Domino Designer:
An Overview
8Summary
6Domino Administrator R5.0
4Notes R5.0
4Clients for Domino R5.0
2Services Offered by Domino Servers
2Domino Enterprise Server
1Domino Application Server
1Domino Mail Server
1Domino R5.0 Server
1
1 What is Lotus Domino?
xvComments Welcome
xiiiThe Team That Wrote This Redbook
xiii
Preface
60Sharing and Reusing a Field
57Performing a Test Run
56Creating a Field
53Objects View
52Giving the Form a Title
43Specifying Form Properties
43Forms
43
4 Forms
42Summary
40Using Design Synopsis
33Changing the Database Properties
27Creating a Database
27Domino Databases
24Multi-Client Applications Support
23Industry Standards Support
23
New Rapid Development Capabilities
in IDE
22Domino User Interface Applets
22Page Designer
21Frameset Designer
20Outline Designer
17New Features of Domino Designer
16Action Buttons
16Tables
16Shared Fields
Contents iii
Contents
Trang 6102Importing Pictures
102Copying Images
102Images Within Forms
99
Buttons, Action Bar Buttons,
and Hotspots
97Computed Text
97Horizontal Rules
97Other Features of Forms
96Embedded File Upload Control
94Embedded Folder Pane
94
Embedded Group Scheduling
Control
93Embedded View
93Embedded Outline Control
93Embedded Date Picker
93Embedded Navigators
92Embedded Elements
86Table Properties
84Merge and Split Cells
84Create Tables Within Tables
82Using Tables
82Creating a Collapsible Section
82Working With Collapsible Sections
80Creating a Layout Region
80Working With Layout Regions
79
Displaying a Different Form to Web
Users and Notes Users
78Computed Subforms
77Removing Subforms
77Subform Properties
75Sharing Design Elements With Subforms
74Field Events
70Using the $$Return Field
68Rich Text Field (RTF) Applet
63Field Properties
138Presenting Views to Users
137Creating an All by Category View
136Using Categories in Views
136Identifying Unread Documents
133Overview of Styles
132Naming Views
132Hints and Tips on Designing Views
128Using HTML Formatting for Views
127Using Java Applets for Display
125Using the Default Display
125Views and the Web
123Working With Views as a Developer
121Creating a Button on the Action Bar
121Personal Views
120Shared, Personal-on-First-Use Views
120Shared Views
120Shared and Private Views
118Summary
117Creating Calendar Views
114Editing View Columns
111Working With View Properties
107Creating Views
107What is a Navigator?
107What is a Folder?
107What is a View?
107
5 Views, Folders, and Navigators
106Summary
106
Using a LotusScript Agent to Capture CGIVariables
105Using a Field to Capture CGI Variables
103
Table of CGI Variables Supported byDomino
103Using CGI Variables
103Alternate Text
103Using Image Resource
iv Lotus Domino Release 5.0: A Developer’s Handbook
Trang 7173Resources
170Embedded Outline
169Creating a New Outline
167Outlines
166Changing the Layout of a Frameset
163Creating a Frameset
163Framesets
162Launching Pages
161Using Pages
159Specifying Page Properties
158Creating a New Page
157Pages
157
6 New R5.0 Design Elements
156Summary
155Including a Navigator in the View Menu
154Testing a Navigator
154
Adding an Action Using @Functions or
LotusScript
154Adding an Action to a Navigator Object
152Creating a Navigator
151Navigator Actions
151Navigator Objects
150Using Navigators
150Creating a Write Access List
149Creating a Read Access List
149Managing Access to Views and Folders
148Designing a Folder
145Exporting and Importing Views
143Sorting Documents in Views
142Indenting Response Documents
142Formatting Numbers in Columns
141Formatting Date and Time Columns
140Hiding Views
138Embedding Views
192Agents and the Web
189Troubleshooting Agents
188Debugging Agents
188Checking the Agent Log
187
Testing an Agent Before Copying it to aLive Database
187Testing an Agent During Development
187Testing an Agent
186Displaying the Agent Pop-up Menu
183Specifying What the Agent Should Do
182Selecting Documents to be Processed
180Scheduling the Agent
179Naming the Agent
179Creating an Agent
178Restricted and Unrestricted Agents
177Access Control
177About Agents
177
7 Agents
176Summary
176Other
176Script Libraries
175Shared Fields
175Applets
173Images
Contents v
Trang 8230When to Use Internet Security
230Domino and SSL
228Secure Sockets Layer (SSL)
227HTTP Basic Authentication
227Authentication on the Web
225Using Encryption for Field Security
225Use of Hide-When Formulas
224Controlled Access Sections
223Combining Readers and Authors Fields
222Editor Access
220Read Access
219Controlling Access to Documents
219
Preventing Printing, Forwarding, and
Copying of Documents
216Controlling Access to Forms
215Controlling Access to Views
215Controlling Access to Views and Forms
212
Maximum Internet Name and Password
Access
211Enforce Consistent ACL
210Roles in the ACL
206Setting Up and Refining the ACL
201
8 Securing Your Application
199Summary
197Using Agents — Advanced Topics
195Creating a Web Page Counter
261
How Users Search Using a Search SiteDatabase
260Multi-Database Full Text Indexes
258Creating a Search Site Database
258Search Site Databases
256Customizing Search Result Forms
252Creating a TeamRoom Search
251Customizing Search and Result Forms
249Full Text Indexing
249Search Site URLs
248Search View URLs
248Search-Related URLs
247Adding Search Capabilities to Your Web Site
247
9 Searching
245Summary
244Distinguishing True Security Features
242Key Design Issues
240
Developing a Plan for Securing YourApplication
240Backup and Restore
239
APIs for Customized Authentication,Encryption, and Signing
237Access Control for HTML and Other Files
234Using Signatures for Security
234Other Security Options and Considerations
234Hiding the Design of a Database
234
Controlling if Users Paste Documents intoDatabase
234Password Field
233Using @UserNameList
233Using @ClientType
232Using @UserName
232Using @UserRoles
232Programming Considerations
231Defining Web Users
vi Lotus Domino Release 5.0: A Developer’s Handbook
Trang 9301Making Field Value Changes Effective
300
Using the Evaluate Function to Combine
LotusScript and Formulas
298When to Use Formulas and LotusScript
297Improving Form Performance
297Catching Errors at Compile Time
295Using a Template Database
293Using Script Libraries
292Reserved Fields
291Use Consistent Variable Names
290General Suggestions
290
LotusScript Programming Tips and
Considerations
285How Scripts and Formulas Are Executed
285Using LotusScript in Web Applications
284Action Object
280Event Type and Sequence
278The Event Model
278Programming With LotusScript
278Using Domino Objects From Java
276
Understanding Front-end and Back-end
Classes
274Using Domino Objects from LotusScript
273Object Hierarchy
270Domino Back-End Objects
270Domino Front-End UI Objects
269The Domino Object Model
267LotusScript
264Formula Language
263Simple Actions
263Programming in Notes
263
10 Programming for Domino
262Summary
261Customizing Search Site Result Forms
349Runtime Requirements
348Compiling and Running a Java Program
347How and When to Use CORBA
347Benefits of Using CORBA
346Adding CORBA to the Picture
342Summary
341The API for Domino and Notes
341External Tools
338
Accessing Java/CORBA Applets viaLiveConnect
337Accessing an Applet From JavaScript
337
LiveConnect — JavaScript Access to theDomino Classes
334Cookies and Domino
328Examples of Adding JavaScript to Forms
318Tracing Programs Without a Debugger
314How to Enable the Debugger
313Using the Debugger
312Error Handling
306New Domino Objects in Domino R5.0
Trang 10396Using the LSX Wizard
396The LSX Development Process
395Creating an LSX
393What the LSX Toolkit Contains
392Overview
392Using the LSX Toolkit
392Using an LSX
391What Is an LSX?
391The LSX Toolkit
390
Considerations Before Using OLE
Embedding/Automation
387Troubleshooting
385
Using OLE Automation Without
Embedding
380Embedding OLE Objects
378
LotusScript Functions and Methods to Use
for OLE Applications
377Classes of OLE Objects
376
Accessing Other Applications From Notes
Using OLE Automation
374Runtime Errors and Debugging
372More Examples
361Coding the CORBA Applet
359CORBA and Domino
358Internet Inter-ORB Protocol (IIOP)
358CORBA Architecture
357Benefits of Using CORBA
357CORBA/IIOP
353Creating a Java Agent
351Applet Calls to lotus.domino Package
349Remote Calls to lotus.domino Package
431Lesson 4 - Comment Your Code
431Creating Your Application
430Lesson 7 - Project Scope Creep
430Lesson 6 - Even Domino Has Limitations
430Lesson 5 - Planning Your Application
430Lesson 4 - Understanding the Deliverables
429
Lesson 3 - Ensure That There is a RealBusiness Need
429Lesson 2 - Communication
429Lesson 1 - Getting a Business Sponsor
429Before You Write a Single Line of Code
429
12 Development Dos and Don’ts
428Summary
427Accessing LSX Class Property Arguments
425Accessing LSX Class Method Arguments
423LSX Design Decisions
419
Understanding the C++ LSX ClassFramework
416Architecture and Advanced Design
415LSX Registration
415LSX Installation
414The LSX Runtime Environment
414Deploying an LSX
414The LSXRUN Tool
413The LSXTEST Tool
413Testing an LSX
409Using LotusScript System Services
408Using Data Type Descriptions
406Using LSX Data Types
406Compiling the LSX
viii Lotus Domino Release 5.0: A Developer’s Handbook
Trang 11Populating the Lotus Notes Database With
Key Data
446Creating the Activity Document
444Creating the Lotus Notes Database
443
Creating a Simple RealTime DB2
Connection
442The DECS Administrator Navigator
441Using the Connection Server Administrator
441Configuring DECS
440Running LCTEST
440Testing Connections With LCTEST
439Setting Up Connectivity to DB2
438Supported Data Sources
437Installing and Running DECS
437
13 Introducing DECS and
Database Connectivity
436Summary
435Lesson 2 - Get Feedback From Your Users
435Lesson 1 - Define a Maintenance Server
432
Lesson 7 - Provide Meaningful Error
Messages
432
Lesson 6 - Use the Appropriate Design
Elements and Events
431Lesson 5 - Try to Avoid Hard Coding
490View Column Definitions
489Using Notes Views as Indexes
488Column, Index, Table, and View Names
486
Using SQL Tables from Derived Formsand Views
485The Universal Relation
485Mapping Notes Names to SQL Names
484Connecting to a Data Source
480Adding a Lotus Notes Data Source
479Installing NotesSQL
478Hardware and Software Requirements
478When to Use NotesSQL
477Technical Advantages
473
SQL Grammar Conformance Level ofNotesSQL
472What is ODBC?
471NotesSQL
471
14 Using Other Database Connectivity Tools
470Summary
467Multi-Value Data
448Running the DECS Activity
Contents ix
Trang 12554Running Multiple Instances of an Agent
551Digging Deeper
550How Does This Work?
546Server Side Processing for Web Applications
533LS:DO Class Library
529How to Trace and Debug LS:DO
529
Mapping Data Types Between RDB
and Notes DB
528USELSX Statement to Enable LS:DO
527Registering ODBC Data Sources
526Software Requirements
525Performance
525Functionality
524Programming Environment
524Differences Between LS:DO and ODBC
524When to Use LS:DO
523Architecture
522Concepts
521What Is LS:DO?
521LotusScript:DataObject (LS:DO)
519What is ODBC?
518Database Access Facilities
518Data Resource Access
518LotusScript Data Objects and ODBC
516
To Configure and Run Domino Driver for
JDBC Using IBM WebSphere
516Using IBM WebSphere Application Server
516Using IBM VisualAge for Java Version 1.0
509Creating a Connection
507Domino Driver for JDBC Data Types
506What is JDBC?
506Domino Driver for JDBC
502
Example: Using NotesSQL With Microsoft
Active Server Pages (ASP)
599Hide-When Formulas
599Use Formulas Instead of Simple Actions
598Temporary Variables
597Use Aliases
586Translation
584Preparing the Glossary for Translation
565The Synchronizer
564The Standalone Tagger
564The WorkBench
563What is Tagging?
563Domino Global WorkBench Databases
555When to Use
Trang 13635Domino URL Command Syntax
635
Appendix A Domino URLs
634Summary
633Denying a Request
631Approving a Request
626Submitting a New Form for Approval
624Creating a New Request
624The Major Fields
619Approval Cycle Database: Design
618Working With the Request
617Using the Workflow Document
613
Creating a Database Using the Approval
Cycle Template
612Workflow Design Considerations
611What is Workflow?
611
16 Domino Ad Hoc Workflow
610Summary
607Create a Design Synopsis
607Make a Backup
607Preparing an Existing Database
606Keep Translators Informed
605LotusScript
604Pay Attention to Length Limitations
604Fonts
602Keywords
602Handling Translatable Lists
600Concatenated Sentences
600
Avoid Shared/Personal on First Use
Folders or Views
599
Exclude Paragraphs From Translation
Using the DO_NOT_TAG Style
667
How to Get ITSO Redbooks
665Redbooks on CD-ROMs
664Other Lotus-Related ITSO Publications
648Function Keys
647Workspace Keys
642Opening an Anchor Link
Contents xi
Trang 14
xii Lotus Domino Release 5.0: A Developer’s Handbook
Trang 15This document describes how to develop applications using Lotus DominoRelease 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, andnavigators Those readers that are familiar with developing applicationsusing earlier releases of Lotus Domino may want to move straight to thechapters 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 inDomino Designer; the formula language, LotusScript, JavaScript, Java, IIOPand CORBA, C++ API and the LSX toolkit Some good practical advice onDomino development do’s and don’ts is then outlined before discussing theDomino Enterprise Connectors (DECS) which are used to access data fromexternal 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 applicationsfor Domino and the Web using the Global Workbench tool
Finally, the topic of creating workflow applications with the Approval Cycletemplate is covered with an in-depth look at the LotusScript in the
ApprovalLogic subform
This redbook was written for Domino technical specialists andprogrammers, customers, IBM Business Partners, and the IBM and Lotuscommunity who need a good technical understanding of how to developapplications using Lotus Domino R5.0
The Team That Wrote This Redbook
This redbook was produced by a team of specialists from around the worldworking 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 LotusDevelopment, Cambridge, Massachusetts She manages projects whoseobjective it is to produce redbooks on all areas of Domino Before joining the
Preface
xiii
Trang 16ITSO in 1996, she provided technical support for Lotus Notes/Domino andthe AS/400, for Lotus and IBM in the UK.
David Morrisonis a senior Lotus Notes consultant working for IBMe-business services in the United Kingdom David specializes in designingand developing large scale Internet and data integration applications based
on Lotus Notes and Domino technology David has over 10 years experienceworking in the IT industry, with five of these spent working with LotusNotes and Domino
Søren Peter Nielsen works as an IT Architect for IBM Global Services in
Denmark with Domino development and Domino infrastructure During hismore than 15 years at IBM, Søren has worked with solutions for industrieslike 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 ApplicationDevelopment and System Administration
Sami Serpola works in IBM e-business Services in Finland as a Lotus Notes
and Domino Application Development Consultant, designing anddeveloping 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 LotusDomino and support for other aspects of application development Beforejoining the IBM support organization, Reinhold was a software designer anddeveloper 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 LotusCambridge (unless otherwise noted):
Trang 17Comments Welcome
Your comments are important to us!
We want our redbooks to be as helpful as possible Please send us yourcomments about this or other redbooks in one of the following ways:
shown on the form
http://www.redbooks.ibm.com/
Send your comments in an Internet note to
redbook@us.ibm.com
Preface xv
Trang 19The Domino™ Server family is an integrated messaging and Webapplication software platform, for growing companies that need to improvecustomer 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 newstandard for rich Internet messaging, ease of administration, and integrationwith back-end systems
This chapter describes the Domino R5.0 Server Family, the services DominoR5.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 extendsthat functionality as their requirements change in the future We will brieflydescribe the three Domino R5.0 servers below
Domino Mail Server
Domino Mail Server is the newest member of the Lotus® Domino serverfamily Domino Mail combines support for the latest Internet mail standardswith the advanced messaging capabilities and enterprise-scale reliability andperformance of Lotus Domino Its integrated, cross-platform services includeWeb 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 todeploy their own applications on the Domino server should considerDomino Application Server or Domino Enterprise Server
Domino Application Server
Domino Application Server is the leading integrated messaging andapplications server It delivers best-of-breed messaging as well as an open,
Chapter 1
What is Lotus Domino?
1
Trang 20secure Web application platform The server easily integrates back-endsystems with front-end systems business processes.
This is the natural evolution of the Lotus Notes server from which LotusDomino originates
Domino Enterprise Server
Domino Enterprise Server is the server for customers requiringmission-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 availabilityservices 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 brieflydescribe the most important ones
Object Store
Documents in a Domino database can contain any number of objects anddata types, including text, rich text, numerical data, structured data, images,graphics, sound, video, file attachments, embedded objects, and Java™ andActiveX applets A built-in Full text search engine makes it easy to index andsearch documents The object store also lets your Domino applicationsdynamically 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 andnetwork configuration, application management, and security Domino includesuser account synchronization between NT and Domino and is Light WeightDirectory Access Protocol (LDAP) compliant The directory is the foundationfor easily managing and securing your Internet and intranet applications
Security
flexible access control, and encryption Domino security enables you toextend your intranet applications to customers and business partners
Trang 21An advanced client/server messaging system with built-in calendaring andscheduling enables individuals and groups to send and share informationeasily Message transfer agents (MTAs) seamlessly extend the system toSimple 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 aprocess defined in your applications Workflow enables you to coordinateand streamline critical business activities across an organization, and withcustomers, partners, and suppliers
Agents
Agents enable you to automate frequently performed processes, eliminatingtedious administration tasks, and speeding your business applications.Agents can be triggered by time or events in a business application Agentscan be run on Domino servers or Lotus Notes clients
Development Environment
Domino Designer is general-purpose client software featuring an integrateddevelopment environment (IDE) that provides easy access to all features ofthe Domino server We will focus on the features and functions of DominoDesigner as well as the Domino Object Model in this redbook
Domino Object Model
Domino offers a unified model for accessing its objects through back-endclasses, whether you use LotusScript® or Java This allows you to switchprogramming languages without having to learn new ways to program forDomino Refer to Chapter 11: Advanced Domino Programming for moreinformation on the Domino Object Model
Live Integration with Enterprise Data
DECS (Domino Enterprise Connection Services) is part of the DominoServer 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 Thisallows developers to map fields in forms directly to fields in relationaldatabase tables, without storing any data within the Domino database
Scalability and Reliability
Domino Enterprise Server enable you to cluster up to six Domino servers toprovide both scalability and failover protection, to maximize the availability
Chapter 1: What is Lotus Domino? 3
Trang 22of your groupware and messaging applications Real-time replicationtechnology keeps the clustered servers synchronized.
provides access to shared resources such as printers and applications, andalso manages network activity Domino is an application-level server processthat 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 beused by users, administrators, and application developers With LotusDomino 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 DominoR5.0, three individual clients are now available They are:
Most of the functionality in Lotus Domino can also be accessed from Webbrowsers The Lotus Domino server includes a Web administrationapplication 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 briefoverview of the two other clients below
Notes R5.0
Lotus Notes is the leading integrated e-mail and collaborative software forthe Internet In R5.0, Notes offers a more open, Web-like, customizableenvironment, so you can work the way you want, with all the power youexpect from Notes
The new Navigation Bar gives you instant forward, back, stop, and refreshactions, as well as access to search engines and the Web, from wherever youare 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 newWindow tabs allow you to keep track of multiple open windows, andnavigate between them quickly Notes R5.0 also has enhanced searchcapabilities, including search-by-form, fuzzy search, and the ability toperform a domain search — making information tracking quick and intuitive
4 Lotus Domino Release 5.0: A Developer’s Handbook
Trang 23With Notes R5.0, keeping on top of the latest and most important
information is easy The Notes R5.0 customizable Headlines page lets youselect 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 evenreceive 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 anurgent e-mail message, the full document is just a mouse click away Plus, ITorganizations 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, andmake 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 andsending all mail high priority with return receipt Notes R5.0 mail alsosupports signature files, giving you a simple way to identify yourself andadd pertinent information to every e-mail you send
Chapter 1: What is Lotus Domino? 5
Trang 24If you manage multiple calendars, Notes R5.0 now gives you the ability toview more than one calendar at a time Choose to access multiple calendarsfor a “quick view” of who is available, or get more detail on another user’sschedule 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.0streamlines the process of managing resources across domains, giving yougreater 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 entriesmeans connections are created automatically for you as you install thesoftware Notes R5.0 also offers several preset configurations for even fasteruser setup It’s easier than ever for you to access your ISP mail account rightfrom Notes And if you’re upgrading, you’ll be ready to go as soon as youfinish installation
A Powerful Tool for Any Infrastructure
Current Notes users can continue to take advantage of all their Dominoserver-based applications like e-mail and calendaring In addition, NotesR5.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 ISPhosted 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 controlpanel that provides simple, yet flexible administration Administrationbenefits are universal whether you are a smaller company just gettingstarted 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 toproactively monitor and manage an environment Finally, administratorshave the ability to centrally configure, manage, and enforce user desktopsettings All of these administration enhancements, and more, result in themost comprehensive server management tools and reduce the cost ofownership
6 Lotus Domino Release 5.0: A Developer’s Handbook
Trang 25Domino Directories Administration Tab
The Domino Administrator provides logical groupings for administrationfunctions 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 intothree primary work areas or “panes.”
hierarchical view of your Domino Server deployment
specific database, directory, group, server, etc that you are working on
feedback and results of tasks you invoke
tools (also available via right-mouse click)
The People & Groups Tab in the Domino Administrator provides a centralinterface 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 databasetasks such as check the disk status, move, compact, and more
From the Server Tab, Administrators can get a graphical representation ofthe state of their servers, with details on the current status of specific tasks
Chapter 1: What is Lotus Domino? 7
Trang 26In this chapter we have described the Domino Server Family:
and the clients for Domino from Lotus:
Trang 27The Domino Web application server and Domino Designer provide aworld-class Web development platform They are optimized to enable you tobuild applications which facilitate the flow of information between yourorganization’s enterprise systems and front-end business processes.
The Domino development environment offers you application services such
as workflow, directory, messaging, and security which can be used to createhigh value business solutions
The Domino Designer is an open application development environment that
is intuitive and offers a high degree of developer productivity
In Domino R5.0 Notes and Web development experiences have beenintegrated, bringing native Web technologies to the Notes environment andextending native Domino technologies to the Web environment WithDomino Designer you write your application once to run in both a Webbrowser and the Notes client Several Domino design elements, previouslyoffered only in Notes, are now available as Java applets to provide increasedfunctionality to browsers For example, a view served as an applet supportssuch “Notes-like” features as expandable/collapsible categories, resizablecolumns, and multiple document selection A rich text editor applet allowsusers to style and format text in a Web document In addition, you can nowwrite applications in JavaScript which will support both the Notes client andthe Web browser
Lotus Domino Designer gives you the ability to build internationalapplications with Domino Global WorkBench™ which contains acomprehensive set of tools to easily create, synchronize, and managemultilingual Domino applications
Chapter 2
Lotus Domino Designer: An Overview
9
Trang 28Managing Your Workspace
This section gives you a short overview on the user interface of LotusDomino Designer As in Lotus Domino client, the workspace in LotusDomino Designer is made up of several pages where the Domino databasesare displayed as icons One of the features of the Programmer’s Pane is itssensitivity to context You are very often just one mouse-click away from theaction you want to perform
When you start Lotus Notes your screen may look like this:
To access your workspace, click the Databases icon and then clickWorkspace
To open Domino Designer, click the Domino Designer icon or right click adatabase icon and select Database - Open in Designer from the pop-upmenu
You can of course also start Domino Designer by clicking its icon in the StartPrograms list
10 Lotus Domino Release 5.0: A Developer's Handbook
Trang 29The Design Pane
The Design Pane gives you easy access to the design elements of the last 5databases you have worked on
Clicking the tab in the upper left corner of the designer bookmarks brings upthe Design pane list
From here you can easily go to any of the design elements of an alreadylisted database in the area called the work pane by simply clicking it
is added to the site database list
Clicking the push-pin in the upper right corner of the Recent Databases listfixes the list to the screen and stops it from automatically hiding Clickingthe push-pin a second time will cause the site database list to disappearwhen you click the programmer's pane
Chapter 2: Lotus Domino Designer: An Overview 11
Trang 30The Window Tabs
Another enhancement to the user interface is the window tabs, which appearwhen a new design element is opened The window tabs have replaced theWindows menu as a more intuitive way of tracking where you’ve been
It’s easy to see what you have previously opened and return to it quicklyand easily by clicking the tab Also, because the tabs have text titles you caneasily close the windows that you don’t want open without having them asthe active window on the desktop Just click the small x to the right of the tab
to close that window
or parts of them between applications
CTRL+TAB allows you to move from window to window To go to a specific
windows tab Press the number displayed for the tab you want to select To
The Launch Buttons
The Domino Designer R5.0 interface has a set of launch buttons in the upperright corner
There are buttons which let you easily preview the results of your designchanges The following preview tools are available:
Domino Client — Click the button showing the 3 people
Domino Web Browser — Click the button showing the tile
External Web Browser — Click the button showing the symbol of theinstalled browser
installed browser For example, if you have two browsers installed you willsee two buttons for the external browsers
12 Lotus Domino Release 5.0: A Developer's Handbook
Trang 31The button displayed to the left of the preview tools buttons (shown in thepanel above) will launch the InfoBox for the selected design element.
The Programmer’s Pane
The Programmer’s Pane is made up of two parts:
The Objects View
The Objects view gives you immediate access to any design element in yourapplication and its associated events and attributes
You can easily navigate through the list by clicking the plus (+) and minus (-)signs to expand or collapse the displayed list for a design element
Chapter 2: Lotus Domino Designer: An Overview 13
Trang 32The Reference View
The Reference view is similar to the Objects view In this view you getinformation about Domino objects
The Script Area
Depending on the selection you make in the Objects view, the appropriateinput window is presented in the script area Using the Design Paneproperty box you can adjust the settings to your needs
14 Lotus Domino Release 5.0: A Developer's Handbook
Trang 33Domino Design Elements
As a developer of Domino applications you will work with the Dominodesign elements to build your application The following section gives you
a short overview of the design elements
The Domino Database
A Domino database is a collection of related information stored in a singlefile A Domino application uses at least one database However, applications
of a more complex nature may use several databases and may routeinformation between databases on one or more servers A database holdsinformation about its design (see the description of the Domino designelements below) as well as data Domino data is organized as documents Adocument is defined as an object containing text, graphics, video, or audioobjects, or any other kind of “rich text” data
Forms
Notes database contains documents created from one or more forms A formcan contain:
Fields that store data
Text that labels fields or gives instructions
Subforms that store a collection of form elements that you want to use onmore than one form
Layout regions that combine graphics and fields in a way that affordsgreater design flexibility
Graphics that make forms easier to understand
Tables that summarize or organize information
Objects (OLE, Subscriptions, Notes/FX™ fields), file attachments, URLs,and links that extend the reach of Notes documents
Actions and buttons that perform functions automatically
Background color and graphics that enhance the look of a document
Subforms
A subform is a collection of fields that you plan to use in more than oneform For example, you might create a corporate letterhead in a subform andthen use the subform on a variety of business forms Subforms can containthe same elements as a regular form
Chapter 2: Lotus Domino Designer: An Overview 15
Trang 34A view is a list of documents in a database Depending on the selectioncriteria a subset or all documents of a database are displayed Thedocuments may be grouped or sorted based on their contents Usually, themost important information contained in a document is shown in a view, too
Fields
what data a single document can contain Each field in a document stores aparticular kind of data, such as text, numbers, dates, or user names Oftenusers can enter and edit field values, but sometimes data is filled in orchanged automatically
The contents of a field can be displayed in documents and views or can beretrieved for use in formulas A field can be defined for use on a single form
or can be defined to be shared among multiple forms in a database
Shared Fields
Shared fields behave like fields but may be used in different forms If youchange the properties of a shared field the changes are promoted to alloccurrences of this field
16 Lotus Domino Release 5.0: A Developer's Handbook
Trang 35New Features of Domino Designer
From the beginning, Domino was designed to be a great environment forquickly creating secure, collaborative applications Now, the Lotus DominoDesigner has been enhanced to meet the needs of professional and corporatedevelopers who create enterprise applications for the Web As a result, theLotus Domino Designer includes a set of new features and tools for rapidapplication development:
Outline Designer: The outline designer is a visual toolset for simplifying
Domino Web site design It enables developers to design an entire site,link content to the site design, manage the links, and create a UI sitenavigation map component that can be used in site frames or on Webpages
Frameset Designer: The frameset designer provides visual tools and
wizards to easily create multi-paned interfaces for Domino applications
Page Designer: Page designer, a WYSIWYG HTML authoring tool,
supports a broad range of browser technologies A number ofimprovements to tables and graphics file support provide completecontrol over page design and layout
Domino UI Applets: Three popular Notes user interface components are
now available as Java applets The Java applets provide the capability toquickly add these full-featured Notes design elements to browserapplications
New Rapid Development Capabilities in IDE: Domino Designer now
enables multiple work sessions to be open within tiled windows,provides a “movable” properties box for rapid manipulation of objectproperties, and offers a new Design Synopsis that provides access to allinformation about your application including application source codeand administrative information
To start with, we will now look at how these new Design elements can beused in Domino The following figures show a database that has beendeveloped to be used from the Notes client as well as from the Web Thefollowing design elements have been used:
Frameset
Page
Outline
Domino User Interface Applet for views
Chapter 2: Lotus Domino Designer: An Overview 17