Preface
This book introduces and explains the programming features of Lotus Notes and Domino 6. Because Notes and Domino make use of so many different technologies, several of which are the subjects of numerous other books, and because IBM provides extensive online reference documentation with the Domino Designer software, we have not organized this book in the format typical of so many restate-the-reference-manual books, and we do not attempt to fully describe every detail of every programming feature available to Notes and Domino developers.
Instead, we focus on tips and techniques that make good Domino developers into excellent Domino developers. Novices and experts alike should find the extensive application examples useful for integration with their own applications. The text in the book centers around leveraging the authors' experience to employ the absolutely critical features of Domino 6 to their best advantage. The Domino 6 Help feature is a great place to start learning about many of these tools and technologies. We acknowledge this fact by referring to the Help extensively throughout the book, but without repeating Help text, as many other books do. We add value by providing original examples that help Domino developers get the best out of their applications with the least amount of time and effort.
The material in the book is useful for all developer skill levels, from beginner to advanced. The content does not assume any previous exposure to Notes and Domino, but the presentation of the examples and techniques is not "dumbed down" either. We have an extensive history with this technology — more than 22 years of combined experience as of this writing — which has given us a deep and comprehensive understanding of the fundamental concepts of Notes and Domino, and we also have extensive experience writing about and teaching these topics. This experience enables us to make the material understandable for beginners at the same time that we shed new light on it for experienced professionals.
The book makes extensive use of examples, which are, as much as possible, constructed incrementally — that is, the examples build on one another within a chapter and across chapters. By following these examples, readers actually see several applications developed from scratch, with illustrative features added in contexts that are themselves instructive. Some of the examples are done in the context of "toolbox" applications, and many of the tools are of interest to Domino Administrators as well as to developers.
The Purpose of This Book
Why do we call this book a bible? A bible is not an encyclopedia. A bible is not a step-by-step guide. A bible is a book that teaches rules to live by — and, in our case, rules to work by. A bible teaches by weaving together clear explanations of basic principles, rules, and techniques, as well as illustrative examples of their application to real problems. This is what we have set out to do in this book.
We concentrate on covering the advanced principles of Notes and Domino development, each of the various programming and markup languages that are supported, and, especially, the new programming features of Notes and Domino 6. Although we do not ignore the features of the seven earlier releases of Notes and Domino, the newer features get a bit more emphasis. This is, after all, the bible for Notes/Domino 6. We believe that those readers of our bible who are beginners at Notes and Domino development can benefit more from our approach than they can from reading one of the more typical reference-style books, because our bible teaches principles that help beginning and advanced developers learn more about Notes and Domino more efficiently — and more effectively.
Note
You may be asking yourself, "Did they just say that seven major releases of Notes and Domino came before Notes and Domino 6? How could that be?" The answer is that we are counting Notes and Domino 4.5 and 4.6 as major releases.
We should also add that, although Notes and Domino enable developers to use many features of HTML, JavaScript, Java, and XML in their applications, we do not attempt to explain and illustrate the principles and techniques of all these languages in full detail. That, of course, is the subject matter of the bibles devoted to each of those languages. Rest assured, however, that each of these languages is covered in more than adequate detail in the context of Domino applications.