Lotus Domino Designer 8.5.1: Classic Notes Applications

Course Code: DDCNA851
Product: Lotus Notes/Domino R8.5.1
Duration: 4 days
Topics/Pages: 37 topics / 624 pages
Price (US dollars):
$85 per user


Over the years Notes has steadily evolved along with Domino Designer to build applications that ran in Notes as well as those that Domino served up to browsers and handheld devices.

Things changed radically when Notes 8 Standard Configuration was retooled as a plugin to the Eclipse Rich Client Platform. Situating Notes inside the extensible Eclipse container enabled the addition of the sidebar with its plugin applications such as Sametime Contacts, Lotus Symphony, and the integration of components from a variety of data sources and technologies (including Lotus Notes Pages, Forms, and Views) by Composite Applications.

Version 8.5 represented a revolutionary change for Domino Designer when it too was retooled to run under Eclipse. Notes application developers could take advantage of the more robust Eclipse Integrated Development Environment tools including code editors, code compare, and search across multiple design elements.

But there was another monumental shift with version 8.5, the addition of XPages and the accompanying Themes, Server JavaScript Library, and Custom Control design elements. XPages were used to create Web 2.0-enabled applications that could create and display data from Domino documents and display values from Domino Views. Continuing the revolution today, Notes 8.5.1 can display XPages, and XPages can be converted into components that can be used in Composite Applications.

Although many new Web applications will be built using XPages, there continues to be a demand for the design and support of “classic Notes applications” that use traditional design elements such as Pages, Forms, and Views. While not as new-tech as Composite Applications and XPages, classic Notes applications are versatile in that they run in previous versions of Notes and in Notes Basic Configuration clients, in the Eclipse-based Notes Standard Configuration, and their design elements can be surfaced in Composite Applications. With a little work and especially with the use of Dojo widgets, these same classic applications can be easily adapted to run on the Web without the architectural “rip and replace” that XPages require.

Note: 99% of the content of this course is the same as our Lotus Domino Designer 8: Basic Notes Applications course, rewritten to run in the new Eclipse-based Domino Designer. If you already have the Basic Notes Applications course, our free Lotus Domino Designer 8.5: User Interface course will get you up to speed with Eclipse based Domino Designer.

Course goals

This course will teach you how to:

  • decide which applications are appropriate for Notes and how “Notes classic applications” can be structured to accomplish their objectives
  • create a new database on your local hard drive and create a replica of the database on the Domino Server
  • use Domino Designer to build a simple classic Notes application that is stored on and shared by a Domino server and run by Notes
  • design applications using Pages, Forms, Fields, Views, Framesets, Outlines, Actions, and Agents
  • use the formula, LotusScript, and JavaScript languages to validate data entry and give action to the application
  • 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 elements, code, and resources
  • use Templates to create new databases using your design and Master Templates to centralize your code changes
  • rollout a new application in 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.5+ 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 offered by wareSource.


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 Applications and Databases 

Notes as an Eclipse plugin
Notes database structure
Compatibility with older and newer versions
Composite Applications
Designer experience
Programming languages
Start Domino Designer
Store database on Local drive or on Domino
Server security controls new and replica database creation
Create new database
Exercise: Create a new database
Copy an existing database
How/where applications are executed

Domino Designer Quick Tour 

Perspective and Eclipse Views
Customize Eclipse Views
Customize and save a Perspective
Exercise: Create a Classic Domino Designer Perspective
Add and remove applications from Eclipse Applications View
Eclipse Applications View sorting
Open mode preference
Working Sets of applications
Help System

Application Access Control List and Properties 

Database Access Control List
Exercise: Database ACL
Database/Application Properties
Exercise: Set Application properties
Design element locking

2 Forms to Create Documents Form Basics 

What is a Form?
The Form is not the document
Form designer concerns
Create a new Form
Form design panes
Save the design element
Test the Form
Exercise: Create and test new Form
Form design list
Form properties

Fields on the Form 

Purpose of Fields
Field versus Item
Add Field
Edit existing Field
Copy and paste Fields
Text properties
Field properties
Commonly used 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
Multiple Editor View tabs

View Columns 

Add View columns
Column properties Info tab
First 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
Select documents using Simple Search
Conditions options
Select documents using a 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 index size and performance concerns
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
Exercise: Create Frameset
Special target names
Notes-only Frame features

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
Static text list of 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 Inherit Values 

Why inherit data?
Enable 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
Example ACL Entries
Add users to the ACL
Acceptable ACL Entries
Standard settings
User Type
Conflicting/overlapping access
Explicit versus Effective 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
Document 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
Full Access Administration mode access to protected documents
Readers/Authors Fields interaction
Empty Authors and Readers fields
Authors and Readers fields and Adminp
Author access and replication
Determining user access
Determining user role membership
Signed documents

Sections and 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 with the Form
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 MaintenanceDatabase Rollout 

Rollout checklist
Application properties
Notes client ECLs and signatures
Re-sign the design
User manually changes the ECL
Enforcing standard ECLs
Mail-In Database document
Testing cycles
Mitigate performance problems
Create archive of design
Design Synopsis
Edit DXL of design elements
DXL Code Compare
Verify ACL
Server and Domain-wide ACL management
Exercise: Application Catalog
Verify Server document
Copy database to Domino Server
Create replicas
Encrypt databases
Full Text/Domain Search Indexes
Application Library
Create Application Library
Exercise: Publish application
Notify Users
Monitor database use 

Update Agents 

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

Shared Elements and 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 Elements/Code and performance
Shared Elements and Code from other databases
Shared Element and Code caveats


Templates versus Master Templates
Create a new database using a Template
Create a Template from a .NSF
Second use for a Template
Default ACL settings in a Template
Exercise: Create and apply a Template
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
Application Properties that are replaced/refreshed
Master Template strategies
Example: One-to-many
Hide design
Single Copy Template and Design Compression
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