
Lotus Training Overview
During this course you will thoroughly explore the use of Domino Designer to create applications used by Notes clients and Web browsers. Almost every aspect of application planning, design, security, and testing is covered in this thorough introduction to Domino Designer.
Lotus Training Learning Objectives
In this course, you will learn how to:
Lotus Training Audience
This course is designed for individuals new to Domino Designer but who have:
This course only introduces the programming languages used in Domino Designer, and does not require a strong programming background.
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. Most training centers allocate five days to cover this material.
Lotus Training 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.
Lotus Training Course outline
| Topic 1: Domino as an Application Server | |
| Application Server requirements Designer metaphor How applications are executed Client-side code execution Programming languages Event-driven language Adjunct programming tools | |
| Topic 2: Create Database using Domino Designer | |
| Self-contained design Three ways to start Designer Create new database Server access rights Advanced Database Options Database properties Using database templates How designs are automatically maintained Database access rights Exercise: Create new database Domino Designer quick tour Designer Panes Autocompletion Search and replace Programmers Pane properties Saving the design element Test the code Exercise: Database/Bookmark Icon Designer Bookmarks Designer Tools | |
| Topic 3: Application Architecture | |
| Application types Applications "right" for Notes Application structure options Increasing detail Linear process Random access Data source User Interface One design, two clients Designing for both clients Required design changes to support both clients Backward compatibility with previous versions Course project | |
| Topic 4: Design Pages | |
| Serving static HTML What is a design Page? Create Page Page properties Exercise: Create Pages Hotspots Link Hotspot Exercise: Link to named element Computed URL Links for browsers Doclink Links Removing a Hotspot Hotspot button Action Hotspot Rollover images Image maps Page events Exercise: Add window titles | |
| Topic 5: Database Launch Options | |
| Default database launch property for Notes clients Default database launch property for browsers Control database launch Database Postopen event for Notes clients Exercise: Database Launch | |
| Topic 6: Page Contents | |
| Orientation Import HTML Insert HTML Shared Resource Pass-Thru HTML Cascading Style Sheets CSS attributes of objects Adding a Style Sheet Formatted text Layers Table type Nested tables Create table Exercise: Add content to Pages Sections Pictures Shared Image Resources Image resource properties Exercise: Shared Image Resources | |
| Topic 7: Computed Page Contents | |
| Hide When Example Hide When formulas Text pop-up Formula pop-up Computed Text Exercise: Computed Text | |
| Topic 8: Forms | |
| When to use Forms instead of Pages Form is not the document Design Form Designer concerns Exercise: Design new Form Form properties Form Name Cascaded Form names Accelerator key assignment Other Form Info tab properties Defaults tab Launch tab Form Background tab Exercise: Form properties Non-scrolling header Features that browsers don't support Exercise: Form layout | |
| Topic 9: Fields | |
| Purpose of Fields Add Field Edit existing Field Text properties Field properties Data types and Field types Control tab Advanced tab Exercise: Add Fields to Product Form Input width for "Native OS Style" Fields Standard Fields Internal Field names Field names with built-in functionality Example of reserved Field name: SaveOptions Example reserved field: Form Shared Fields Add Shared Field to Form Work with Shared Fields | |
| Topic 10: List Field Properties | |
| Where the choices come from Static text list Keyword synonyms Formula-based lists Example lookup Name lookups View lookup Checkbox and Radio button options Exercise: Field Format and Lists Refresh on change | |
| Topic 11: Rich Text Field Properties | |
| Rich Text Fields Rich Text Field properties Interoperability warning Exercise: Modify Body Field Rich Text Lite Exercise: Modify Picture Field Attach files from browser Detach attached files Delete attached files Display image in browser | |
| Topic 12: Form Actions | |
| Limitations with Form navigation Inherent Notes client capabilities Actions or Hotspots--which to use? Using @Command Cross-client @Commands Differences between Notes and browsers Action Pane Working in the Action Pane Create Action Action Bar properties Using HTML or Java applet Action with Children System Actions Shared Actions Hidden Actions Exercise: Form navigation using Actions Syntax guidelines Simple actions | |
| Topic 13: Views | |
| View Characteristics View restrictions Browsers and Views Folders versus Views View updates View size Create View View Name Other Create View properties Ascertaining the View type Customize Exercise: Add Views | |
| Topic 14: View Properties | |
| View properties box Style tab Advanced tab Exercise: Change View properties Views and performance | |
| Topic 15: View Column Formulas | |
| Adding View columns Understand the data Column options Simple Function Field name Formulas Example formulas Special View functions Document statistics Column totals | |
| Topic 16: View Column Properties | |
| Open Column properties box Column Info tab Sorting tab Format tabs Exercise: Column Formulas and Properties Exercise: Create AllDocs view Advanced tab: Column name Advanced tab: Hide column Advanced tab: Web links Quick Search | |
| Topic 17: View Actions | |
| Appropriate View Actions Exercise: View Actions | |
| Topic 18: View Selection Formulas | |
| Search Builder selection Conditions options Select by formula Time-based selections Select by user name Normalizing names Select by document property Selection by exclusion "Fuzzy" selections (Not Categorized) documents Exercise: Selection Formulas Exercise: Sales Rep view Exercise: Publish status View | |
| Topic 19: Embedded Views | |
| Embedded View How to embed a View Single category view Exercise: Single Category View Change the look of all Views for Browsers Template View override | |
| Topic 20: Calendar Views | |
| Calendar features Create a calendar View Style tab Font tab Calendar Format Two types of entries Defining the columns Exercise: Calendar View | |
| Topic 21: Data Grid Views | |
| View properties View-level edit caveats Enabling cell edits Column programmatic name Inviewedit event code NEWENTRY_REQUEST Cycling through allowable values Exercise: Create Inventory data grid | |
| Topic 22: Framesets | |
| Default window environment What are Frames? Framesets? Create Frameset Assign Frame content Example Frameset What usually goes in the Frames Linking frames together Special targets Special Frame names Hand coding Framesets Exercise: Framing the application | |
| Topic 23: Outline Controls | |
| Default Outline Custom Outline Create an Outline Step 1: Create Outline Step 2: Embed Outline Info tab properties Font tab properties Background tab properties Layout tab properties Look and Feel #1: Plain Look and Feel #2: Color menu bars Look and Feel #3: Same graphic Look and Feel #4: Different graphics Border tab properties Exercise: Create and Embed Outline Special entries | |
| Topic 24: Form Programming for Notes Clients | |
| Form flow Form processing for Notes client Field type and related events When formulas compute Exercise: Investigate Field formulas Entering formulas Programming rules What Field formulas contain @Function syntax Debugging Field formulas Default Value formula Input Translation event Input Validation event Computed formula Exercise: Add Field formulas Field onBlur event Field onBlur using Javascript Language choice for Field operations | |
| Topic 25: Form Programming for Browsers | |
| Form processing for browsers Exercise: Investigate Field formulas in browser WebQueryOpen Agent Field behavior Field validation using Formulas Dual-client validation formulas Submit response using $$Return Field Open a Page or Form after the submit Useful @functions Purpose of the WebQuerySave Agent Create WebQuerySave Agent Referencing the current document To save or not to save? Print statements Exercise: WebQuerySave Agent Web Agent errors Custom error pages for users | |
| Topic 26: Form Performance | |
| General Form performance Notes client advantages Browser Form performance Unsupported features on browsers Resources | |
| Topic 27: Field Data Inheritance | |
| Why inherit data? Configuring inheritance Using inheritance Inheriting data across databases Browser exceptions Exercise: Inherit data | |
| Topic 28: Response Documents | |
| Three types of documents Designing Response documents @Commands to create Response documents Response with reference URL to create Response document Viewing Response documents Designing a hierarchical View Selecting Response documents in a View Common columns Responses only column Responses only column formula Indicating Response documents in a View Exercise: Response documents | |
| Topic 29: Authentication and User Names | |
| Security model General observations Register Notes users Register browser users Added browser security Force browser authentication Authentication process Anonymous users Distinguished Names "Authenticated Name" Alternate name Domino Administrator Responsibilities Developer responsibilities | |
| Topic 30: Access Control List | |
| Access Control List ACL Entries Add users to the ACL Acceptable ACL Entries Standard settings User Type Maximum Internet name & password access Special rights Roles Create and assign a role Enforce local security Exercise: Define ACL and roles | |
| Topic 31: Form, View, and Document Security | |
| Form security View security Exercise: Design element access Name storage @UserName and data type Authors Fields 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 Exercise: Refining access | |
| Topic 32: Controlled Access Sections | |
| Controlled access sections refine authorship Define controlled access section Controlled access sections and security Controlled access sections and signed Fields | |
| Topic 33: Field Security | |
| Editor access to update Example: Editor access to update When to encrypt Fields Task 1: Create the Secret Key Task 2: Distribute the key Task 3: Enable the Field(s) for encryption Task 4: Associate the key Encryption caveats Changing/ removing encryption | |
| Topic 34: Shared Resources | |
| Using shared resources Inheriting a shared resource design | |
| Topic 35: Programmed Table Row Display | |
| Computed table rows versus Hide When Programming the table row display Exercise: Ratings as stars | |
| Topic 36: Subforms and Embedded Editors | |
| Subforms Subform examples Create Subform Exercise: Create Subform Computed Subforms Example: Computed Subform Insert a computed Subform Exercise: Computed Subform Exercise: Fixing a small navigation problem Embedded Editors | |
| Topic 37: Update Agents | |
| Agent categories Four components of every Agent Create new Agent Agents run On event trigger Agents run On schedule trigger How Formulas operate in Update Agents Agent storage Agent execution rights 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 operations Examples: Field and Document-related Actions Exercise: Fix values for existing documents | |
| Topic 38: Mailing Documents | |
| Characteristics of mail-enabled applications Mail mechanisms SendTo value Mailing to a person in your Notes domain Mailing to a person in another Notes domain Mailing through gateways Mailing to a group Name spoofing Mailing to a mail-in database User mail environment Mail triggers Trigger 1: Form property Mailed documents become new documents Trigger 2: MailOptions field Mail-related fields SaveOptions field Other useful fields Ensure documents are mailed once Trigger 3: @Command([MailSend]) Trigger 4: @MailSend without arguments Exercise: @MailSend without arguments @MailSend and scheduled Agents Trigger 5: @MailSend with parameters Exercise: @MailSend with parameters Trigger 6: Notes Mail memo Three mail-enabled models Model 1: Document routing Resolving duplicate documents Model 2: Duty/status change notification Model 3: Hybrid model | |
| Topic 39: Document Deletions | |
| Soft deletions Step 1: Database soft deletions property Step 2: Create Deletions View Step 3: Create the Restore and Purge Agents Step 4: Create the Actions in the Deletions View Using the SoftDeletions View Exercise: Soft Deletions View Soft deletions and security | |
| Topic 40: Full Text Search | |
| Create full text index Full text index properties Exercise: Create Index Limitations of Full Text Search Enable multi-database search Searching multi database indexes Server configuration for Domain Search | |
| Topic 41: Database Rollout | |
| Add Form Window titles About/Using This Database Set Database properties Verify ACL Notes client ECLs and signatures Re-sign the design Manually change the ECL Enforcing standard ECLs Copy database to Domino Server Database Catalog and Domain Catalog Libraries Librarians Create library Exercise: Publish application Notify Users | |
| Topic 42: Design Maintenance | |
| Creating a Database Template Using a Database Template Default ACL settings Exercise: Database Templates Design administration Create a Design Template Template Manager Entire database refresh Specific design element refresh Blocking design element refresh/replace Copy and paste design elements Manual design refresh Exercise: Design Templates Hide design Design template strategies One-to-many One-to-one Example: One to one Many-to-one Where to work Design Synopsis FORMS.NTF | |