Mastering LotusScript – Step by Step

Published at copecart.com
PDF in color, A4, 145 pages
€ 25.00
Buy at copecart.com (comming soon)
Description
For over three decades, HCL Domino has been one of the most powerful platforms for enterprise applications. With its unique combination of a document-oriented database, integrated messaging, robust security architecture, and cross-platform replication, Domino forms the backbone of numerous business-critical applications worldwide. And at the heart of application development lies a language that is as proven as it is versatile: LotusScript.
LotusScript combines the accessibility of a BASIC-based syntax with the power of a full-fledged object-oriented programming model. Through the Domino Object Model (DOM), developers gain direct access to databases, documents, views, security structures, and much more. Whether for simple automations or complex business logic—LotusScript is the tool of choice for anyone who wants to harness the full potential of HCL Domino.
Who is this book for?
This training manual is intended for beginners taking their first steps in Domino development, as well as for experienced users who wish to deepen and systematize their knowledge. Those transitioning from other programming languages will also find a structured introduction here that guides them step by step through the concepts and unique features of LotusScript. The book is suitable for use in both guided in-person training sessions and for self-study at one’s own workplace.
What can you expect?
The book is divided into four parts that build on one another and guide you from the basics to advanced topics:
In Part I, you will get to know the Domino platform and the development environment. You will become familiar with the syntax of LotusScript, understand data types and control structures, and learn the structure of procedures and functions.
Part II introduces you to object-oriented programming and presents the Domino Object Model—the bridge between your code and the Domino world. You’ll explore the core classes NotesSession, NotesDatabase, NotesDocument, and NotesView in detail.
In Part III, the focus shifts to practical application: You will develop forms with UI logic, automate workflows with agents, implement professional error handling, and send emails via code. You will also learn how to read and write files and process external data.
Part IV is dedicated to advanced topics such as the Domino security model, performance optimization, and best coding practices. The course concludes with practical exercises that allow you to apply and reinforce what you have learned.
My Approach
Each chapter contains numerous code examples that are explained in detail. I have made a conscious effort to ensure that the examples are realistic and practical—not abstract textbook constructs, but code as it actually appears in a developer’s daily work. The examples are supplemented by tips, warnings, and summaries that get straight to the point.
The writing style is technically precise yet accessible. I want you to understand not only what the code does, but also why it is written that way. Because good code isn’t created by memorization, but by understanding.
18 chapters. Numerous code examples. Knowledge you can put into practice straight away.
Table of Contents
Part I – Fundamentals
Chapter 1 – Introduction to HCL Domino and LotusScript
- 1.1 What is HCL Domino?
- 1.2 What is LotusScript?
- 1.3 History: From Lotus Notes to HCL Domino
- 1.4 First Example: "Hello Domino!"
- 1.5 Summary
Chapter 2 – The Development Environment (Domino Designer)
- 2.1 Domino Designer Overview
- 2.2 The LotusScript Editor
- 2.3 Creating an Agent – Step by Step
- 2.4 Script Libraries
- 2.5 The Debugger
- 2.6 Summary
Chapter 3 – Language Fundamentals of LotusScript
- 3.1 Program Structure
- 3.2 Identifiers and Naming Conventions
- 3.3 Statements and Keywords
- 3.4 Operators
- 3.5 Input and Output
- 3.6 Summary
Chapter 4 – Data Types and Variables
- 4.1 Basic Data Types
- 4.2 Declaring Variables
- 4.3 Constants
- 4.4 Arrays
- 4.5 User-Defined Types (Type)
- 4.6 The Variant Data Type
- 4.7 Summary
Chapter 5 – Control Structures
- 5.1 Conditional Statements
- 5.2 Loops
- 5.3 Loop Control
- 5.4 Practical Example: Document Filter
- 5.5 Summary
Chapter 6 – Procedures and Functions
- 6.1 Sub Procedures
- 6.2 Functions
- 6.3 Parameter Passing
- 6.4 Recursion
- 6.5 Practical Example: Useful Helper Functions
- 6.6 Summary
Part II – Object Orientation and Domino Object Model
Chapter 7 – Object-Oriented Programming in LotusScript
- 7.1 Basic Concepts of OOP
- 7.2 Defining Classes
- 7.3 Inheritance
- 7.4 Practical Example: A Logger
- 7.5 Summary
Chapter 8 – The Domino Object Model (DOM) Overview
- 8.1 The Class Hierarchy
- 8.2 Backend vs. Frontend Classes
- 8.3 The Most Important Classes at a Glance
- 8.4 Important Helper Classes
- 8.5 The Navigation Principle
- 8.6 Summary
Chapter 9 – NotesSession and NotesDatabase
- 9.1 NotesSession in Detail
- 9.2 NotesDatabase in Detail
- 9.3 Finding Documents
- 9.4 Practical Example: Database Report
- 9.5 Summary
- Chapter 10 – NotesDocument and NotesItem
- 10.1 Creating and Saving Documents
- 10.2 NotesItem in Detail
- 10.3 Modifying and Deleting Documents
- 10.4 Copying and Moving Documents
- 10.5 Practical Example: Contact Import from CSV
- 10.6 Summary
Chapter 11 – Views, Collections, and Navigation
- 11.1 NotesView
- 11.1.2 Searching Documents by Key
- 11.2 NotesViewNavigator
- 11.3 NotesDocumentCollection
- 11.4 Practical Example: Data Cleanup
- 11.5 Summary
Part III – Practical Programming
Chapter 12 – Forms and UI Programming
- 12.1 Frontend vs. Backend Objects
- 12.2 Important Form Events
- 12.3 NotesUIDocument Methods
- 12.4 NotesUIWorkspace
- 12.5 Practical Example: Form with Validation
- 12.6 Summary
Chapter 13 – Agents and Automation
- 13.1 Agent Types
- 13.2 Accessing the Agent Context
- 13.3 Scheduled Agents
- 13.4 Web Agents
- 13.5 Summary
Chapter 14 – Error Handling and Debugging
- 14.1 Error Handling with On Error
- 14.2 Professional Error Handling
- 14.3 Raising Custom Errors
- 14.4 Debugging Techniques
- 14.5 Summary
Chapter 15 – Email and Messaging
- 15.1 Sending Emails
- 15.2 Emails to Multiple Recipients
- 15.3 Generating Emails from Documents
- 15.4 Summary
Chapter 16 – File I/O and External Data
- 16.1 Fundamentals of File I/O
- 16.2 Sequential Writing and Reading
- 16.3 CSV Export from a Notes View
- 16.4 CSV Import into Notes Documents
- 16.5 Working with the Filesystem
- 16.6 External Data via NotesStream
- 16.7 Summary
Part IV – Advanced Topics
Chapter 17 – Security and Permissions
- 17.1 The Security Model of HCL Domino
- 17.2 The Access Control List (ACL)
- 17.3 Roles
- 17.4 Reader and Author Fields
- 17.5 Agent Security
- 17.6 Field Encryption
- 17.7 Practical Example: Securing Document Access
- 17.8 Summary
Chapter 18 – Performance, Best Practices, and Exercises
- 18.1 Performance Optimization in LotusScript
- 18.2 Memory and Resources
- 18.3 Coding Standards and Naming Conventions
- 18.4 Common Pitfalls and How to Avoid Them
- 18.5 Structuring Larger Projects
- 18.6 Checklist for Production-Ready Code
- 18.7 Exercises
- 18.8 Summary and Outlook
Description
For over three decades, HCL Domino has been one of the most powerful platforms for enterprise applications. With its unique combination of a document-oriented database, integrated messaging, robust security architecture, and cross-platform replication, Domino forms the backbone of numerous business-critical applications worldwide. And at the heart of application development lies a language that is as proven as it is versatile: LotusScript.
LotusScript combines the accessibility of a BASIC-based syntax with the power of a full-fledged object-oriented programming model. Through the Domino Object Model (DOM), developers gain direct access to databases, documents, views, security structures, and much more. Whether for simple automations or complex business logic—LotusScript is the tool of choice for anyone who wants to harness the full potential of HCL Domino.
Who is this book for?
This training manual is intended for beginners taking their first steps in Domino development, as well as for experienced users who wish to deepen and systematize their knowledge. Those transitioning from other programming languages will also find a structured introduction here that guides them step by step through the concepts and unique features of LotusScript. The book is suitable for use in both guided in-person training sessions and for self-study at one’s own workplace.
What can you expect?
The book is divided into four parts that build on one another and guide you from the basics to advanced topics:
In Part I, you will get to know the Domino platform and the development environment. You will become familiar with the syntax of LotusScript, understand data types and control structures, and learn the structure of procedures and functions.
Part II introduces you to object-oriented programming and presents the Domino Object Model—the bridge between your code and the Domino world. You’ll explore the core classes NotesSession, NotesDatabase, NotesDocument, and NotesView in detail.
In Part III, the focus shifts to practical application: You will develop forms with UI logic, automate workflows with agents, implement professional error handling, and send emails via code. You will also learn how to read and write files and process external data.
Part IV is dedicated to advanced topics such as the Domino security model, performance optimization, and best coding practices. The course concludes with practical exercises that allow you to apply and reinforce what you have learned.
My Approach
Each chapter contains numerous code examples that are explained in detail. I have made a conscious effort to ensure that the examples are realistic and practical—not abstract textbook constructs, but code as it actually appears in a developer’s daily work. The examples are supplemented by tips, warnings, and summaries that get straight to the point.
The writing style is technically precise yet accessible. I want you to understand not only what the code does, but also why it is written that way. Because good code isn’t created by memorization, but by understanding.
18 chapters. Numerous code examples. Knowledge you can put into practice straight away.
Table of Contents
Part I – Fundamentals
Chapter 1 – Introduction to HCL Domino and LotusScript
- 1.1 What is HCL Domino?
- 1.2 What is LotusScript?
- 1.3 History: From Lotus Notes to HCL Domino
- 1.4 First Example: "Hello Domino!"
- 1.5 Summary
Chapter 2 – The Development Environment (Domino Designer)
- 2.1 Domino Designer Overview
- 2.2 The LotusScript Editor
- 2.3 Creating an Agent – Step by Step
- 2.4 Script Libraries
- 2.5 The Debugger
- 2.6 Summary
Chapter 3 – Language Fundamentals of LotusScript
- 3.1 Program Structure
- 3.2 Identifiers and Naming Conventions
- 3.3 Statements and Keywords
- 3.4 Operators
- 3.5 Input and Output
- 3.6 Summary
Chapter 4 – Data Types and Variables
- 4.1 Basic Data Types
- 4.2 Declaring Variables
- 4.3 Constants
- 4.4 Arrays
- 4.5 User-Defined Types (Type)
- 4.6 The Variant Data Type
- 4.7 Summary
Chapter 5 – Control Structures
- 5.1 Conditional Statements
- 5.2 Loops
- 5.3 Loop Control
- 5.4 Practical Example: Document Filter
- 5.5 Summary
Chapter 6 – Procedures and Functions
- 6.1 Sub Procedures
- 6.2 Functions
- 6.3 Parameter Passing
- 6.4 Recursion
- 6.5 Practical Example: Useful Helper Functions
- 6.6 Summary
Part II – Object Orientation and Domino Object Model
Chapter 7 – Object-Oriented Programming in LotusScript
- 7.1 Basic Concepts of OOP
- 7.2 Defining Classes
- 7.3 Inheritance
- 7.4 Practical Example: A Logger
- 7.5 Summary
Chapter 8 – The Domino Object Model (DOM) Overview
- 8.1 The Class Hierarchy
- 8.2 Backend vs. Frontend Classes
- 8.3 The Most Important Classes at a Glance
- 8.4 Important Helper Classes
- 8.5 The Navigation Principle
- 8.6 Summary
Chapter 9 – NotesSession and NotesDatabase
- 9.1 NotesSession in Detail
- 9.2 NotesDatabase in Detail
- 9.3 Finding Documents
- 9.4 Practical Example: Database Report
- 9.5 Summary
- Chapter 10 – NotesDocument and NotesItem
- 10.1 Creating and Saving Documents
- 10.2 NotesItem in Detail
- 10.3 Modifying and Deleting Documents
- 10.4 Copying and Moving Documents
- 10.5 Practical Example: Contact Import from CSV
- 10.6 Summary
Chapter 11 – Views, Collections, and Navigation
- 11.1 NotesView
- 11.1.2 Searching Documents by Key
- 11.2 NotesViewNavigator
- 11.3 NotesDocumentCollection
- 11.4 Practical Example: Data Cleanup
- 11.5 Summary
Part III – Practical Programming
Chapter 12 – Forms and UI Programming
- 12.1 Frontend vs. Backend Objects
- 12.2 Important Form Events
- 12.3 NotesUIDocument Methods
- 12.4 NotesUIWorkspace
- 12.5 Practical Example: Form with Validation
- 12.6 Summary
Chapter 13 – Agents and Automation
- 13.1 Agent Types
- 13.2 Accessing the Agent Context
- 13.3 Scheduled Agents
- 13.4 Web Agents
- 13.5 Summary
Chapter 14 – Error Handling and Debugging
- 14.1 Error Handling with On Error
- 14.2 Professional Error Handling
- 14.3 Raising Custom Errors
- 14.4 Debugging Techniques
- 14.5 Summary
Chapter 15 – Email and Messaging
- 15.1 Sending Emails
- 15.2 Emails to Multiple Recipients
- 15.3 Generating Emails from Documents
- 15.4 Summary
Chapter 16 – File I/O and External Data
- 16.1 Fundamentals of File I/O
- 16.2 Sequential Writing and Reading
- 16.3 CSV Export from a Notes View
- 16.4 CSV Import into Notes Documents
- 16.5 Working with the Filesystem
- 16.6 External Data via NotesStream
- 16.7 Summary
Part IV – Advanced Topics
Chapter 17 – Security and Permissions
- 17.1 The Security Model of HCL Domino
- 17.2 The Access Control List (ACL)
- 17.3 Roles
- 17.4 Reader and Author Fields
- 17.5 Agent Security
- 17.6 Field Encryption
- 17.7 Practical Example: Securing Document Access
- 17.8 Summary
Chapter 18 – Performance, Best Practices, and Exercises
- 18.1 Performance Optimization in LotusScript
- 18.2 Memory and Resources
- 18.3 Coding Standards and Naming Conventions
- 18.4 Common Pitfalls and How to Avoid Them
- 18.5 Structuring Larger Projects
- 18.6 Checklist for Production-Ready Code
- 18.7 Exercises
- 18.8 Summary and Outlook