Lotus Domino Designer 8: Basic Notes Applications

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:

  • decidir qué aplicaciones son apropiadas para Lotus Notes y cómo las aplicaciones Lotus Notes pueden ser estructuradas para cumplir sus objetivos
  • utilizar Domino Designer 8 para construir una aplicación básica que se ejecuta en un servidor Domino y es utilizada por clientes Notes
  • diseñar aplicaciones utilizando páginas, formularios, vistas, marcos, esquemas, acciones y agentes
  • trabajar con el lenguaje de fórmulas, LotusScript y JavaScript
  • establecer las relaciones entre documentos a través de la herencia de información y una jerarquía de documentos respuesta
  • hacer segura la aplicación asignando los derechos de usuario y roles en la base de datos, formulario y vista y listas de control de acceso
  • mejorar el aspecto de formularios y páginas haciendo uso de CSS y añadir ayuda general y sensible al contexto
  • crear vistas estándar y de calendario que muestren la información de los documentos
  • realizar sistemas de navegación y control fáciles de utilizar por los usuarios
  • utilizar elementos de diseño compartidos, incluyendo recursos compartidos, archivos y código
  • utilizar plantillas para crear nuevas bases de datos, haciendo uso de plantillas maestras para centralizar los cambios en el código
  • desplegar una nueva aplicación en un entorno de producción
  • mantener el diseño y la información de una base de datos
  • describir las diferentes formas de intercambiar información con otros sistemas de bases de datos

Audiencia

Este curso está diseñado para programadores que no conocen Domino Designer 8 pero que tienen:

  • experiencia utilizando el cliente Lotus Notes
  • experiencia con otros lenguajes de programación, o con lenguajes de macros de procesadores de texto u hojas de cálculo.

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