Preface

As a developer with a background in more traditional programming languages, I was amazed to find that Lotus Notes had only a macro language in version 3 at the time I was introduced to it. It is a truly powerful product, and its strength is amplified by LotusScript which has opened up many more opportunities to build rich, robust, successful applications.

LotusScript enables developers from other environments to feel more comfortable. Its Basic syntax is so easy to use and learn that Visual Basic (VB) developers can jump right in. I say developer as opposed to programmer, because you have to be a true developer to build Notes/Domino applications. You have to know the ins and outs of the environment as well as the user requirements.

When I first began to delve deeper and deeper into Notes development I noticed there was an enormous lack of in-depth information. Yes, there are a number of books that give good introductions, but where do you go from there?

My learning process involved interactions with experienced Notes developers, VB programmers, Internet Usenet discussion groups, and various websites, hammering home the axiom: the more you learn, the less you know.

The purpose of this book is to give an overview of the core LotusScript language that is used throughout the Lotus family of products, and cover in detail power programming with LotusScript in the Notes environment.

how this book is organized

The book begins with an overview of the core LotusScript language and ends with Notes 5.0 enhancements. Appendices provide additional information.

Chapter 1 provides an overview of the Notes development environment.

Chapter 2 provides an introduction to the core LotusScript language. Looping, variables, scope, user interaction, comments, and strings are covered in detail.

Chapter 3 gives details on defining functions and subroutines.

Chapter 4 provides an in-depth look at object-oriented principles: objects, methods, and properties. Also, an introduction to the basic Notes classes is included.

Chapter 5 covers arrays and lists in LotusScript.

Chapter 6 provides the details on working with files. The different types of access, removing files, creating files, and database properties are covered.

Chapter 7 deals with handling errors and logging script activity.

Chapter 8 gives an overview of the various events in the Notes/Domino development environment.

Chapter 9 details working with database Access Control Lists.

Chapter 10 covers the NotesItem and NotesRichTextItem classes.

Chapter 11 shows how to work with embedded objects. This includes links, file attachments, and object linking and embedding (OLE) objects.

Chapter 12 shows how to integrate Lotus Notes and Microsoft Office 97.

Chapter 13 deals with searching Notes/Domino databases and handling the results.

Chapter 14 covers reporting techniques that can be used in the Notes/Domino environment.

Chapter 15 provides details on the LotusScript Data Object (LS:DO) which covers accessing Notes data through Object Database Connectivity (ODBC) and accessing external data through ODBC.

Chapter 16 covers working with Time/Date values.

Chapter 17 covers working with the Windows environment, outside of the Notes/Domino environment.

Chapter 18 deals with the Internet. LotusScript can be used with web-based clients. This chapter shows you how.

Chapter 19 ties up loose ends. It covers form validation, the NotesAgent class, and Script libraries.

Chapter 20 gives a scoop on the enhancements to LotusScript 4.0 and the Notes 5.0 environment.

Chapter 21 provides an introduction to programming Lotus NotesPump in LotusScript.

Appendix A provides the details of the constant files.

Appendix B gives a detailed list of the Notes/Domino classes with their respective properties and methods.

Appendix C provides a list of LotusScript reserved words.