Domino 7 Application Development - Timothy Speed - E-Book

Domino 7 Application Development E-Book

Timothy Speed

0,0
47,99 €

-100%
Sammeln Sie Punkte in unserem Gutscheinprogramm und kaufen Sie E-Books und Hörbücher mit bis zu 100% Rabatt.
Mehr erfahren.
Beschreibung

Written by Lotus insiders, the book provides a practical guide to developing applications making use of the important features and enhancements introduced in Notes/Domino 7. These experienced experts use their own experiences to map out the benefits you could gain, and the dangers you may face, as you develop Domino applications in your business.

Written by specific experts, edited and overseen by Lotus content generator Dick McCarrick, this book is the definitive guide to developing Domino 7 applications.

TECHNOLOGY
Domino is an application server that can be used as a standalone web server or as the server component of IBM's Lotus Domino product which provides a powerful collaborative platform for development of customized business applications. It also provides enterprise-grade email, messaging, and scheduling capabilities.

Das E-Book können Sie in Legimi-Apps oder einer beliebigen App lesen, die das folgende Format unterstützen:

EPUB
MOBI

Seitenzahl: 238

Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Table of Contents

Domino 7 Application Development
Warning and Disclaimer
IBM
Credits
Foreword
About the Authors
About the Reviewer
Preface
What This Book Covers
Conventions
Reader Feedback
Customer Support
Downloading the Example Code for the Book
Errata
Questions
1. A Short History of Notes and Domino
Summary
2. New Notes 7 Client and Domino 7 Server Features
Lotus Notes 7
Domino Administrator
Domino Server
LEI
Summary
3. Lotus Notes/Domino 7 and DB2
DB2 as a Domino Data Store
Prerequisites
Software Required for the Domino Server
Transactional Logging
DB2 Installation Accounts
Installation and Configuration
Testing Connectivity to the DB2 Instance
Verifying DB2 Version Information
Additional DB2 Configuration
The DB2 Server Enablement Tool
The DB2 Access Server, DB2 Access Views, and Query Views
Installing the DB2 Access Server
DB2 Access Views
Creating the DB2 Access View Definition
Populating DB2 with Domino Data
Mapping DB2 User Names to Domino
Query Views
Summary
4. New Lotus Domino Designer 7 Features
AutoSave
Configuring the Lotus Notes Client for AutoSave
Configuring Applications for AutoSave
Design Enhancements
Shared Columns
Design View
Input-Enabled Formulas
The Default Form Indicator
Design Elements
Design Elements Sortable by Name
Inline Editing of Design Elements
New SmartIcons
Agent Profiling
Accessing Modified Documents
Right Mouse Button
Java
Sun Java Support
Remote Java Debugging
Summary
5. Upgrading Domino Applications
Lotus Notes 7 Client Features
New Domino Designer Client Features
AutoSave
Things to Consider when Enabling AutoSave in a Form
Referencing Profile Documents in Views
Web Services
DB2 Design Integration
Tips when Using DB2
Template Management
Reviewing Code
Customizing New Templates
Recompiling Script Libraries
A Final Note about Templates
Summary
6. Upgrading Formulas
Before you Begin: Devise a Backup Strategy
New @Commands and @Formulas
@Command([DiscoverFolders])
@AdminECLIsLocked
DB2-Related @Functions
@IsDB2
@DB2Schema
@IsEmbeddedInsideWCT
@PolicyIsFieldLocked
Obsolete @Formulas
Third-Party Tools
Summary
7. Upgrading Agents and LotusScript
Before You Begin
Design a Test Plan
Create Backups
Recompile All LotusScript
Other Considerations
Third-Party Tools
New Features
Profiling
New LotusScript Methods
NotesDatabase.GetModifiedDocuments([ndtSince], [intClass])
NotesDocumentCollection.UntilTime
NotesUIWorkspace.IsEmbeddedInsideWCT
NotesAgent.GetPerformanceDocument
LotusScript Debugger
Agent Design View
Summary
8. Web Services and Domino 7
Creating a Simple Web Service Using Domino Designer 7
Implementing a Simple Web Service
Exploring the Web Service Using a Browser
Adding Exception Handling to the Web Service
Expanding the Web Service to Include Complex Data Types
Other Complex Return Types
Implementing the CompanyInfo Web Service Using Java
Domino Designer WSDL Actions
Export WSDL
Import WSDL
Show WSDL
UDDI Registries
Summary
9. Optimizing Application Performance
Database Properties
Unread Marks
Optimize Document Table Map
Views
Reducing View Size
Categorized Columns
Time/Date
Reader Names
Forms and Agents
Domino Objects are Expensive
Search Methods
Saving Documents
Keyword @Db Formulas
Summary
10. Code Samples
The Save & Close Action Bar Button
Preventing Editing of Fields and Documents Dynamically
Fast DbLookups
Creating Keyword Drop‑Down Fields
Using the PostModeChange Event to Refresh the Keyword List
Creating a View for the Lookup
InViewEditing
Overview: What does a User See and Do with InViewEditing?
Setting Up a View and Columns for InViewEditing
Points to Consider when Using InViewEdit
The Sample InViewEdit Code
Tips
Summary
11. Troubleshooting Applications
Testing your Application
Asking the Right Questions
Logging
Domino Domain Monitoring (DDM)
Agent Profiler
Summary
A. Vendor Tools
Angkor
How Angkor Works
Results
PistolStar Password Power 8 Plug-Ins
Password Power 8 Domino Plug-In
Password Power 8 Web Set Password Plug-In
Security
Auditing Features
Help Desk
End-Users
System Requirements
Web Set Password Plug-In
Domino SSO and Authentication Redirection Plug-In
Single Sign-On Cookies
CMT Inspector
Architecture and Deployment Options
CMT for Public Folders
CMT for Notes
CMT for Coexistence
What does CMT for Lotus/Exchange Coexistence Do?
MS Notes Connector and CMT for Lotus/Exchange Coexistence
CMT for Domains
Notes Desktop Update
Notes Port
Other Features
FT Search Manager
Multi-Threading in the Notes Client
Speed
Concurrent Client Operation
Code Locking
Emulating Browser Behavior
A Workaround to the Notes "Enter" Problem
Allowing Web-Style Query Syntax
About IONET
Index

Domino 7 Application Development

Tim Speed

Dick McCarrick

Stephen Cooke

Raphael Savir

Domino 7 Application Development

Copyright © 2007 Packt Publishing

All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.

Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the authors, Packt Publishing, nor its dealers or distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.

Packt Publishing has endeavored to provide trademark information about all the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.

First published: January 2007

Production Reference: 1220107

Published by Packt Publishing Ltd. 32 Lincoln Road Olton Birmingham, B27 6PA, UK.

ISBN 978-1-904811-06-0

www.packtpub.com

Cover Image bywww.visionwt.com

Warning and Disclaimer

The authors have attempted to ensure the contents of this book are as complete and accurate as possible, but no warranty of fitness is implied regarding any information and/or products referenced in this book. Several of the authors, at the time of publishing, were employees of IBM. The IBM Corporation provides a set of rules regarding publishing that applies to each employee. The IBM employees followed each of these rules as stated by IBM. Based on those rules, be advised that:

This book is not sponsored by IBM/Lotus or ISSL.The IBM employees received IBM's legal permission to publish this book, using an outside IBM Press publisher.All users of this book do so at their own risk.The products referenced or mentioned in this book are listed for informational purposes only. The publisher and authors may have received demo copies to review. Several different vendors are mentioned in this book, and vendor products are used for reference. The publisher and authors do not recommend any product, software, or hardware. You, the owner of your hardware, software, and data, are responsible to make a determination of what is best for you. The authors do advise that you take careful consideration in determining your software, security, and infrastructure needs, and review more than just one vendor.

Domino 7 is a great product with many new features. If you find an error, please let us know.

IBM

The IBM list of copyrights and trademarks can be found at http://www.ibm.com/ legal/copytrade.shtml.

In no event will IBM be liable to any party for any direct, indirect, special, or other consequential damages for any use of this book. All information is provided by the authors on an "as is" basis only. IBM provides no representations and warranties, express or implied, including the implied warranties of fitness for a particular purpose, merchantability and non-infringement for any information in this book.

Credits

Authors

Dick McCarrick

Stephen Cooke

Timothy Speed

Raphael Savir

Reviewer

Barry Heinz

Development Editor

David Barnes

Assistant Development Editor

Nikhil Bangera

Technical Editors

Divya Menon

Saurabh Singh

Editorial Manager

Dipali Chittar

Project Manager

Patricia Weir

Project Coordinator

Suneet Amrute

Indexer

Bhushan Pangaonkar

Proofreaders

Martin Brooks

Chris Smith

Layouts and Illustrations

Manjiri Nadkarni

Shantanu Zagade

Cover Designer

Shantanu Zagade

Foreword

Congratulations on investing your time to learn more about Lotus Notes and Domino! This book comes at a key time for Notes/Domino application developers and their organizations.

Since its introduction, Notes/Domino has been a true collaboration platform for businesses. It has uniquely combined collaboration with business applications all within the context of what users are trying to accomplish. A powerful programming platform combined with intuitive tools, it opened up many business ideas and processes to automation through millions of applications, from small personal tools to mission-critical, line-of-business systems. It has also led to the establishment of one of the most creative and largest developer communities in the industry.

A review of Notes/Domino through the years shows how it has revolutionized the way we work. See also the article, "The History of Notes and Domino", published on the developerWorks: Lotus website (www.ibm.com/developerworks/lotus/library/ls-NDHistory). The 35,000 users who adopted Notes Version 1 got the first look at many of the features that we take for granted today, including mail, discussion databases, group directories, customizable applications, Access Control Lists (ACLs), doclinks, encryption, and replication to name just a few. When released, these were all revolutionary new concepts that allowed users to be more productive.

Release 2 focused on scalability issues, allowing Notes to support roughly 10,000 users and accommodate larger enterprises. This release also included enhancements to the application programming interface (API), mail (including return receipt, address look-up, and multiple address books), and additional formula language functionality.

By the time Release 3 was introduced, nearly 500,000 people used Notes. To make the user experience better for the growing user base, Release 3 focused on improving the user interface, further enhancing scalability, as well as incorporating features such as full-text search, selective replication, and support for the Mac client.

With Release 4, the world was introduced to a highly revamped version of Notes, one designed to embrace Internet technology by integrating Notes with the Web. In addition to a completely redesigned user interface, people were introduced to

Internet integration that allowed Web‑browser accessible Notes databases, new messaging capabilities, and the LotusScript programming language.

Release 5 furthered the concept of Web integration, and also gave users a browser-type interface with a customizable Welcome page. For application developers, Domino Designer provided a conducive environment for creating secure applications.

Release 6 represented a significant step towards integrating Notes with the rest of the IBM software portfolio. Two features that customers especially embraced were the integration of Sametime instant messaging into the Notes client, and the ability to access mail from the Web. Enhancements were also made to Domino Designer to make it easier to create applications and reuse code.

With more than 125 million users worldwide, Release 7 of Notes/Domino was notable for many reasons, including significant improvements in the user interface, scalability, and the total cost of ownership. However, the most powerful and important set of changes occurred in the programming model. Capabilities were added to allow Notes applications to utilize Web Services and a relational data store (DB2).

The underlying reason for these changes is very simple: Notes and Domino applications represent a huge investment for customers. It has become critical for applications to be able to be leveraged, integrated, and reused. Increasingly, this means allowing these applications to participate in loosely coupled standards-based architectures. Service-Oriented Architecture (SOA) has become the prevailing term for this type of implementation.

Many customers I talk to do not yet think of their Notes and Domino applications as potential elements in an SOA strategy. I think that is a mistake. This book is a great resource to help you start thinking about SOA, and how it should relate to your Notes environment.

So what's next?

As this book nears publication, Notes 8 (announced with the code name Hannover) is progressing into its first public beta. Many observers have commented on the exponential progress that has been made in the user experience, or the integration of activity-centric computing. These are certainly critical elements and will be a key differentiator for Notes 8. But something deeper lies beneath the surface for application developers. With Notes 8 being based on a Java-based Eclipse foundation, developers have new options. Not only can you continue to run and develop traditional Notes applications (unchanged!), you can start to build composite applications that are enterprise mashups of Java components, .nsf-based applications, data delivered via portlets, or other components that can be hosted within an Eclipse plug-in (such as .Net). Also, for the first time, Notes and Sametime (with Version 7.5) will share a common foundation allowing sharing of application components.

So, everything you have still runs, and you can adopt multiple programming models at your pace. Why does this matter? Because:

Your existing applications and skills investment are protected and can easily be extended to build a new generation of open applications.Notes will provide a rich client for not only Domino, but Portal or Java-based applications. Essentially, Notes will become the client for SOA.The Notes development community will have the potential for significant growth as Notes becomes a viable deployment platform for the millions of developers working with Eclipse and Java.

Applications in the context of business processes have never been more important. In some ways, we are coming right back to the original value proposition of Notes.

So Notes is new again. Enjoy this book for what it can help you deliver now and start thinking about what the future can hold!

On a personal note, I'd like to extend my congratulations to the authors. Their collective skill is in constant demand by customers around the world. Writing this book is a labor of love and a huge contribution to the Lotus community.

Congratulations!

Alistair Rennie

VP, Software Services

Lotus

About the Authors

Dick McCarrick is a freelance technical writer. He is co-author of the book Upgrading to Lotus Notes and Domino 7, aimed at Lotus Notes/Domino end users and administrators. Previously Dick worked for Lotus/IBM for over 15 years, first as a member of the Notes/Domino Documentation team and later for the developerWorks Lotus (LDD) website. At Lotus/IBM, he played a variety of roles in documenting many major components of Domino and Notes. He also wrote and edited numerous technical articles, including the regular column, "Ask Professor INI."

In his spare time, Dick's leisure activities include running, fishing, woodworking, and reading about the natural sciences. An avid astronomer, he is former director of the Bridgewater (Mass.) State College Observatory.

I would like to thank my wife Lisa for her unflagging support, both for my career and my life in general.

Stephen Cooke began programming as a hobbyist on the Apple. He later became involved with PCs in a professional capacity while working in the Czech Republic. He went on to work for Notes CS, a Lotus Business Partner in Prague. He has twelve years of consulting experience and has been working for IBM since 2000. He currently focuses on helping customers with Lotus and WebSphere-related challenges. His written work has also appeared in IBM developerWorks.

I would like to thank Tim Speed for the invitation to participate in this book, and my family for their patience and encouragement. I would also like to thank the folks at Teamstudio for their quick response to requests for information, and the people whose efforts went into preparing this book for publication.

Timothy Speed is an infrastructure and security architect for IBM Software Services for Lotus (ISSL). Tim has been involved in Internet and messaging security since 1992. Tim also participated with the Domino infrastructure at the Nagano Olympics and assisted with the Lotus Notes systems for the Sydney Olympics. His certifications include MCSE©, CISSP, Lotus Domino CLP Principal Administrator, and Lotus Domino CLP Principal Developer. Tim also is certified in Domino ND6 and D7. Tim has also co‑authored six books: The Internet Security Guidebook (ISBN: 0122374711); The Personal Internet Security Guidebook (ISBN: 0126565619); Enterprise Directory and Security Implementation Guide: Designing and Implementing Directories in Your Organization (ISBN: 0121604527); Internet Security: A Jumpstart for Systems Administrators and IT Managers (ISBN: 1555582982); SSL VPN: Understanding, Evaluating and Planning Secure, Web-based Remote Access (ISBN: 1904811078); and Upgrading to Lotus Notes and Domino 7 (ISBN: 1904811639).

Knowledge is based on many different facets what you know, knowing where information can be found, and who you know. The information in this book is a combination of all these facets. Data sources have been referenced in this book, these include references to people, URLs, and other books. But much of the knowledge that is in this book comes from very smart people. First and foremost I need to thank my wife for helping me with the book and providing some of the editing throughout the various chapters. I thank my daughter Katherine for tolerating me during the months that I worked on this book. I am very grateful to Dick McCarrick for being crazy enough to coauthor this book. Special thanks to David Barnes the Development Editor. Also, thanks to Lotus/IBM (and ISSL), Walter Larry Berthelsen, and Jack Shoemaker for allowing me to coauthor this book. Thanks to Barry Heinz for reading/reviewing this book before publishing. Thanks to the content authors Dick McCarrick and Stephen Cooke.

To Linda Speed "just me" Garry White (a great educator and technologist), Lillian Speed, Joe Christopher, Ted Smith, Gail Pilgrim (sorry I forgot you in the last book), Bob Stegmaier, Charles DeLone, Kevin Mills, Boris Vishnevsky, Brad Schauf, Chris Cotton, David Byrd, Kathrine Rutledge, Charles Carrington, Mark Harper, Jordi Riera, David Via, Heidi Wulkow, Dave Erickson, David Bell, Mark Leaser, John Kistler, Jon P Dodge, Luc Groleau, Zena Washington, Burk Buechler, Robert Thietje, Francois Nasser, Marlene Botter, Roy Hudson, Mike Dudding, Ciaran DellaFera, Tom Agoston, Carl Baumann, Shane Geoge, Tery W. Corkran, David Hinkle, Don Nadel, Doug Parham,

Ed Brill, Gary Ernst, Steve Keohane, Steven Kramer, Gregg Smith, Hartmut Samtleben, Hissan C Waheed, Ian Reid, John Norton, Katherine Emling, Kevin Lynch, Marc Galeazza, Mark Steinborn, Mary Ellen Zurko, Matthew Milza, Matthew Speed, Peter Burkhardt, Ralph Vawter, Sherry Price, Stephen Hardison, Laurie Jones, Christopher Byrne, Steve Matrullo, Marco M Noel, Kelly M Ryan, David Ryan, Alex Dobrovodsky, Alistair Rennie, Andy Higgins, Todd Merkel, Butch Bantug, Carlos Gonzalez, Chad Holznagel, Deyhle, Dave, Steve Sterka, Dolby Linwood, Jason Short, Tracy Goddard, Frederic Dahm, Gary Desmarais, Gary Palmer, Glenn Sicam, Sean F Moore, Jeff Bryant, James Gallece, Shaker Al-Muaber, Dr. John Lamb, Kim Armstrong , Lance Haverly, Lisa Santana, Stewart Nichols, Nancy Long, Bryan Bradsby, Robert Hamnik, Wouter Aukema, Robert Nellis, Trenton Kelley, William Destache, and Chuck Stauber. Finally, sorry if I missed you on this book, I will get you in the next. Sorry, Circe, you don't get an acknowledgment in this book.

Raphael Savir has been a developer and consultant for Lotus Notes/Domino applications for 15 years. He has worked in numerous positions, focusing on performance and development topics. Raphael enjoys speaking on these topics, and has been fortunate in being able to do so frequently over the years.

Now with LS Development Corporation (http://www.lsdevelopment.com), Raphael works directly with clients to make efficient and friendly Notes or web applications running on the Domino platform. Raphael has written several development articles over the years, but this is his first attempt to string together more than a few pages.

I would like to thank my beautiful and encouraging wife, Lizzie, for helping me get through a brutal year of work and writing.

About the Reviewer

Barry Heinz is a Senior IT Architect with the IBM Software Group, specializing in Lotus software for large enterprises. He has been working with Lotus Notes and Domino since 1992.

Preface

If you're reading this book, you're probably already familiar with the Domino server. You know about all the powerful productivity features offered by this product and you know how much your company relies on it to communicate, collaborate, and manage its collective store of corporate knowledge.

This book is intended to help you with developing applications on the latest release of the Domino platform. This book has been written by Notes/Domino 'insiders'. Collectively, we possess decades of Notes/Domino experience; we've been with the product since Notes 1.0, and since then have worked directly with customers to help them with their Notes/Domino upgrade and deployment issues.

What This Book Covers

Chapters 1 and 2 will help you understand the new features in Notes and Domino 7.

Chapter 3 shows how to use DB2 as a data store for Domino databases so as to bring the scalability features of DB2 and the flexibility of SQL into Domino applications. The chapter shows how to install, configure, map, and then access Domino data stored in DB2.

Chapter 4 will show you how to make the best use of new features added in Domino Designer 7 to better manage Lotus Notes and Domino applications. Specifically we will be covering Autosave, Agent Profiling, and remote Java debugging.

Chapter 5 shows how to ensure that critical applications continue to run smoothly after you upgrade your Notes/Domino installation, while taking advantage of the new features and functionality release 7 has to offer.

Chapter 6 will tackle issues you need to consider when upgrading your @Formula language to Notes/Domino. We first detail a backup strategy and then take a tour through the new Notes/Domino @Formulas and the potential upgrade issues they raise.

Chapter 7 runs through the process of upgrading Domino-based agents and LotusScript; we also cover the use of TeamStudio Analyzer, which is a third-party tool to assist with your upgrade. The second half of the chapter runs through the new features available to LotusScript developers in Domino Designer 7.

Chapter 8 examines Domino-based web services and you will see the Java implementation of one such web service. We cover the various tools Domino Designer 7 provides for interacting with WSDL and finish by examining the role UDDI plays in facilitating the adoption of web services.

Chapter 9 covers using best practices to optimize your Domino applications for performance; specifically we will see how to efficiently code database properties, views, and forms/agents to work well in a Domino environment.

In Chapter 10, you will learn to use the new programming features offered in Lotus Notes/Domino 7 by actually implementing them in code.

In Chapter 11, we will examine two important new features, Domino Domain Monitoring (DDM) and Agent Profiles, which are critical for troubleshooting your Notes/Domino applications. Additionally, the chapter runs through several tips and techniques for identifying and correcting problems in your Notes/Domino 7 applications.

In Appendix A, we review several vendor tools that you can use to help upgrade your applications to Lotus Notes/Domino 7. These include Angkor by Atlantic Decisions, PistolStar Password Power 8 Plug-ins by PistolStar, Inc, CMT Inspector from Binary Tree, and FT Search Manager from IONET.

Conventions

In this book, you will find a number of styles of text that distinguish between different kinds of information. Here are some examples of these styles, and an explanation of their meaning.

There are three styles for code. Code words in text are shown as follows: "The requirements of the DiscoverFolders command generally dictate that it be used from within a frameset."

A block of code will be set as follows:

@If(@AdminECLIsLocked; @Return("Administration ECL Is Locked"); @EditECL("Engineering" : "names.nsf"; "Testers"))

When we wish to draw your attention to a particular part of a code block, the relevant lines or items will be made bold:

GET_UNREAD_NOTE_TABLE: 600 ms OPEN_COLLECTION(REP85256055:004781F8-NTFFFF0020,0040,0000) OPEN_DB(CN=HQ/OU=Boston/O=Acme!!Applications\SalesTracking.nsf): (Connect to HQ/Boston/Acme: 5000 ms) GET_UNREAD_NOTE_TABLE: 4000 ms RCV_UNREAD 2000 ms

New terms and important words are introduced in a bold-type font. Words that you see on the screen, in menus or dialog boxes for example, appear in our text like this: "clicking the Next button moves you to the next screen".

Note

Warnings or important notes appear in a box like this.

Tip

Tips and tricks appear like this.

Reader Feedback

Feedback from our readers is always welcome. Let us know what you think about this book, what you liked or may have disliked. Reader feedback is important for us to develop titles that you really get the most out of.

To send us general feedback, simply drop an email to<[email protected]>, making sure to mention the book title in the subject of your message.

If there is a book that you need and would like to see us publish, please send us a note in the SUGGEST A TITLE form on www.packtpub.com or email<[email protected]>.

If there is a topic that you have expertise in and you are interested in either writing or contributing to a book, see our author guide on www.packtpub.com/authors.

Customer Support

Now that you are the proud owner of a Packt book, we have a number of things to help you to get the most from your purchase.

Downloading the Example Code for the Book

Visit http://www.packtpub.com/support, and select this book from the list of titles to download any example code or extra resources for this book. The files available for download will then be displayed.

Note

The downloadable files contain instructions on how to use them.

Errata

Although we have taken every care to ensure the accuracy of our contents, mistakes do happen. If you find a mistake in one of our books — maybe a mistake in text or code — we would be grateful if you would report this to us. By doing this you can save other readers from frustration, and help to improve subsequent versions of this book. If you find any errata, report them by visiting http://www.packtpub.com/support, selecting your book, clicking on the Submit Errata link, and entering the details of your errata. Once your errata have been verified, your submission will be accepted and the errata added to the list of existing errata. The existing errata can be viewed by selecting your title from http://www.packtpub.com/support.

Questions

You can contact us at<[email protected]> if you are having a problem with some aspect of the book, and we will do our best to address it.

Chapter 1. A Short History of Notes and Domino

Note

In this chapter we will look into the history of Notes and Domino. Readers who have the Upgrading to Lotus Notes and Domino 7 book from Packt publishing can skip Chapters 1 and 2 as they are similar to the introductory chapters from that book.

The genesis of Notes and Domino has achieved a near legendary status within the history of software development. Three middle-American college boys in the late 1970s wanted a way to share information. So they utilized a bug-reporting software program called PLATO Group Notes, which ran on their mainframe-based college computer system. This program would be considered archaic compared to modern day business programs, but it was an improvement upon the traditional swapping of handwritten notes hastily scribbled during classroom lectures. And it provided just enough communication and collaboration functionality to offer a hint as to what more could be done, given the right software and technology.

After graduation, these three students, whose names need no introduction to long-time members of the Lotus Notes community (but we'll mention them anyway, in case you're a newcomer: Ray Ozzie, Tim Halvorsen, and Len Kawell), went their separate ways. But none forgot the potential he saw in PLATO Group Notes. Halvorsen and Kawell took jobs at Digital Equipment Corporation, where they eventually created an in-house communication tool that resembled PLATO. Meanwhile, Ozzie took programming positions with other corporations, but never lost sight of his vision to form his own company and develop a more advanced, PC-based collaboration program. Eventually (1984 to be exact), with funding provided by Lotus Development Corporation (makers of the famous Lotus 1-2-3), Ozzie founded Iris Associates Inc. to develop the first release of Lotus Notes. Ozzie was soon joined by former classmates Halvorsen and Kawell, followed shortly by Steve Beckhardt.

When describing the software they created, the focus is usually on the end-user features provided by Lotus Notes, with a secondary nod to the server/administration component. Indeed, Lotus Notes has always been described as a client/server application, indicative of its "dual citizenship," with some of its functions performed locally on the user's PC and other functions done on the server. But from the beginning, the creators of Lotus Notes showed great foresight in recognizing that their product would not be an out‑of‑the‑box application, a radical approach back in the early 1980s. Instead, they realized that Lotus Notes needed to be extremely customizable and flexible, and from its inception built these capabilities into Lotus Notes. (The fact that they did would eventually result in a large array of Notes custom applications, a growing demand for Notes application developers, and ultimately…this book!)

This first version of Lotus Notes was modelled on PLATO Group Notes, but was far more advanced, sporting powerful features such as on-line discussion, email, phone books, and document databases. This functionality presented some serious challenges to the hardware and supporting infrastructure upon which Notes ran at the time. To meet these challenges, Notes was built upon the previously mentioned client/server architecture that featured PCs connected to a local area network (LAN). Groups set up a dedicated server PC that communicated with other servers. These servers exchanged information through replicated data