Lotus Domino Designer 8: Basic Notes Applications

Course Code: DDBNA8
Product: Lotus Notes/Domino R8.0.1
Duration: 4 days
Topics/Pages: 36 topics / 608 pages
Price (US dollars):
$85 per user


In this course you will use Domino Designer 8 to create an application used by Notes clients to create and read documents. You will develop your application using most of the design elements available in Domino Designer.

At the beginning of the course you will create a new database, and as the course progresses, numerous exercises will give you the opportunity to add features to the application.

When you finish developing the application, you will learn the proper steps to put it into production, as well as how to maintain the data and design of the database.

Course goals

This course will teach you how to:

  • decide which applications are appropriate for Notes and how Notes applications can be structured to accomplish their objectives
  • use Domino Designer 8 to build a basic application that runs on a Domino server and is used by Notes clients
  • design applications using Pages, Forms, Fields, Views, Framesets, Outlines, Actions, and Agents
  • work with the formula language, LotusScript, and JavaScript languages
  • establish relationships between documents through data inheritance and a Response Document hierarchy
  • secure the application by assigning user rights and roles in the Database, Form, and View Access Control Lists
  • embellish the appearance of Forms and Pages using style sheets and add general and context-sensitive help
  • create standard and calendar Views that display document data
  • make it easy for users to navigate and control the application
  • use shared design elements, including Shared Resources, Files, and Code
  • use Templates to create new databases using your design and Master Templates to centralize your code changes
  • rollout a new application into a production environment
  • maintain the database data and design
  • describe the different ways to exchange data with other database systems.


This course is designed for individuals new to Domino Designer but who have:

  • significant experience using the Notes 8 client
  • experience with another programming language, or with any worksheet or word processor macro language.

This course relies on the WYSIWYG tools in Domino Designer and only introduces the programming languages used in Domino Designer, so a programming background is not required.

This course is part of a series of Domino Designer 8 training courses. Follow these paths to master all aspects of developing applications using Domino Designer.

Domino Designer 8: Basic Notes Applications provides the base knowledge for this additional training:
Client Track

      • Configure Domino to use DB2 as a database engine and build applications that access relational data, DB2 for Domino 8 Administrators and Developers.
      • Specialize in programming Notes applications to respond to built-in user interface features, Domino Designer 8: Special Notes Features.
      • Convert an application written for Notes clients to be used in browsers, Domino Designer 8: Basic Browser Applications.
      • Provide data to cutting-edge Web applications, Domino Designer 8: Web Agents and Web Services.

Language Track. These languages apply to both Notes and browser clients:

    • Learn sophisticated application techniques that fully exploit the formula language in Domino Designer 8: Formula Language.
    • Develop sophisticated applications and Agents with LotusScript in Domino Designer 8: LotusScript.
    • Add powerful client-side scripting to browser applications in Domino Designer 8: JavaScript.


This course is sold as a 4-day course, but it is unlikely that you can finish all the topics in four days. To finish in four days, it is recommended that you defer the last few topics for self-study. Many training centers allocate five days to cover this material.

Course design

This is a lecture/lab course that follows a task-oriented approach. During the many course exercises you will create a working application from the ground up. As you learn about various aspects of Domino Designer, you will immediately apply the concepts and techniques as you work on your application.


1 Getting Started with Domino Designer Notes Databases 

Notes database structure
Composite Applications
Designer experience
Programming languages
Start Domino Designer
Store database on Local drive or on Domino
Create new database
Exercise: Create new database

Domino Designer Quick Tour 

Domino Designer quick tour
Designer Bookmarks
Add tools to Domino Designer
Adjunct programming tools
Database Access Control List
Exercise: Database ACL
Database properties
Exercise: Set Database properties
Design element locking
How/where applications are executed
Backward compatibility with previous versions

2 Forms to Create Documents Form Basics 

What is a Form?
The Form is not the document
Form designer concerns
Design Form
Form design panes
Form name
Showing the Form on menus
Cascaded Form names
Accelerator key assignment
Default database form
Form background
Save the design element
Form Design List
Test the Form
Exercise: Create and test new Form

Fields on the Form 

Purpose of Fields
Field versus Item
Add Field
Edit existing Field
Copy and paste Fields
Text properties
Field properties
Common Field names
Internal Field names
Reserved Field names
Example of reserved Field name: SaveOptions
Example reserved Field: Form
Data types and Field types
Control tab
Advanced tab
Exercise: Add Fields to Product Form
Rich Text Fields
Rich Text Lite Fields

Default and Computed Field Formulas 

Field type and its events
Example Default Value formulas
Formula language function syntax
Programmers Pane properties
Search and replace
What Field formulas can contain
Programming rules
Exercise: Add Default Value formulas
Computed formulas
Exercise: Add Computed formulas
Debugging Field formulas
Form evaluation sequence
What you see is not always what you get

3 Views of Documents Create New View 

View characteristics
Create new View
Save and Customize
Exercise: Create a View

View Column Formulas 

Add View columns
Column properties Info tab
Understand the data
Column restrictions
Column Value
Example formulas
Exercise: Column Values
Special View-only functions
Document statistics

View Column Properties 

Column properties
Format tabs
Exercise: Advanced Format for columns
Display values as icons
Exercise: Display values as icons
Sorted columns
Exercise: Sorted column
Categorized column
Exercise: Categorize column
Column totals
Exercise: Column totals
Use value as color
Exercise: Use value as color
Advanced tab: Hide column
Exercise: Hide column
Advanced tab: Programmatic Name

View Selection

View Selection options
Simple Search
Conditions options
Select by Formula
Time-based selections
Select by document property
Selection by exclusion
Fuzzy selections
Exercise: Out of Stock View
Private Views and select by user name
Normalizing user names
Exercise: Sales Rep Private View
Change the design of a Private View

View Properties 

View name and alias
View style
Options tab
Style tab
Advanced tab
Exercise: View properties
View size
View index refresh

Purpose of Folders
Shared versus private Folders
Special design considerations
Delete document error
Exercise: Create shared Folder 

4 Application Layout and Navigation Application Structure 

Developer decisions
Application purpose
Applications NOT right for Domino
Applications right for Notes
Application structure options
Default structure
Increasing detail
Linear progression
Random access


Inherent Notes client capabilities
Types of Actions
Action Pane
Working in the Action Pane
Create Action
Action with Sub Action
System Actions
Simple Actions
Coding the Action
Action Bar properties
Hidden Actions
Hide When
Exercise: Form navigation using Actions
Using @Commands
Syntax guidelines
@Command evaluation sequence
View Actions
Exercise: View Action
Example Hide When formulas
Hide When and the Evaluate actions View property
Exercise: Context-sensitive View Action


What is a Page?
Create Page
Page name
Exercise: Create container Page
Hotspot button
Exercise: Welcome Page with a button
Computed Text
Exercise: Page with Computed Text

Outline Control
History of the Notes window
Outline Control features
Create an Outline
Step 1: Create Outline and Outline Entries
Exercise: Create Outline and Outline Entries
Step 2: Embed the Outline
Embedded Outline properties Info tab
Example Outlines
Exercise: Embed the Outline on a Page
Special Entries
Image Resources
Image Resource properties
Rollover images and image wells
Exercise: Add Image Resources
Exercise: Add Image Resources to Outline Entries


Frames and Framesets
Create Frameset
What usually goes into Frames
Assign Frame content
Special Frame names and document preview
Self-framing design elements
Targeting content to Frames
Special target names
Notes-only Frame features
Exercise: Create Frameset

Database Launch Options

Default database launch property
Control database launch options
Database Postopen event for Notes clients
Exercise: Database launch
Exercise: Fix a small glitch

5 Accurate Data Entry Editable Field Translation and Validation 

Input Translation event
Input Validation event
Triggering validation from the Save Action
Exercise: Add Editable Field formulas
Field onBlur event
Field onBlur using Javascript
Language choice for Field operations
Form flow
Automatically refresh fields

List Fields 

Where the choices come from
Enter choices
Keyword synonyms
Exercise: Keyword synonyms
Use formula for choices
Use Address dialog or Access Control List for choices
Use View dialog for choices
Exercise: Use View dialog for choices
Checkbox and radio button options
Refresh on change
Allow multiple values in Fields
Multiple value items and Views
Edit versus Read mode display

6 Response Forms and Views Formulas Inherit Values 

Why inherit data?
Configuring inheritance
Using inheritance
Inheriting data across databases
Document Universal Note ID (UNID) and NoteID
Exercise: Inherit data
Inherit entire selected document into Rich Text Field

Response Documents
Three types of documents
From response to document and back again
Design response Form
@Commands to create response documents
Response with reference
View Response documents
Design a hierarchical View
Select response documents in a View
Common columns
Responses only column
Responses only column formula
Indicating response documents in a View
View column totals
Exercise: Response documents

7 More Views of Documents Embedded Views
Embedded View
How to embed a View
Single category View
Exercise: Single category View
View Filter
Embedded Editor

Calendar Views
Calendar features
Create a Calendar View
Style tab
Font tab
Calendar format
Two types of entries
Defining just the required columns
Defining all the columns
Exercise: Create Calendar View
Exercise: Show out of stock products
Optional Exercise: Calendar View Events
Embedded Date Picker

Grid-Style Views 

View properties
View-level edit caveats
Enabling cell edits
Column programmatic name
Inviewedit event code
Cycling through allowable values
Exercise: Alter All Products View to be Grid-style

8 Security At All Levels Authenticated User Names 

Security model
Register Notes users
Authentication process
Anonymous users
Hierarchical names
Authenticated name
Alternate name
Domino Administrator responsibilities
Developer responsibilities

Database Access Control List 

Access Control List
ACL Entries
Add users to the ACL
Acceptable ACL Entries
Standard settings
User Type
Conflicting/overlapping access
Explicit versus Effective Access
Maximum Internet name & password access
Access privileges
Create and assign a role
Exercise: Define ACL and roles
Set Administration Server
Enforce Consistent ACL
Enforce Consistent ACL and new replicas, new copies

Form, View, and Document Security
Form security
Anonymous Form
View security
Name storage
@UserName and data type
Authors Fields
Exercise: Design element access and Authors Field
Authors Fields you should always include
Readers Fields
Implied readership
Readers/Authors Fields interaction
Author access and replication
Determining user access
Determining user role membership
Signed documents

Controlled Access Sections
Controlled Access Sections refine authorship
Define Controlled Access Section
Controlled Access Sections and true document security
Controlled Access Sections and signed Fields

Field Security
Editor access to update
Example: Editor access to update
Input Enabled event for Fields
Exercise: Input Enabled event
Field encryption
Task 1: Create a Secret Key
Task 2: Distribute the key
Task 3: Enable the Field(s) for encryption
Task 4: Associate the key
Exercise: Encrypt pricing details
Encryption caveats
Changing/ removing document encryption

9 Embellishing the User Interface Form Design and Layout 

Non-scrolling header
Create table
Nested tables
Exercise: Tabbed and nested tables
Cascading Style Sheets
CSS attributes of objects
Add a style sheet
Exercise: Add a style sheet

Helping the User 

On Open Form properties
Window Titles
Exercise: Add Window Title
Default printout header and footer
Database Icon
Exercise: Database/Bookmark Icon
About/Using this Application
onHelp and HelpRequest events
Field-level help
Enable instant spell check
Text popup
Formula popup
Link Hotspot
Action Hotspot
Remove a Hotspot
Image maps

10 Application Rollout and Maintenance Database Rollout

Rollout checklist
Basic tab in Database properties
Info tab in Database properties
Design tab in Database properties
Advanced tab in Database properties
Notes client ECLs and signatures
Re-sign the design
Manually change the ECL
Enforcing standard ECLs
Mail-In Database document
Testing cycles
Mitigate performance problems
Create archive of design
Design Synopsis
Verify ACL
Server and Domain-wide ACL management
Exercise: Database Catalog
Verify Server document
Copy database to Domino Server
Create replicas
Encrypt databases
Full Text/Domain Search Indexes
Database Library
Create Database Library
Exercise: Publish application
Notify Users
Monitor database use 

Update Agents 

Agent categories
Four components of every Agent
Create new Agent
Agent list
Agents and security
How formulas operate in update Agents
Trigger: Running the Agent from the menu
Search: SELECT statements
Search: Full text search
Search: Cannot select response documents
Action: FIELD statement
Examples: Field and document-related Actions
Exercise: Review ConvertInStock Agent

Shared Code
Subform examples
Create Subform
Exercise: Create and insert Subform
Computed Subforms
Example: Computed Subform
Insert a Computed Subform
Shared Subform caveat
Shared Fields
Add Shared Field to Form
Work with Shared Fields
Shared View Columns
Insert Shared Column
Find Views where a Shared Column has been used
Shared Actions
Shared Code and performance
Sharing design elements from other databases
Shared design element caveats


Templates versus Master Templates
Create a new database using a Template
Create a Template
Second use for a Template
Default ACL settings in a Template
Exercise: Templates
Design maintenance
Create a Master Template
Inherit the design of a Master Template
Entire database design refresh
Specific design element refresh
Blocking design element refresh/replace
Copy and paste design elements
Exercise: Master Templates
Database properties that are replaced/refreshed
Master Template strategies
Example: One-to-many
Hide design
Single Copy Template
SCT facts
Configure Single Copy Template
Where to do your design work
Template auditing

Data Exchange 

Built-in access from the inside out
Programmatic access to Notes data
Drivers and services for Notes/Domino to access external data
Drivers used by external applications to access Notes data
Web access to Notes data
Off-the-shelf applications that access Notes data