Lotus Training Overview
In this course you will use Domino Designer 7 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.
Lotus Training Learning Objectives
In this course, you will learn how to:
- decide which applications are appropriate for Notes and how Notes applications can be structured to accomplish their objectives
- use Domino Designer 7 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.
Lotus Training Audience
This course is designed for individuals new to Domino Designer but who have:
- significant experience using the Notes 7 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 7 training courses. Follow these paths to master all aspects of developing applications using Domino Designer:
Domino Designer 7: 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 7 Administrators and Developers.
- Specialize in programming Notes applications to respond to built-in user interface features, Domino Designer 7: Special Notes Features.
- Convert an application written for Notes clients to be used in browsers, Domino Designer 7: Basic Browser Applications.
- Provide data to cutting-edge Web applications, Domino Designer 7: 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 7: Formula Language.
- Develop sophisticated applications and Agents with LotusScript in Domino Designer 7: LotusScript.
- Add powerful client-side scripting to browser applications in Domino Designer 7: JavaScript.
Lotus Training Course duration
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.
Lotus Training Course outline
1 Getting Started with Domino Designer
Notes Databases
- Notes database structure
- 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
- Database properties
- Design locking
- Exercise: Set Database properties
- Database Access Control List
- Exercise: Database ACL
- How/where applications are executed
- Backward compatibility with previous versions
Optional Designer Tools
- Designer Bookmarks
- Add tools to Domino Designer
- Adjunct programming tools
- WebDAV
2 Forms to Create Documents
Form Basics
- What is a Form?
- 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
- 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
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
- Open 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
- Two 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
Folders
- 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 Notes
- Applications right for Notes
- Application structure options
- Default structure
- Increasing detail
- Linear progression
- Random access
Actions
- 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
Pages
- 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
- 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
Framesets
- 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
- NEWENTRY_REQUEST
- 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
- Roles
- Create and assign a role
- Exercise: Define ACL and roles
- Set Administration Server
- Local ACL enforcement
- Enforce Consistent ACL
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
- @Name
- Determining user access
- @Author
- Determining user role membership
- Signed documents
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
- 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
- Pictures
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 Database
- onHelp and HelpRequest events
- Field-level help
- Text popup
- Formula popup
- Hotspots
- Link Hotspot
- Action Hotspot
- Removing a Hotspot
- Image maps
- Document Links
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
- Librarians
- Create Database Library
- Exercise: Publish application
- Notify Users
- Monitor database use
Update Agents
- Agent categories
- Four components of every Agent
- Create new Agent
- Agents and security
- How formulas operate in update Agents
- Trigger: Running the Agent from the menu
- Trigger: Running an Agent from the browser
- 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
- 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 Code and performance
- Sharing design elements from other databases
- Shared design element caveats
Templates
- Templates versus Master Templates
- Create a new database using a Template
- Create a Template
- Second use for a Template
- Default ACL settings in 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
- One-to-many
- Example: One-to-many
- One-to-one
- Many-to-one
- Hide design
- Single Copy Template
- SCT facts
- Configure Single Copy Template
- 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
|