A Tour of the Book This book features a unique delivery approach that will enable you to rapidly andsuccessfully develop and deploy Lotus Notes applications, which can be classifiedinto
Trang 1Developer's Toolbox: Tips for Rapid and Successful Deployment
By Mark Elliott
Publisher: IBM Press Pub Date: October 10, 2006 Print ISBN-10: 0-13-221448-2 Print ISBN-13: 978-0-13-221448-3 Pages: 744
collaboration, calendar, workflow, reference library, and Web site.
This book is for Notes developers at all levels of experience, using recent versions from V5.0 through V7.0, and beyond Like all IBM developerWorks® Series books, it is fully integrated with comprehensive Web resources,
including working examples of each project, enhanced versions that go beyond the book, sample graphics, and tools for addressing real-world business scenarios Coverage includes
Trang 2Developer's Toolbox: Tips for Rapid and Successful Deployment
By Mark Elliott
Publisher: IBM Press Pub Date: October 10, 2006 Print ISBN-10: 0-13-221448-2 Print ISBN-13: 978-0-13-221448-3 Pages: 744
Trang 9The authors and publisher have taken care in the preparation of this book, butmake no expressed or implied warranty of any kind and assume no responsibilityfor errors or omissions No liability is assumed for incidental or consequential
custom covers and content particular to your business, training goals, marketingfocus, and branding interests For more information, please contact:
Trang 11This book is dedicated to my wonderful sons Ryan and Alex.
Trang 13
IBM Press: The developerWorks ® Series
The IBM Press developerWorks Series represents a unique undertaking in whichprint books and the Web are mutually supportive The publications in this seriesare complemented by their association with resources available at the
developerWorks Web site on ibm.com These resources include articles, tutorials,forums, software, and much more
Through the use of icons, readers will be able to immediately identify a reource
on developerWorks which relates to that point of the text A summary of linksappears at the end of each chapter Additionally, you will be able to access an
For a full listing of developerWorks Series publications, please visit:
ibmpressbooks.com/dwseries
Trang 15
Sanders
Trang 17Software Configuration Management Strategies and IBM Rational® ClearCase®, Second Edition
Black, Everett, Draeger, Miller, Iyer, McGuinnes, Patel, Herescu, Gissel,
Betancourt, Casile, Tang, and Beaubien
Enterprise Java ™ Programming with IBM® WebSphere®, Second Edition
Brown, Craig, Hester, Pitt, Stinehour, Weitzel, Amsden, Jakab, and Berg
IBM® WebSphere® and Lotus
Lamb, Laskey, and Indurkhya
IBM® WebSphere® System Administration
Trang 19Inescapable Data
Stakutis and Webster
Trang 21A Vision
Welcome to the Lotus ® Notes ® Developer's Toolbox Let me start by saying I've
been in your shoes I've stood in a local bookstore skimming through publicationsand wondering how this book is any different from the others on the shelf Doesthis book cover the information I need? Will it give me the answers I need? Will itshow me step-by-step what to do? These are legitimate questions that deserve aforthright answer
Having spent the last 20 years developing applications that span the spectrum oftechnologyfrom mainframe software to those hosted and accessed from Web
serversI've purchased numerous "how to" books Most of them taught languagesyntax, explained rules, and provided abbreviated code examples intended to
illustrate a particular programming technique or structure Although these bookshad benefits, in my experience they tended to leave me "holding the bag," so tospeak, when it came time to develop and implement an application So what wasmissing?
Applied knowledge In other words, most books provided the ingredients but leftout the most important part the recipe It's with this thought in mind that I setout to write this book for you The approach is simpleto provide you with both theingredients and the recipes to build the most common types of Lotus® Notes®
applications and to provide an approach whereby you can learn, through example,
to build and customize any Lotus Notes application With this approach, you willfind the explanations you need to successfully build and deploy Lotus Domino®solutions
If you're under pressure to develop, enhance, and deploy Domino applications,then this book is for you
Target Audience
Corporate management often has an overly simplistic view and understanding ofLotus Notes development It's not uncommon for a manager to ask a programmerwho has little to no exposure to Notes to develop an application They assumeanyone with a technology degree or programming experience is instantly a Notesdevelopment expert
Although the "any programmer can do it" mentality bears merit, there are stillmany concepts that must be understood in order to obtain a fundamental
proficiency in Lotus development This book provides the fundamental building
Trang 22This book is intended for any reader who supports a Lotus Notes database
application Readers should have a general understanding of and exposure to
application development However, based on the unique delivery approach, thispublication is beneficial to novice and experienced Lotus Notes developers alike Itprovides everything needed to streamline the design, development,
customization, and support of Lotus Notes applications
A Tour of the Book
This book features a unique delivery approach that will enable you to rapidly andsuccessfully develop and deploy Lotus Notes applications, which can be classifiedinto one of five categories:
The publication also includes a wide variety of ready-to-use customizations thatcan be applied to one of the templates or virtually any database
Chapter 1, "An Introduction to the Lotus Domino Tool Suite," provides a generaloverview of the Lotus tool suite The chapter briefly describes and illustrates thevarious client and server applications required for a Lotus Notes database
Chapter 2, "Getting Started with Designer," describes how to install and launchthe Lotus Domino Designer client The chapter also briefly introduces the concept
of using templates to create a new Notes database
Chapter 3, "Navigating the Domino Designer Workspace," presents concise
information for navigating the Lotus Domino Designer client It examines the
client layout and general development "panes" used to manage the design anddevelopment of a Notes database application
Trang 23Designer client and explains each of the design elements including framesets,pages, forms, fields, layout regions, sections, buttons, views, folders, shared
objects, and libraries This chapter explains each design element and ways to
implement them
Chapter 5, "An Introduction to Formula Language," deals with the rules and
syntax of the Lotus Formula Language The chapter includes a synopsis of themost common functions and commands
Chapter 6, "An Introduction to LotusScript," presents the foundations for
developing LotusScript routines LotusScript is a structured, object-oriented
programming (OOP) language that's similar to Visual Basic® Using LotusScript,you can create robust, cross-platform applications This chapter provides an
introduction to the programming language and reviews the basic concepts of
object-oriented application development
Chapter 7, "Fundamentals of a Notes Application," introduces a general roadmapfor developing a Lotus Notes database It explains each of the primary databasetypes and includes a step-by-step project specifically designed to teach how tointegrate the various design elements into working database applications As part
of the development process, it also includes sample project plans, schedules, andconsiderations for managing the project
Chapter 8, "Calendar Applications," describes the step-by-step procedure for
creating a calendar application The chapter includes two projects that illustrateboth a simple and a complex recurrent calendar event The completed project can
be used to schedule conference rooms, reserve equipment, and track vacationplans among other uses
Chapter 9, "Collaborative Applications," contains the process for building a
collaborative database application Using a collaborative database, team memberscan collaborate and share information The chapter includes a discussion forumproject and a project control notebook These projects illustrate how to distributeinformation through email, response documents, and categorized view columns
Chapter 10, "Reference Library Applications," further explains how to create aLotus Notes database to store historical information and includes two projects.The first project illustrates the concept of a reference library by creating a
database to manage connection documents Connection documents are often used
to correct the error "Unable to connect to server" typically encountered by users.The second project explains how to generate a Microsoft Excel® spreadsheet for aNotes database
Chapter 11, "Workflow Applications," details the process for creating a workflowapplication A workflow can be defined as a series of activities or steps required to
Trang 24electronically route documents for action or approval This type of application
allows business users to electronically monitor and track the movement of
documents Workflow applications are ideal for documents that require multipleapprovals or actions
Chapter 12, "Web Applications," discusses how to create a database that can beaccessed both from the Lotus Notes client and from a supported Internet browser.This chapter includes a project to build a general-purpose Web application that isaccessible from a browser For illustrative purposes, the database tracks corporateassets; however, the content and form can be customized to meet your individualneeds
Chapter 13, "Design Enhancements Using LotusScript," provides common
LotusScript customizations that can be incorporated into most Lotus Notes
database applications Each customization module is self-contained and ready torun This enables you to copy the code into any existing application with little to
no modification
Chapter 14, "Design Enhancements Using Formula Language," continues to
describe customizations that can be applied to virtually any Notes database Thischapter is focused specifically on the Lotus Formula Language Each customizationincludes a description of the code, an explanation of how the code works, and
instructions for implementing it
Chapter 15, "View Enhancements," describes several enhancements that can beadded to a Lotus Notes view Readers will learn how to add icons, double-click on
a calendar date to create a new document, sort and categorize documents, andseveral techniques to retrieve view design properties associated with a databaseapplication
Chapter 16, "Sample Agents," provides several sample agents used to automaterepeatable tasks The chapter explains how to create an agent to email weeklystatus reports or modify all documents that have a field with a particular datavalue
Chapter 17, "Miscellaneous Enhancements and Tips for Domino Databases,"
presents a number of general customizations that can be incorporated into almostany Lotus Notes database application In this chapter, readers will learn how toadd field hints to a form, use a static popup to display text messages (or help),inherit fields between forms, add an icon to an action button, create a customapplication interface, set the field tab order, and disable database replication
Chapter 18, "Data Management," provides tools and techniques that can be used
to manage application data This chapter explains how to import data, export
data, copy documents, create agents to manipulate data, and archive application
Trang 25troubleshooting Formula Language, LotusScript, agents, and general applicationdevelopment problems and errors
Append A, "Online Project Files and Sample Applications," describes the
chapters for additional information Chapters 13 through 21 focus on applicationenhancements and support These chapters provide ready-to-run database
enhancements, information on database security, and troubleshooting
Throughout the book you'll find a wealth of illustrations, tips, and notes Theseitems are intended to help navigate the software, point out potential pitfalls, andhelp with the learning process As terminology is introduced, the first referencewill be highlighted in italic This will signify a new term
Readers should have a general familiarity with the Lotus Notes client and
terminology, such as forms, views, and agents Although not required, readersshould have a general understanding of application development concepts andtechniques
Trang 26type lines of code After you have registered your book, you can instantly
Comments
As the author of this publication, I would welcome all comments, suggestions,
tips, hints, corrections, best practices, likes, dislikes or general feedback on thebook Please send all correspondence or suggestions for improving the publication
to the following email address:
LotusNotesAuthor@yahoo.com
Trang 29It took a great many people to produce and publish this book A special thanks to
my family and all the professionals at Pearson Education and IBM who supportedand helped make this book a reality Without the understanding, contributions,and hard work of these people, this book would not have been possible:
Paul Petralia, Michelle Housley, Jessica D'Amico, Chris Guzikowski, Lori Lyons, BenLawson, Fadi Abu-Shaaban, David Elliott, Joan Elliott, Kathleen Elliott, EdwardElliott, Kevin Elliott, John Collinsworth, Martin Rabinowitz, Kourtnaye Sturgeon,John Wait, Peter Orbeton, Michelle Housley, Lynn Gordon Curtis, Ronnie Maffa,Jake McFarland, Michael Thurston, Christopher Brown, Thomas Duff, Mark
Jourdain, Joe Litton, Karen Origlio, Michael Sobczak, Keith Strickland
Trang 31Master's Certificate from George Washington University in Project Management.Mark has been certified as a Project Management Professional by the Project
Trang 33Chapter 1 An Introduction to the Lotus Domino Tool Suite
Chapter Overview
Welcome to IBM Lotus Notes and Domino, the de facto standard for collaborative applications The Lotus family encompasses many products; this chapter provides an introduction to Lotus tool suite Although the majority of this publication is focused on the Domino Designer client to develop Lotus Notes and Domino applications, it's important to have a general understanding of each product and how they integrate together.
Trang 34There are four products that comprise the Lotus Domino tool suite Each product
is intended for a specific audience The seamless integration of these productsenables applications to be designed, developed, managed, and used They include
Lotus®
Notes® client
Allows end-users to access applications
Domino
Designer®
Allows developers to create applications
Domino®
Administrator
Allows administrators to manage servers
Domino®
server
Manages applications and processes transactions
Additional information on Lotus Notes, Lotus Domino, and the Lotus Workplacefamily can be found in Appendix B
A.1.1
Lotus Notes Client
Lotus Notes is a groupware software product Groupware applications allow people
to share information and work together (or collaborate) on projects Using Notes,you can exchange information with team members located anywhere in the world.Its strengths include the following:
Email and Calendaring Users can send and receive mail, manage personal
calendars, manage group calendars, schedule meetings, and much more As
Trang 35A.1.2
In addition to robust features, the product incorporates rock-solid security that'sunmatched by any other email and groupware products The client can be run onvirtually all Microsoft® Windows® and Apple® Macintosh® operating system
Trang 36as Websphere®, and to integrate with databases, such as DB2
A.1.3
Many features and technologies are associated with the Designer client However,you'll soon find that the applications can be classified into one of five categoriesindependent of the language being used
Trang 37languages to build applications Figure 1.2 illustrates the default startup window,which may vary slightly based on your software version and platform
Figure 1.2 Welcome page for the Domino Designer client
[View full size image]
Tip
Trang 39middle of the screen are the actual server tasks associated with the server
Finally, on the right side of the screen are additional tools used to configure andmanage the server
Trang 40A.1.4
IBM and Lotus offer numerous Domino Server licensing optionsthey can
essentially be divided into three primary software configurations and can beinstalled on virtually any operating system platform
Domino Messaging server
Domino Utility server