Descripción
En este curso se utilizará Domino Designer 8 para crear una aplicación para clientes Lotus Notes que crea y lee documentos. Se desarrollará la aplicación haciendo uso de los elementos de diseño disponibles en Domino Designer.
Al comenzar el curso se creará una nueva base de datos, y conforme el curso avance, los distintos ejercicios permitirán añadir características a la aplicación.
Cuando la aplicación esté finalizada, se aprenderán los pasos adecuados para ponerla en producción, así como a realizar el mantenimiento de la información y del diseño de la base de datos.
Objetivos
En este curso, se aprende cómo:
Audiencia
Este curso está diseñado para programadores que no conocen Domino Designer 8 pero que tienen:
Este curso hace uso de las herramientas WYSIWYG de Domino Designer y sólo comenta los lenguajes de programación utilizados en Domino Designer, por lo que un perfil de programador no es necesario.
Duración
La duración del curso es de 4 jornadas
Esquema
1 Getting Started with Domino Designer
Notes Databases
Notes database structure
Composite Applications
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
Designer Bookmarks
Add tools to Domino Designer
Adjunct programming tools
Database Access Control List
Exercise: Database ACL
Database properties
Exercise: Set Database properties
Design element locking
How/where applications are executed
Backward compatibility with previous versions
2 Forms to Create Documents
Form Basics
What is a Form?
The 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
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
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 Domino
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
Embedded Outline properties Info tab
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
Enforce Consistent ACL
Enforce Consistent ACL and new replicas, new copies
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 Application
onHelp and HelpRequest events
Field-level help
Enable instant spell check
Text popup
Formula popup
Hotspots
Link Hotspot
Action Hotspot
Remove a Hotspot
Image maps
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
Agent list
Agents and security
How formulas operate in update Agents
Trigger: Running the Agent from the menu
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 a 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