Topic 1: Using the Formula Language
Programming languages used in Domino
Advantages of the formula language
Object model programming
Where to use formula language
Event code interplay
Formula results
Ancillary event triggers
Exercise: Formula return values quiz
Exercise: Printer-friendly display I
Topic 2: Variable and Field Assignment
Valid variable and Field names
Temporary variables
Self-referential Field events
Get Field values
Set Field values
Appending temporary variable and Field values
Formula context
Reserved and internal Field names
Exercise: Printer-friendly display II
Topic 3: Formula Toolbox
Matching and equivalence
String matching
String parsing
String replacement
Random number
Time/date functions
Data type conversion
Exercise: Data type conversion
Data testing
DEFAULT keyword
Topic 4: Multi-Value Variables and Fields
What is a multi-value list?
Multi-value functions
Converting single-value list to multi-value list
Converting a multi-value list to a single-value list
Element count
Selecting a value from the list
Exercise: @Subset and @Implode
Pair-wise and Permutation operators
Determining if a value is in the list
Replacing an item in the list
Minimum and maximum value
Compare ASCII values
Sort a list
Summing a list
Exercise: Summing numbers
Date range
Dynamic tables
Looping functions
@For loop
Reuse temporary variables
@While loop
Exercise: @While
@DoWhile loop
@Transform
@Nothing
Topic 5: Conditional Evaluation
Single @If with multiple conditions
Multiple actions using @Do
Aborting execution with @Return
Multiple @If statements
Conditional save and mail send
Conditional evaluation based on document state
Exercise: Document state
Conditional evaluation based on user identity
Exercise: User rights
Topic 6: Data Inheritance
Configuring inheritance
Inheritance caveats
Conditional inheritance
Exercise: Inheritance
Requiring inheritance
Disallowing pasted documents
Inheriting Rich Text
"Inheritance" across databases
Topic 7: Database Lookup
@NameLookup
@Db function overview
Where to use lookup functions
Lookups and security
@DbColumn Function
Static Field lists
External Field lists
Exercise: @DbColumn
@DbLookup function
@DbLookup parameters using Notes
Error trapping
Exercise: @DbLookup
Creating unique keys
Multiple return values
Document refresh issue
Limiting lookups
Overcoming the size limits
General lookup performance tips
Topic 8: Document Relationships
When to use Response documents
Designing Response documents
Creating response documents
Response document internals
Creating the response hierarchy after the fact
ComposeWithReference
ComposeWithReference flags
Another way to relate documents
Primary key relationship
Field reference by document UNID
Exercise: Document ID relationship
Lookup versus direct Field reference
One-to-many relationships
Updating related documents
"Doclink" to parent
Topic 9: Well-Known Locations
Well-known location techniques
Local NOTES.INI access
Environment function syntax
Environment restrictions
Environment read/set sequence
Exercise: Environment variable
Reading the Windows Registry
Lookups
Profile documents
Profile documents and security
Create Profile document
Write to Profile document Fields
Read from Profile document Fields
[NoPersist] option
Exercise: Profile document
Topic 10: User Prompts
@StatusBar
Where to call prompts and picklists
Using the data from prompts and picklists
@Prompt syntax
Password prompt
Directories
File prompts
Exercise: @Prompt
@PickList syntax
Exercise: Picklist
Limitations of prompts and picklists
Execution by temporary variables
Preview pane caveat
Where to call @Dialogbox
@DialogBox syntax
@Dialogbox caveats
Button types
Exercise: Dialog box
Optional dialog box keywords
Which dialog box to use?