Notes Domino 9 Application Development 2
Units: 16
Duration: 4 classroom equivalent days
Discussion Access: 12 months

Summary Description
Become an expert Domino developer and get certified with this comprehensive distance learning course. Take a deep dive into how Notes and Domino really work and learn to develop complex workflow applications which are secure and have a great user interface! This course will teach you how to take advantage of Domino's event oriented architecture for databases, views and forms. Use list processing to work with lists and build a cool dynamic table. Learn how to use Domino's many tools to lookup data in both Notes and relational databases with profile documents, @DbColumn, @DbLookup, DECS and DCR. The complete Domino security model is presented from top to bottom including access control lists, controlling agents, encryption, server controls and much more. Learn how to use Notes and Domino's integrated tools to develop workflow applications which route documents and e-mails automatically. Dive into Domino's architecture and learn the relationships between documents and design elements like forms. Speed up your applications with many performance enhancing techniques!
As with all TLCC's courses, this course is taken at your own pace and place. You will be amazed at how much is covered in this course but will be confident in your new skills after applying what you have learned completing the many integrated activities in the course.
This course will also help prepare you for the required exams to be certified as an IBM Certified Application Developer - Notes and Domino 9.

Audience and Prerequisites
The recommended prerequisites are:
  • TLCC's Notes Domino 9 Application Development 1 course or equivalent experience

System Requirements
A single Notes 9 and Domino Designer 9 client. Access to the Internet is required to get instructor support.

Course Modules

Module 1 - Events, Document States, and Formula Execution
As a Domino developer, it is important to understand the events that trigger the execution of formulas and the order in which they occur. This module covers Notes objects, events, document states and the document state functions.
  • Understand Object Event Programming in Notes
  • Describe and use the Notes database object and its events
  • Describe and use the Notes view object and its events
  • Describe and use the Notes form object and its events
  • Understand the different states a document can be in and how to program for them
  • Understand the impact of placement, field type and document state on your application

Module 2 - Working with Lists and Dynamic Tables
The Notes formula Language provides many functions that operate on lists of values. One practical and powerful way to use lists is to allow a user to add, modify, and delete items in a dynamic table. This module covers the basics of list concatenation, list manipulation functions, and advanced list manipulation techniques including dynamic tables.
  • Learn what lists are and how to use them in your application
  • Use the List Subscript Operator to access an element in a list
  • Use the list operator to concatenate or add a value to a list
  • Use both pair-wise and permutation list operators
  • Use permutation addition to generate a large list of numbers
  • Use these list functions in your applications: @Explode, @Implode, @IsMember, @IsNotMember, @Replace and @Unique
  • Sort the elements in a list using @Sort
  • Perform a pair-wise comparison of two lists using @Compare
  • Apply a transformation formula to a list using @Transform and @Nothing
  • Use @Elements, @Member, @Subset and @Count to manipulate lists
  • Use list manipulation techniques to provide a easy to use interface to add, change and delete items in a dynamic table

Module 3 - Accessing Data
This module covers functions and techniques to lookup and retrieve data from both Notes and relational data sources. Learn how to use @DbColumn and @DbLookup. Techniques for speeding up data lookups are demonstrated and used. Other topics include using the @PickList function to present names or custom dialog windows and using user profile documents to track user specific information. Connect to external data resources using DECS and DCRs.
  • Use the @DbColumn function to return a column of data from a view
  • Use the @DbLookup function to return information from a view that matches a specified lookup key
  • Develop views which support @DbLookup and @DbColumn
  • Neutralize the server and path when retrieving information from another database
  • Design views and formulas to support fast data lookups
  • Access non-Notes data from relational databases with @DbColumn, @DbLookup, and @DbCommand
  • Use the @PickList function to return information from a view presented to a user in a dialog window
  • Use the @PickList function to return information from the Names dialog
  • Learn how to store data in User Profile Documents
  • Embed OLE objects in a form
  • Use Domino Enterprise Connection Services (DECS) to access relational data
  • Enable virtual fields using a Data Connection Resource (DCR)

Module 4 - Domino Security
Domino provides a full and robust set of security tools. The challenge is to know all of the many security tools, the inter-relationships between those tools, and the appropriate techniques to secure an application. Modules 4 and 5 of this course address this challenge by presenting material, demonstrations, and activities for each of the security tools provided in the Domino product in an order that is based on the Domino Security Model.
This module describes the Domino Security Model and discusses the security features that are primarily controlled by a Notes administrator, but must be understood to develop a secure application.
  • Understand the role that the Domino Directory plays in Domino security
  • Understand the layers of the Notes Security Model
  • Learn how user and server authentication works in the Notes environment
  • Understand how Domino servers provide anonymous access over the internet
  • Learn how name and password authentication works over the internet
  • Learn how SSL authentication works over the internet
  • Understand the server access control lists in the Server document
  • Create File protection documents
  • Create Directory and Database links
  • Understand the security features that control agents on Domino servers
  • Use agent security to control whom can execute agents on the server and what they can do
  • Learn how to use Execution Control Lists to enhance security on the Notes Client workstation
  • Learn how to encrypt databases on the Notes Client workstation

Module 5 - Database Security
This module continues the coverage of Domino Security by focusing on security at the database level. Each of the security tools available is taught, demonstrated and then reinforced using an activity. The lessons are presented in the same order as the Domino Security Model starting with the database Access Control List, working through database and document security, and ending with field-level security.
  • Use the different database ACL levels to control access to a database
  • Use roles to define users and deliver access privileges in an application
  • Control access to the agents in your application
  • Control access to forms and views
  • Restrict who can edit certain documents
  • Restrict who can read certain documents
  • Control who can edit a part of a document
  • Control the editing of certain fields
  • Encrypt fields and create encryption keys

Module 6 - Workflow Techniques
A Workflow application is the automation of a business process. Domino is well suited for the development of workflow applications because of its shared object store and integrated mail capabilities. This module provides in-depth coverage of how Notes mail works and how to integrate mail into your Notes workflow applications. This module also describes and demonstrates several useful workflow design techniques and introduces a Workflow Design Template to assist you in designing a workflow application.
  • Define workflow applications and learn why Domino is well suited for their development
  • List the common characteristics of workflow applications
  • Integrate mail into your workflow applications
  • List the requirements to mail a document to a Notes database
  • Create a mail-in database document
  • Describe the Share Model and Send Model for workflow and list the advantages and disadvantages of each model
  • Learn the different techniques to mail any document
  • Use special fields to control the mailing of documents
  • Use the @MailSend function to generate mail notifications
  • Use the Workflow Design Template to plan the design of a workflow application
  • Use workflow design techniques to create a workflow application

Module 7 - Advanced View and Design Techniques
In this Module you will learn how to design different types of views including Shared, Private on First Use views and Calendar views. This module also describes how to design views which are programmed to change the color of view columns or to hide view columns. You will learn how to use the InViewEdit view event to enable document editing and document creation directly in a view. You will also learn how to use the many column and view formatting options to control the appearance of views. Improve the use of forms by using embedded editors and enable auto saving of documents.
  • Use the different view types including Shared, Private on First Use views and Calendar views
  • Learn the commands to control the format and display of Calendar Views
  • Hide view columns based on a formula
  • Set text and background column colors based on a formula
  • Allow a user to set their own color preferences in a view
  • Create and use custom view column icons
  • Customize the expand and collapse twisties
  • Enable in-view document editing and in-view document creation
  • Embed a view into a document, page, or form
  • Embed one or more forms into a container form
  • Create right click menus to enable users to right-click on a document in a view and run an action
  • Enable auto saving of documents
  • Extend a column to use the available window width

Module 8 - Design Management and Application Architecture
In this module you will learn about the Domino database structure and compare the traditional design of relational databases with the architecture of a Notes database. The architecture of Domino is explored including details on accessing and using note identifiers, understanding the relationship between form notes and document notes, and how Notes determines which form to use when displaying a document. You will also learn to enable document and design element locking to avoid replication and save conflicts. Methods for improving view performance are discussed. Understand how replication works and the effect on a database's design.
  • Understand the structure and internal components of a Domino database
  • Understand the common structure of each note within a database
  • Understand the identifiers that Notes assigns to each note in a database
  • Access and use the note identifiers
  • Understand the various items that can exist in different types of notes
  • Understand the relationship between forms and documents
  • Learn several ways to control the form that Notes uses to display documents
  • Enable document locking
  • Programmatically lock a document
  • Avoid design conflicts among team members by using Design Element Locking
  • Learn different techniques to improve Notes View performance
  • Understand what replication is and how it works