R5 Application Development 2 for Notes and Domino
Course Code: R5AD2
Course Title: R5 Application Development 2 for Notes and Domino
Units: 12
Duration: 3 classroom equivalent days
Discussion Access: 3 months1

1. Up to 12 months access when purchased as part of a Curriculum Package.

Summary Description

This course covers advanced R5 Notes and Domino development and design techniques. The opening module covers factors that impact the order of execution of field formulas. This course also covers techniques for using list concatenation and list functions, and presents advanced list manipulation techniques - including dynamic tables. Other topics include functions and techniques for retrieving data and applications for user profile documents. This course presents and demonstrates the full Domino security model starting from the top-level server security, working through database and document security, and ending with field level security. The security modules also cover several new workstation security features, including ECLs. This course covers the integration of Notes mail into your applications, the use of the Workflow Design Template, and design techniques for workflow applications. Design management topics include creating and using master design templates, using a design synopsis and hiding the design of a database. The course material is supported by numerous real-world demonstrations and effective student activities.

This course will prepare you for the R5 Application Security and Workflow certification exam, the second of three exams required for a R5 CLP Application Developer.

Audience and Prerequisites

The recommended prerequisites are:

  • R5 Application Development 1 course or equivalent experience


System Requirements

A single R5 Domino Designer client is required to use this course. Unrestricted access to the Internet is required to get instructor support.

Course Modules

Module 1 - Events & Document States & 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. Module 1 covers Notes objects, events, document states and the document state functions. Module 1 also discusses factors that impact the order of execution of field formulas.

Module 2 - Working with Lists and Dynamic Tables

The Notes formula Language provides many functions that operate on lists of values. Other functions provide specific list manipulation capabilities. One powerful set of list manipulation techniques is to allow a user to add, modify, and delete items in a dynamic table. As it is both common and useful to present information in a tabular format, there are many applications for these list manipulation techniques. Module 2 covers the basics of list concatenation, list manipulation functions, and advanced list manipulation techniques - including dynamic tables.

Module 3 - Data Lookups and Profile Documents

Module 3 covers functions and techniques that you can use to lookup and retrieve data. @DBColumn and @DBLookup are featured in this module. Techniques for fast data lookups are demonstrated and used. Other topics include using the @PickList function to present names or a custom dialog window and using user profile documents to track user specific information.

Module 4 - Domino Security

Module 4 describes the Domino Security Model and discusses the security features that Notes administrators primarily control on the Notes servers and client workstations. Module 4 presents this material in an order that is based on the Domino Security Model.

Module 5 - Database Security

Module 5 covers the security features that you, as a Domino developer, can build into your Domino applications. It continues our coverage of Domino Security by focusing on those features that apply to Domino databases. This module presents material, demonstrations, and activities for each of the security tools available for Domino databases and discusses the techniques for applying these tools. The material continues in the order of the Domino Security Model, starting with the database Access Control List, working through database and document security, and ending with field-level security.

Module 6 - Workflow Techniques

Module 6 provides in-depth coverage of how Notes mail works and how to integrate mail into your Notes workflow applications. Module 6 also describes and demonstrates several useful workflow design techniques and introduces a Workflow Design Template, which you can use to design and develop a workflow application.

Module 7 - Design Management

Module 7 discusses several design-management tools and techniques. It describes and demonstrates how to create and use a Master Design Template, how to hide the design of a database, and how to generate a design synopsis.

Objectives

  • Understand Object Event Programming and how it is used 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 document states and the document state functions.
  • Understand the impact of placement, field type and document state on the order of field formula execution.
  • Define and demonstrate lists and list manipulation.
  • Use the list operator to concatenate or add a value to a list.
  • Distinguish between pair-wise and permutation list operations.
  • Use a permutation addition to generate a large list of numbers.
  • Describe and demonstrate these list functions: @Explode, @Implode, @IsMember, @IsNotMember, @Replace and @Unique.
  • Describe and use the @Elements, @Member and @Subset list manipulation functions.
  • Describe and use list manipulation techniques to provide a user interface to add, change and delete items in a dynamic table.
  • Describe and demonstrate how the @DBColumn function can be used to return a column of data from a view.
  • Describe and demonstrate how the @DBLookup function can be used to return information from a view that matches a specified lookup key.
  • Describe the view requirements to support @DBLookup.
  • Demonstrate and use techniques to neutralize the server and path when retrieving information from another database.
  • Demonstrate and use techniques for fast data lookups.
  • Describe and demonstrate how the @PickList function can be used to return information from a view presented to a user in a dialog window.
  • Describe and demonstrate how the @PickList function can be used to return information from the Names dialog.
  • Describe User Profile Documents and demonstrate their use.
  • Describe and use the Profile Document Functions.
  • 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.
  • Learn about File protection documents.
  • Learn about Directory and Database links.
  • Understand the security features that control agents on Domino servers.
  • Learn how to restrict what programs can download on a Notes Client workstation.
  • 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.
  • Understand and use the different database ACL levels.
  • Learn how to define and use roles to deliver access and function privileges to defined groups of users in an application.
  • Learn how to control access to the agents in your databases.
  • Understand how to control access to forms and views.
  • Understand how to restrict who can read certain documents.
  • Understand how to restrict who can edit certain documents.
  • Learn how to control who can edit a part of a document.
  • Learn how to encrypt fields and create encryption keys.
  • Understand how to control the editing of certain fields.
  • Define Designer Templates and Master Design Templates and describe their use.
  • Describe the Domino design task and how to manually update the design of a database.
  • Show how you can exclude individual design elements from design updates.
  • Create and use a Master Design Template.
  • Hide the design of a database and assess the impact of a hidden design.
  • Create and use a design synopsis.