DD851 – Classic Domino Notes Application Development

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.

Duur cursus: 4 dagen
Kosten cursus: Vraag offerte aan.
Kosten cursusmateriaal: 150,- euro per deelnemer, exclusief 21% BTW.
Locatie: On-site
Maximaal aantal curisten: 6
Startdatum: n.v.t.
Offerte aanvragen: info@appligate.nl
Bijzonderheden: Cursusmateriaal kan ook gebruikt worden als zelfstudie materiaal


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.

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.


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
  • XPages
  • 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
  • Auto-completion
  • 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 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
  • Roles
  • 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
  • @Name
  • Determining user access
  • @Author
  • Determining user role membership
  • Signed documents

Sections and Controlled Access Sections

  • 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
  • Layers
  • Tables
  • 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
  • Images

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
  • Hotspots
  • Link Hotspot
  • Action Hotspot
  • Remove a Hotspot
  • Image maps

10 Application Rollout and Maintenance

Database 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
  • Librarians
  • 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

  • Subforms
  • 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
  • One-to-many
  • Example: One-to-many
  • One-to-one
  • Many-to-one
  • Hide design
  • Single Copy Template and Design Compression
  • Where to do your design work
  • Template auditing

Data Exchange

  • Requirements
  • 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

Geef een reactie

Vul je gegevens in of klik op een icoon om in te loggen.

WordPress.com logo

Je reageert onder je WordPress.com account. Log uit /  Bijwerken )

Google photo

Je reageert onder je Google account. Log uit /  Bijwerken )


Je reageert onder je Twitter account. Log uit /  Bijwerken )

Facebook foto

Je reageert onder je Facebook account. Log uit /  Bijwerken )

Verbinden met %s

%d bloggers liken dit: